Hacksudo FOG

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地址:

image-

七、攻略步骤

信息探测

1.因为是没有直接告知我们靶机ip的,所以要先进行主机探测,先查看下kali分配到的ip,在进行网段扫描,命令如下,得到靶机ip为192.168.56.102:

1
ifconfig,查看kali分配到的ip

image-

1
nmap -sP 192.168.56.0/24,扫描靶机ip

image-

2.再进行端口扫描,发现开放了很多端口,访问主页源码中隐藏了一个index1.html:

1
nmap -T4 -sC -sV -p- --min-rate=1000 192.168.56.112 | tee nmapscan,端口扫描

image-

image-

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,目录扫描

image-

image-

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.mp4

image-

2.通过之前的目录扫描,我们发现有cms页面和一个dict.txt文件:

image-

image-

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,查看框架版本

image-

1
python3 cmsmadesimple-exploit.py -u http://192.168.56.112/cms,漏洞利用程序获取见:https://gist.github.com/kriss-u/321f0418778697e2ec919f04664ceb4b

image-

4.知晓了用户名,写入user,可以尝试使用hydra爆破密码,登录FTP:

1
hydra -L user -P dict.txt 192.168.56.112 ftp

image-

FTP登录,提取音频隐藏信息

1.可以使用hacksudo用户FTP登录,获取到第一个flag,即flag1.txt:

image-

image-

2.进入hacksudo_ISRO_bak目录,发现secr3tSteg.zip文件,需要密码,我们用zip2john配合john获得密码:

image-

1
zip2john secr3tSteg.zip >> hash.txt

image-

image-

3.解压得到的hacksudoSTEGNO.wav可以使用SoundStegno进行解密:

1
python3 ExWave.py -f hacksudoSTEGNO.wav

image-

4.根据之前index1.html页源码的提示,需要用到caesar-cipher解密,我们解密这个数据可以得到一个用户名密码,这个用户与密码可用于登录cms后台:

image-

image-

文件上传漏洞GETSHELL

1.进入cms后台的content页,可以上传phtml文件后缀的webshell,这里我们使用kali自带的webshell进行修改后上传:

1
vim /usr/share/webshells/php/php-reverse-shell.php

image-

image-

2.kali开启对应端口监听,触发webshell,利用python生成交互式shell:

1
python3 -c 'import pty; pty.spawn("/bin/bash");'

image-

3.在/var/www目录下能发现第二个flag,即flag2.txt:

image-

初步提权,SSH登录

1.查看具有root权限的suid文件,尝试提权,发现/usr/bin/look:

1
find / -perm -u=s -type f 2>/dev/null

image-

image-

2.通过在https://gtfobins.github.io/上查找发现可以使用look查看具有root权限的文件,则用look查看/etc/shadow可以发现root及isro用户的密码hash,使用john解一下:

image-

image-

image-

3.爆出isro用户密码为qwerty,可以进行ssh登录,然后在目录下查看到user.txt:

image-

root提权

1.我们进入/fog目录下,发现有一个fog文件属主为root,查看不出来,但是执行后与python2.7相关联,则可以通过python进行root提权:

image-

image-

2.在/root目录下的root.txt即是我们需要的最后一个flag:

image-