渗透测试 | HTB-Heist实战
字数 1825 2025-08-15 21:30:19

HTB-Heist渗透测试实战教学文档

1. 信息收集阶段

1.1 初始扫描

  • 目标IP: 10.10.10.149
  • 初始扫描命令: nmap 10.10.10.149
    • 发现开放端口: 80(HTTP), 135, 445(SMB)

1.2 全面扫描

  • 全端口扫描命令: nmap -A -p- 10.10.10.149
    • 发现额外开放端口: 5985(WinRM)

2. Web应用分析

2.1 80端口分析

  • 发现登录页面,用户名为邮箱格式
  • 尝试SQL注入无果
  • 页面下方有"24x7 support"提示
  • 使用DirBuster爆破目录:
    • 发现目录: /attachment, /js, /css
    • 未识别出特定CMS

2.2 访客登录功能

  • 点击"Login as guest"发现聊天记录
    • 用户Hazard与Support Admin的对话
    • Hazard分享了Cisco路由器配置文件

2.3 附件分析

  • 在/attachment目录发现Cisco配置文件
    • 包含三个加密密码:
      • 1个Type 5密码(不可逆)
      • 2个Type 7密码(可逆)

3. 密码破解

3.1 Type 7密码解密

  • 使用在线工具解密Type 7密码:
    • 解密结果1: $uperP@ssword
    • 解密结果2: Q4)sJu\Y8qz*A3?d

3.2 Type 5密码破解

  • 使用hashcat破解:
    • 命令: hashcat -a 0 -m 500 -O login.txt rockyou.txt --force
    • 破解结果: stealth1agent

4. SMB服务利用

4.1 凭证组合测试

  • 已知用户名: Hazard(来自聊天记录)
  • 成功凭证组合: Hazard/stealth1agent

4.2 SMB枚举

  • 连接命令: smbclient //10.10.10.149/IPC$ -U Hazard%stealth1agent
  • 使用Impacket工具枚举用户:
    • 命令: python lookupsid.py SERVER/Hazard:stealth1agent@10.10.10.149
    • 获取更多用户信息

5. WinRM服务利用

5.1 凭证测试

  • 尝试使用Chase/Q4)sJu\Y8qz*A3?d组合成功

5.2 获取初始shell

  • 使用winrm_shell.rb脚本连接:
require 'winrm-fs'
conn = WinRM::Connection.new(
  endpoint: 'http://10.10.10.149:5985/wsman',
  user: 'Chase',
  password: 'Q4)sJu\Y8qz*A3?d'
)
file_manager = WinRM::FS::FileManager.new(conn)
# 脚本包含文件上传功能

6. 权限提升

6.1 环境分析

  • systeminfo等命令被限制
  • 使用PowerShell命令:
    • Get-Process发现多个Firefox进程

6.2 内存转储

  1. 上传procdump工具:
    • 命令: powershell UPLOAD ~/Tools/Procdump/procdump64.exe C:\Users\Chase\Documents\procdump64.exe
  2. 转储Firefox进程:
    • 命令: powershell ./procdump64 -ma processid --accepteula

6.3 内存分析

  • 使用strings工具分析dmp文件
  • 搜索"password"关键字
  • 发现Support Admin凭证: 4dD!5}x/re8]FBuZ

6.4 获取管理员权限

  • 使用Support Admin凭证通过WinRM登录
  • 成功获取root权限

7. 关键工具总结

  1. 扫描工具:

    • nmap: 端口扫描和服务识别
  2. 密码破解:

    • hashcat: 破解Type 5密码
    • 在线工具: 解密Type 7密码
  3. SMB工具:

    • smbclient: SMB服务连接
    • Impacket的lookupsid.py: 用户枚举
  4. WinRM工具:

    • winrm_shell.rb: 提供交互式shell和文件上传功能
  5. 内存分析:

    • procdump: 进程内存转储
    • strings: 内存字符串提取

