No.151-HackTheBox-Linux-CTF-Walkthrough渗透学习

**

HackTheBox-Linux-CTF-Walkthrough

**

靶机地址:https://www.hackthebox.eu/home/machines/profile/172
靶机难度:高级(5.0/10)
靶机发布日期:2019年5月27日
靶机描述:
CTF is an insane difficulty Linux box with a web application using LDAP based authentication. The application is vulnerable to LDAP injection but due to character blacklisting the payloads need to be double URL encoded. After enumeration, a token string is found, which is obtained using boolean injection. Using the token an OTP can be generated, which allows for execution of commands. After establishing a foothold, a cron can be exploited to gain sensitive information.

作者:大余
时间:2020-06-28

请注意:对于所有这些计算机,我是通过平台授权允许情况进行渗透的。我将使用Kali Linux作为解决该HTB的攻击者机器。这里使用的技术仅用于学习教育目的,如果列出的技术用于其他任何目标,我概不负责。

一、信息收集

No.151-HackTheBox-Linux-CTF-Walkthrough渗透学习_第1张图片
可以看到靶机的IP是10.10.10.122…
No.151-HackTheBox-Linux-CTF-Walkthrough渗透学习_第2张图片
nmap发现仅开放了apache和ssh服务…
No.151-HackTheBox-Linux-CTF-Walkthrough渗透学习_第3张图片
这里也讲解了,无法使用dirbuster,sqlmap等进行爆破和盲注进行渗透…
No.151-HackTheBox-Linux-CTF-Walkthrough渗透学习_第4张图片
访问web页面的login这是登录页面…
No.151-HackTheBox-Linux-CTF-Walkthrough渗透学习_第5张图片
在HTML的前端代码中看到了提示…
提示了类型是OTP…
意思是:登录页面首先检查用户名,如果正确,则随后检查一次性密码(OTP)。通常,OTP有4位,6位和8位格式
从绿色字面意思听起来很像是轻量级目录访问协议(LDAP)…并且如何处理具有81位数字的令牌字符串?
Google搜索表明,具有81位数字的令牌字符串是一种称为压缩令牌格式(CTF)设置的软件令牌传送方法…
No.151-HackTheBox-Linux-CTF-Walkthrough渗透学习_第6张图片
通过枚举发现,错误的用户名提示:User admin not found
No.151-HackTheBox-Linux-CTF-Walkthrough渗透学习_第7张图片
正确的用户名提示:Cannot login
No.151-HackTheBox-Linux-CTF-Walkthrough渗透学习_第8张图片
通过ldap盲注后,找到了双URL注入会提示Cannot login…
通过google搜索,发现了seclists中有user_ldap的库,直接利用wfuzz枚举到了正确的用户名…
No.151-HackTheBox-Linux-CTF-Walkthrough渗透学习_第9张图片
通过google,我找到了CTF专门获得完整81位令牌的方法,以逐个的泄漏数字,直到获得完整的81位令牌字符串为止…
.sh在google很多,方法也很多…
获得了81位完整的令牌字符串…
下一步要生成TOP,需要利用到stoken…
No.151-HackTheBox-Linux-CTF-Walkthrough渗透学习_第10张图片
首先要输入OTP令牌,需要知道靶机的时间,靶机的时间是GMT,北京时间是CST…
需要修改本地的时间,否则令牌还是失效的…
百度可以看到时间差的区别…只需要查看到靶机的时间往上加八个小时即可…
No.151-HackTheBox-Linux-CTF-Walkthrough渗透学习_第11张图片
通过查看到靶机上的时间,这里可以在burpsuit拦截后,可查看到Date时间…我通过命令查询了…
02+8=10,将时间修改为10点即可…然后通过stoken,pin为0000,获得八位OTP令牌…

No.151-HackTheBox-Linux-CTF-Walkthrough渗透学习_第12张图片
输入后,获得了CMD权限栏,但是查询后,提示需要root或者admin权限才可以执行命令…
No.151-HackTheBox-Linux-CTF-Walkthrough渗透学习_第13张图片
这里利用双重URL进行ldap的二阶注入,配合上OTP令牌…
No.151-HackTheBox-Linux-CTF-Walkthrough渗透学习_第14张图片
成功绕过…获得了cmd权限…简单shell提权把
No.151-HackTheBox-Linux-CTF-Walkthrough渗透学习_第15张图片
简单的shell…这里限制了端口,我用了443…
No.151-HackTheBox-Linux-CTF-Walkthrough渗透学习_第16张图片
获得了简单外壳后,无法TTY…但是查看html中login.php发现了重要信息…
No.151-HackTheBox-Linux-CTF-Walkthrough渗透学习_第17张图片
在该php前端代码中,获得了ldapuser的SSH登陆密码…
No.151-HackTheBox-Linux-CTF-Walkthrough渗透学习_第18张图片
成功登陆,并获得了user_flag信息…
No.151-HackTheBox-Linux-CTF-Walkthrough渗透学习_第19张图片
继续枚举,发现了蜜罐…
该密码重要的意思是:
1、正在备份文件内容,并从/var/www/html/uploads中删除文件,并且每分钟更新error.log信息…
2、该命令7za a backup.zip -t7z @listfile.txt会将所有以.zip 结尾的文件添加到/backup中backup.7z…如果该命令在列表文件中找不到该文件,它将发出诊断消息,例如警告和/或错误消息到stderr…

如果tail -f /backup/error.log在外壳中运行,我们可以捕获7za被截断之前发送的诊断消息,所以可以通过7za创建以下文件并创建到的符号链接来诱骗诊断/root/root.txt的信息…可以在本地进行,也可以在靶机中进行…
No.151-HackTheBox-Linux-CTF-Walkthrough渗透学习_第20张图片
发现ssh权限无法读取和执行uploads内的文件…这是apache权限才可以执行,回到简单的外壳中…
No.151-HackTheBox-Linux-CTF-Walkthrough渗透学习_第21张图片
命令:

touch @dayu
ln -s /root/root.txt /var/www/html/uploads/dayu
tail -f error.log

回到简单的外壳中进行,创建并软连接root_flag内容…过了一分钟后,获得了flag信息…
在靶机内执行的坏处是,每隔1分钟后,会自动删除uploads中的所有内容…

这台靶难点挺多,用户名枚举–ldap盲注以及绕过–蜜罐解读等等

由于我们已经成功得到root权限查看user和root.txt,因此完成这台高级的靶机,希望你们喜欢这台机器,请继续关注大余后期会有更多具有挑战性的机器,一起练习学习。

如果你有其他的方法,欢迎留言。要是有写错了的地方,请你一定要告诉我。要是你觉得这篇博客写的还不错,欢迎分享给身边的人。

在这里插入图片描述

你可能感兴趣的:(Hack,The,box)