**
HackTheBox-Linux-Safe-Walkthrough
**
¬
靶机地址:https://www.hackthebox.eu/home/machines/profile/199
靶机难度:初级(2.7/10)
靶机发布日期:2019年10月25日
靶机描述:
Safe is an Easy difficulty Linux VM with a vulnerable service running on a port. The binary is found to be vulnerable to buffer overflow, which needs to be exploited through Return Oriented Programming (ROP) to get a shell. The user’s folder contain images and a keepass database which can be cracked using John the ripper to gain the root password.
作者:大余
时间:2020-07-21
请注意:对于所有这些计算机,我是通过平台授权允许情况进行渗透的。我将使用Kali Linux作为解决该HTB的攻击者机器。这里使用的技术仅用于学习教育目的,如果列出的技术用于其他任何目标,我概不负责。
一、信息收集
可以看到靶机的IP是10.10.10.147…
我这里利用Masscan快速的扫描出了22,80端口,在利用nmap详细的扫描了两个端口情况…看图即可
修改hosts还是apache页面…
可以从Web服务器下载在端口1337上运行二进制文件…让我们先下载并分析它…
下载后执行,这是缓冲区溢出了…
测试了下,溢出点在100~200之间…
RELRO-NX已经启动…所以无法执行shellcode…
这里坑了我半天,感觉是我gdb坏了,无法调用peda和gef…删又不会删gdb…郁闷…只能在另外的kali上分析了…
首先找偏移量…
知道了偏移量120…这简单了…继续分析
逆向分析其函数,存在功能是test和main,都存在system()调用中…调用看看
可以看到跳转指令,跳转到寄存器所r13保存的地址…通过将R13设置为system()调用的地址,即可控制…
这里利用POP RDI小工具进行查看到信息存储到正确的寄存器中的位置…
0x0000000000401206: pop r13; pop r14; pop r15; ret
这里可以开始写EXP了…
这里自己琢磨吧,缓冲区写了很多了…
获得了user_flag信息…
利用ssh-key获得稳定的外壳…
这里看到mypassword文件就知道要开始爆破了…将keepass文件下载到本地,下载成功…
使用keepass2john为每个图像生成哈希,我这里做了几次了,直接把最快的密码破解了…
这里可以利用kpcli或者keepass2进行读取底层图片密码…
这里在前面靶机也遇到过,将password藏在IMG图片中…和这个方法环境一样,获得了root密码…
成功登录root用户,并获得了root_flag信息…
熟悉了一遍缓冲区溢出…
由于我们已经成功得到root权限查看user和root.txt,因此完成这台初级的靶机,希望你们喜欢这台机器,请继续关注大余后期会有更多具有挑战性的机器,一起练习学习。
如果你有其他的方法,欢迎留言。要是有写错了的地方,请你一定要告诉我。要是你觉得这篇博客写的还不错,欢迎分享给身边的人。