8. 学习要点

  1. 信息收集的重要性:

    • 全面扫描发现5985端口是关键转折点
    • 聊天记录中的信息提供了重要线索
  2. 密码类型识别:

    • Cisco设备密码Type 5和Type 7的区别
    • 不同密码类型的破解方法
  3. 横向移动技巧:

    • 通过SMB服务枚举用户
    • 凭证重用攻击
  4. 权限提升思路:

    • 当常规提权方法受限时,考虑应用程序内存中的敏感信息
    • 利用管理员可能通过Web应用登录的行为获取凭证
  5. 工具链使用:

    • 多种工具的组合使用
    • 文件上传在受限环境中的重要性
HTB-Heist渗透测试实战教学文档 1. 信息收集阶段 1.1 初始扫描 目标IP: 10.10.10.149 初始扫描命令: nmap 10.10.10.149 发现开放端口: 80(HTTP), 135, 445(SMB) 1.2 全面扫描 全端口扫描命令: nmap -A -p- 10.10.10.149 发现额外开放端口: 5985(WinRM) 2. Web应用分析 2.1 80端口分析 发现登录页面,用户名为邮箱格式 尝试SQL注入无果 页面下方有"24x7 support"提示 使用DirBuster爆破目录: 发现目录: /attachment, /js, /css 未识别出特定CMS 2.2 访客登录功能 点击"Login as guest"发现聊天记录 用户Hazard与Support Admin的对话 Hazard分享了Cisco路由器配置文件 2.3 附件分析 在/attachment目录发现Cisco配置文件 包含三个加密密码: 1个Type 5密码(不可逆) 2个Type 7密码(可逆) 3. 密码破解 3.1 Type 7密码解密 使用在线工具解密Type 7密码: 解密结果1: $uperP@ssword 解密结果2: Q4)sJu\Y8qz*A3?d 3.2 Type 5密码破解 使用hashcat破解: 命令: hashcat -a 0 -m 500 -O login.txt rockyou.txt --force 破解结果: stealth1agent 4. SMB服务利用 4.1 凭证组合测试 已知用户名: Hazard(来自聊天记录) 成功凭证组合: Hazard/stealth1agent 4.2 SMB枚举 连接命令: smbclient //10.10.10.149/IPC$ -U Hazard%stealth1agent 使用Impacket工具枚举用户: 命令: python lookupsid.py SERVER/Hazard:stealth1agent@10.10.10.149 获取更多用户信息 5. WinRM服务利用 5.1 凭证测试 尝试使用Chase/Q4)sJu\Y8qz* A3?d组合成功 5.2 获取初始shell 使用winrm_ shell.rb脚本连接: 6. 权限提升 6.1 环境分析 systeminfo等命令被限制 使用PowerShell命令: Get-Process 发现多个Firefox进程 6.2 内存转储 上传procdump工具: 命令: powershell UPLOAD ~/Tools/Procdump/procdump64.exe C:\Users\Chase\Documents\procdump64.exe 转储Firefox进程: 命令: powershell ./procdump64 -ma processid --accepteula 6.3 内存分析 使用strings工具分析dmp文件 搜索"password"关键字 发现Support Admin凭证: 4dD!5}x/re8]FBuZ 6.4 获取管理员权限 使用Support Admin凭证通过WinRM登录 成功获取root权限 7. 关键工具总结 扫描工具 : nmap: 端口扫描和服务识别 密码破解 : hashcat: 破解Type 5密码 在线工具: 解密Type 7密码 SMB工具 : smbclient: SMB服务连接 Impacket的lookupsid.py: 用户枚举 WinRM工具 : winrm_ shell.rb: 提供交互式shell和文件上传功能 内存分析 : procdump: 进程内存转储 strings: 内存字符串提取 8. 学习要点 信息收集的重要性 : 全面扫描发现5985端口是关键转折点 聊天记录中的信息提供了重要线索 密码类型识别 : Cisco设备密码Type 5和Type 7的区别 不同密码类型的破解方法 横向移动技巧 : 通过SMB服务枚举用户 凭证重用攻击 权限提升思路 : 当常规提权方法受限时,考虑应用程序内存中的敏感信息 利用管理员可能通过Web应用登录的行为获取凭证 工具链使用 : 多种工具的组合使用 文件上传在受限环境中的重要性