先nmap一下:
从http入手,在网页源码中发现一段base64编码:
解码后获得: /noteforkingfish.txt
访问该文件,发现是一段Ook加密:
在线解密得到(https://www.splitbrain.org/services/ook):
my man, i know you are new but you should know how to use host file to reach our secret location. -eric
得到提示,需要利用host file文件
在网站的页面上我们找到了域名driftingblues.box:
那么先在/etc/hosts中添加192.168.190.162 driftingblues.box
然后进行子域名暴力破解:
gobuster vhost -u driftingblues.box -w /usr/share/dirbuster/wordlists/directory-list-2.3-small.txt
重新修改/etc/hosts,将之前添加的改为192.168.190.162 test.driftingblues.box,然后再后访问test.driftingblues.box:
这里的eric有可能是用户名。关于/etc/hosts可以参考:https://www.cnblogs.com/isme-zjh/p/11553165.html
重新dirb http://test.driftingblues.box
在robots.txt中可以看到有一个不让访问的文件/ssh_cred.txt:
访问后得到:
可以看到在这儿提示了我们密码是1mw4ckyyucky加一位数字,那么选用crunch工具生成字典,先选定numeric字符集:
生成字典:
再使用hydra破解ssh登录,得到用户名和密码:
登陆成功:
在当前目录下的user.txt文件中获得了第一个flag:
接下来应该就是想办法提权了。在/var/backups这个备份文件夹中找到一个.sh脚本文件:
可以看到这是一个root的文件:
backup.sh就是用zip命令把/var/www目录下的所有内容打包为/tmp/backup.zip,然后sudo /tmp/emergency
的确在/tmp中找到了这个压缩文件,但是并没有找到emergency:
使用pspy(https://github.com/DominicBreuker/pspy)监听一下进程,发现backup.sh是一个crontab进程:
那么只需要写一个可以提权的/tmp/emergency即可:
将echo "eric ALL=(ALL:ALL) ALL" >> /etc/sudoers写入/tmp/emergency并chmod 777 emergency
等待一分钟后即可提权并获得flag:
结束。
参考:
https://zhuanlan.zhihu.com/p/363096996