
Newcomers
Welcome to Active Directory! This page is designed for beginners and those with limited experience in Active Directory environments - including individuals familiar with entry-level certifications like the OSCP.
A small installation guide is available here if you need help installing some essential tools.
Support
If you've read through this guide, and are facing an issue - feel free to reach out to anyone on the team at the conference!
We have @gatari (Zavier), @Sora (Jun Yu), @Gladiator (Cher Boon) and a couple of others physically on-site!
Connection
In contrast to our Off-By-One 2025 CTF, where participants simulated remote testing via SSH access to a networked physical device, this time you'll be on-site and directly connected to the environment through our access point.
The connection information is available at rules, once connected - you'll be able to access the first set of machines.
If you're ever having issues with clock skewing, run the following:
sudo timedatectl set-ntp false
sudo ntpdate PALACE-DC.jess.kingdom
Getting Started
To kick things off, we’ll start with basic enumeration and cover the initial steps you might take, regardless of the lab environment. The given scope is: 10.3.10.0/24
and 10.3.20.0/24
. We can use nxc
to fingerprint the hosts that are reachable. However, keep in mind that due to network segmentation and firewalls present in the environment, the results may not reflect all machines on the network.
nxc smb 10.3.10.0/24
SMB 10.3.10.21 445 ALCHEMIST-KEEP [*] Windows Server 2022 Build 20348 x64 (name:ALCHEMIST-KEEP) (domain:jess.kingdom) (signing:False) (SMBv1:False)
SMB 10.3.10.11 445 KNIGHT-HALL [*] Windows Server 2022 Build 20348 x64 (name:KNIGHT-HALL) (domain:jess.kingdom) (signing:False) (SMBv1:False)
SMB 10.3.10.31 445 MYSTIC-SANCTUM [*] Windows Server 2022 Build 20348 x64 (name:MYSTIC-SANCTUM) (domain:jess.kingdom) (signing:False) (SMBv1:False)
SMB 10.3.10.41 445 TABULARIUM [*] Windows Server 2022 Build 20348 x64 (name:TABULARIUM) (domain:jess.kingdom) (signing:False) (SMBv1:False)
nxc smb 10.3.20.0/24
SMB 10.3.20.31 445 PALACE-DC [*] Windows Server 2022 Build 20348 x64 (name:PALACE-DC) (domain:jess.kingdom) (signing:True) (SMBv1:False)
With the above results, we can create a hosts file to map the domain. If you are unsure about the importance of host files, do refer to this guide: here.
10.3.10.11 KNIGHT-HALL.jess.kingdom KNIGHT-HALL
10.3.10.31 MYSTIC-SANCTUM.jess.kingdom MYSTIC-SANCTUM
10.3.10.21 ALCHEMIST-KEEP.jess.kingdom ALCHEMIST-KEEP
10.3.10.41 TABULARIUM.jess.kingdom TABULARIUM
10.3.20.31 PALACE-DC.jess.kingdom jess.kingdom PALACE-DC
It’s also a good practice to maintain a targets.txt
file containing all reachable hosts from your current foothold. This should be a newline-delimited list of IP addresses representing each accessible machine.
nxc smb targets.txt
SMB 10.3.10.21 445 ALCHEMIST-KEEP [*] Windows Server 2022 Build 20348 x64 (name:ALCHEMIST-KEEP) (domain:jess.kingdom) (signing:False) (SMBv1:False)
SMB 10.3.10.41 445 TABULARIUM [*] Windows Server 2022 Build 20348 x64 (name:TABULARIUM) (domain:jess.kingdom) (signing:False) (SMBv1:False)
SMB 10.3.10.31 445 MYSTIC-SANCTUM [*] Windows Server 2022 Build 20348 x64 (name:MYSTIC-SANCTUM) (domain:jess.kingdom) (signing:False) (SMBv1:False)
SMB 10.3.10.11 445 KNIGHT-HALL [*] Windows Server 2022 Build 20348 x64 (name:KNIGHT-HALL) (domain:jess.kingdom) (signing:False) (SMBv1:False)
SMB 10.3.20.31 445 PALACE-DC [*] Windows Server 2022 Build 20348 x64 (name:PALACE-DC) (domain:jess.kingdom) (signing:True) (SMBv1:False)
Running nxc against 5 targets ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00
The given scenario is an assumed breach, we can use the given credentials to enumerate shares on the domain:
nxc smb targets.txt -u 'Kael_Riven' -p 'reggina' --shares
SMB 10.3.10.11 445 KNIGHT-HALL [*] Windows Server 2022 Build 20348 x64 (name:KNIGHT-HALL) (domain:jess.kingdom) (signing:False) (SMBv1:False)
SMB 10.3.10.31 445 MYSTIC-SANCTUM [*] Windows Server 2022 Build 20348 x64 (name:MYSTIC-SANCTUM) (domain:jess.kingdom) (signing:False) (SMBv1:False)
SMB 10.3.20.31 445 PALACE-DC [*] Windows Server 2022 Build 20348 x64 (name:PALACE-DC) (domain:jess.kingdom) (signing:True) (SMBv1:False)
SMB 10.3.10.41 445 TABULARIUM [*] Windows Server 2022 Build 20348 x64 (name:TABULARIUM) (domain:jess.kingdom) (signing:False) (SMBv1:False)
SMB 10.3.10.21 445 ALCHEMIST-KEEP [*] Windows Server 2022 Build 20348 x64 (name:ALCHEMIST-KEEP) (domain:jess.kingdom) (signing:False) (SMBv1:False)
SMB 10.3.10.11 445 KNIGHT-HALL [+] jess.kingdom\Kael_Riven:reggina
SMB 10.3.10.11 445 KNIGHT-HALL [*] Enumerated shares
SMB 10.3.10.11 445 KNIGHT-HALL Share Permissions Remark
SMB 10.3.10.11 445 KNIGHT-HALL ----- ----------- ------
SMB 10.3.10.11 445 KNIGHT-HALL ADMIN$ Remote Admin
SMB 10.3.10.11 445 KNIGHT-HALL C$ Default share
SMB 10.3.10.11 445 KNIGHT-HALL IPC$ READ Remote IPC
SMB 10.3.10.31 445 MYSTIC-SANCTUM [+] jess.kingdom\Kael_Riven:reggina
SMB 10.3.20.31 445 PALACE-DC [+] jess.kingdom\Kael_Riven:reggina
SMB 10.3.10.31 445 MYSTIC-SANCTUM [*] Enumerated shares
SMB 10.3.10.31 445 MYSTIC-SANCTUM Share Permissions Remark
SMB 10.3.10.31 445 MYSTIC-SANCTUM ----- ----------- ------
SMB 10.3.10.31 445 MYSTIC-SANCTUM ADMIN$ Remote Admin
SMB 10.3.10.31 445 MYSTIC-SANCTUM C$ Default share
SMB 10.3.10.31 445 MYSTIC-SANCTUM IPC$ READ Remote IPC
SMB 10.3.10.41 445 TABULARIUM [+] jess.kingdom\Kael_Riven:reggina
SMB 10.3.10.41 445 TABULARIUM [*] Enumerated shares
SMB 10.3.10.41 445 TABULARIUM Share Permissions Remark
SMB 10.3.10.41 445 TABULARIUM ----- ----------- ------
SMB 10.3.10.41 445 TABULARIUM ADMIN$ Remote Admin
SMB 10.3.10.41 445 TABULARIUM C$ Default share
SMB 10.3.10.41 445 TABULARIUM IPC$ READ Remote IPC
SMB 10.3.10.21 445 ALCHEMIST-KEEP [+] jess.kingdom\Kael_Riven:reggina
SMB 10.3.20.31 445 PALACE-DC [*] Enumerated shares
SMB 10.3.20.31 445 PALACE-DC Share Permissions Remark
SMB 10.3.20.31 445 PALACE-DC ----- ----------- ------
SMB 10.3.20.31 445 PALACE-DC ADMIN$ Remote Admin
SMB 10.3.20.31 445 PALACE-DC C$ Default share
SMB 10.3.20.31 445 PALACE-DC CertEnroll READ Active Directory Certificate Services share
SMB 10.3.20.31 445 PALACE-DC IPC$ READ Remote IPC
SMB 10.3.20.31 445 PALACE-DC NETLOGON READ Logon server share
SMB 10.3.20.31 445 PALACE-DC SYSVOL READ Logon server share
SMB 10.3.10.21 445 ALCHEMIST-KEEP [*] Enumerated shares
SMB 10.3.10.21 445 ALCHEMIST-KEEP Share Permissions Remark
SMB 10.3.10.21 445 ALCHEMIST-KEEP ----- ----------- ------
SMB 10.3.10.21 445 ALCHEMIST-KEEP ADMIN$ Remote Admin
SMB 10.3.10.21 445 ALCHEMIST-KEEP C$ Default share
SMB 10.3.10.21 445 ALCHEMIST-KEEP ElixirVault ElixirVault
SMB 10.3.10.21 445 ALCHEMIST-KEEP IPC$ READ Remote IPC
Running nxc against 5 targets ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00
Although we don't have privileged access to any shares, we can identify that there is a non-default share on ALCHEMIST-KEEP
as well as the CertEnroll
share on the DC. This suggests that Active Directory Certificate Services (ADCS) is installed and configured on the Domain Controller.
Kerberos Attacks
Another option that we can try is to look for users with the DoNotRequirePreAuth
flag set, indicating that they are [asreproastable](https://blog.netwrix.com/2022/11/03/cracking_ad_password_with_as_rep_roasting/.
GetNPUsers.py 'jess.kingdom'/'Kael_Riven':'reggina'
Impacket v0.13.0.dev0+20250516.105908.a63c652 - Copyright Fortra, LLC and its affiliated companies
Name MemberOf PasswordLastSet LastLogon UAC
------------------ --------------------------------------------- -------------------------- --------- --------
Marcellus_OBSCURUS CN=PraetoriaUmbra,CN=Users,DC=jess,DC=kingdom 2025-05-21 02:20:57.493405 <never> 0x410200
Alternatively, we can check for users with registered Service Principal Names (SPNs) - as we can request for their Service Ticket (ST) and crack them offline. If they are manually managed (not using gMSA), they may be configured with a weak password.
GetUserSPNs.py 'jess.kingdom'/'Kael_Riven':'reggina'
Impacket v0.13.0.dev0+20250516.105908.a63c652 - Copyright Fortra, LLC and its affiliated companies
ServicePrincipalName Name MemberOf PasswordLastSet LastLogon Delegation
------------------------ ------------- ------------------------------------------- -------------------------- --------- ----------
HTTP/eldric.jess.kingdom Eldric_SQUIRE CN=SilverLegion,CN=Users,DC=jess,DC=kingdom 2025-05-21 02:20:29.117040 <never>
With this initial information, you should be set to begin your journey toward capturing your first flag! For additional guidance, feel free to check out our earlier writeups, which might be helpful for tackling the first few flags.