mdit.no


GoAD Write-up – Rekognosering

Photo by William Bayreuther on Unsplash @wbayreuther

Game of Active Directory del 1 – Rekognosering

Forord: Denne bloggserien viser reelle metoder angripere bruker for å bevege seg inn i, og ta over et AD miljø. All denne informasjonen er allerede offentlig tilgjengelig, og deles ikke for å gi grunnkurs i nettkriminalitet, men for å spre kunnskap om hvorfor vi må beskytte oss. Du må kun benytte disse verktøyene, metodene og prosedyrene i miljøer der du har fått eksplisitt samtykke av eier til å gjøre dette.

Miljøet ble satt opp på IP range 10.3.2.0/24, og jeg vet at de fikk IPer i range .10.23 dermed vet jeg at jeg kan fokusere på kartlegging i den addresseserien.

Fordi dette er en lab jeg kontrollerer selv, og den er skapt for å være sårbar, så bryr jeg meg ikke om å være usynlig.


NMAP

Noe av det aller første man ønsker å gjøre er å finne ut hva som er tilstede på nettverket, og hvilke tjenester som kjøres på disse boksene. I den sammenheng bruker jeg NMAP.

$ nmap -sC -sV 10.3.2.10-30       
Starting Nmap 7.95 ( https://nmap.org ) at 2025-08-25 12:21 EDT

Vi ser 5 verter på nettverket:

  • 10.3.2.10, 10.3.2.11, 10.3.2.12 (DCer)
  • 10.3.2.22, 10.3.2.23 (Andre servere)

Vi ser en del saftig informasjon på f.eks verten 10.3.2.22:

Nmap scan report for 10.3.2.22
Host is up (0.0036s latency).
Not shown: 995 filtered tcp ports (no-response)
PORT     STATE SERVICE       VERSION
135/tcp  open  msrpc         Microsoft Windows RPC
445/tcp  open  microsoft-ds?
3389/tcp open  ms-wbt-server Microsoft Terminal Services
|_ssl-date: 2025-08-25T16:22:19+00:00; -1m23s from scanner time.
| ssl-cert: Subject: commonName=castelblack.north.sevenkingdoms.local
| Not valid before: 2025-08-18T18:25:00
|_Not valid after:  2026-02-17T18:25:00
5985/tcp open  http          Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-server-header: Microsoft-HTTPAPI/2.0
|_http-title: Not Found
5986/tcp open  ssl/http      Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_ssl-date: 2025-08-25T16:22:19+00:00; -1m23s from scanner time.
| ssl-cert: Subject: commonName=VAGRANT
| Subject Alternative Name: DNS:VAGRANT, DNS:vagrant
| Not valid before: 2025-08-18T09:10:58
|_Not valid after:  2028-08-17T09:10:58
|_http-server-header: Microsoft-HTTPAPI/2.0
| tls-alpn: 
|_  http/1.1
|_http-title: Not Found
MAC Address: 00:0C:29:B4:8E:7B (VMware)
Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows

Vi kan se at bl.a. portene 135/tcp (RPC Mapper), 445/tcp (SMB), 3389/tcp (Remote Desktop), og 5985/tcp (WinRM) er åpne på verten 10.3.2.22

Legg også merke til SSL-Cert subject: castelblack.north.sevenkingdoms.local, dette kan være relevant informasjon, da det gir oss øyeblikkelige hint om domenestruktur og vertsnavn.


Enum4linux

Vi tester verktøyet enum4linux for å se om vi kan finne noe mer spennende på noen av serverene. Winterfell.north.sevenkingdoms.local gir oss mye informasjon.

Legg særlig merke til domeneinformasjon, brukerliste og passordpolicy.

Domeneinformasjon:

 ==================================( Getting domain SID for 10.3.2.11 )==================================

Domain Name: NORTH
Domain Sid: S-1-5-21-88918170-2512471535-2376777965

[+] Host is part of a domain (not a workgroup) 

Brukerliste:

 =========================================( Users on 10.3.2.11 )=========================================
                                                                                                                                                                       
index: 0x18ac RID: 0x456 acb: 0x00000210 Account: arya.stark    Name: (null)    Desc: Arya Stark                                                                       
index: 0x18bc RID: 0x45b acb: 0x00010210 Account: brandon.stark Name: (null)    Desc: Brandon Stark
index: 0x16f5 RID: 0x1f5 acb: 0x00000215 Account: Guest Name: (null)    Desc: Built-in account for guest access to the computer/domain
index: 0x18c0 RID: 0x45d acb: 0x00000210 Account: hodor Name: (null)    Desc: Brainless Giant
index: 0x18c6 RID: 0x460 acb: 0x00000210 Account: jeor.mormont  Name: (null)    Desc: Jeor Mormont
index: 0x18c3 RID: 0x45e acb: 0x00040210 Account: jon.snow      Name: (null)    Desc: Jon Snow
index: 0x18bf RID: 0x45c acb: 0x00000210 Account: rickon.stark  Name: (null)    Desc: Rickon Stark
index: 0x18c4 RID: 0x45f acb: 0x00000210 Account: samwell.tarly Name: (null)    Desc: Samwell Tarly (Password : Heartsbane)
index: 0x18bb RID: 0x45a acb: 0x00000210 Account: sansa.stark   Name: (null)    Desc: Sansa Stark
index: 0x18c9 RID: 0x461 acb: 0x00000210 Account: sql_svc       Name: (null)    Desc: sql service

Passordpolicy:

 =============================( Password Policy Information for 10.3.2.11 )=============================
                                                                                                                                                                     
                                                                                                                                                                       

[+] Attaching to 10.3.2.11 using a NULL share

[+] Trying protocol 139/SMB...

        [!] Protocol failed: Cannot request session (Called Name:10.3.2.11)

[+] Trying protocol 445/SMB...

[+] Found domain(s):

        [+] NORTH
        [+] Builtin

[+] Password Info for Domain: NORTH

        [+] Minimum password length: 5
        [+] Password history length: 24
        [+] Maximum password age: 311 days 2 minutes 
        [+] Password Complexity Flags: 000000

                [+] Domain Refuse Password Change: 0
                [+] Domain Password Store Cleartext: 0
                [+] Domain Password Lockout Admins: 0
                [+] Domain Password No Clear Change: 0
                [+] Domain Password No Anon Change: 0
                [+] Domain Password Complex: 0

        [+] Minimum password age: 1 day 4 minutes 
        [+] Reset Account Lockout Counter: 5 minutes 
        [+] Locked Account Duration: 5 minutes 
        [+] Account Lockout Threshold: 5
        [+] Forced Log off Time: Not Set



[+] Retieved partial password policy with rpcclient:                                                                                                                   
                                                                                                                                                                       
                                                                                                                                                                       
Password Complexity: Disabled                                                                                                                                      
Minimum Password Length: 5

Med disse opplysningene har vi en liste med brukere i NORTH\ og opplysninger om at det er mulig å ha passord som er helt nede i 5 tegn lengde, og at de ikke har noen kompleksitetskrav. Vi har også fått beskjed om at passordet til Samwell Tarly er ‘Heartsbane’.


Netexec

Jeg ser om jeg kan finne noen tilgjengelige fileshares på området med netexec, som har i økende grad begynt å erstatte crackmapexec.

Her benytter jeg spesifikt smb modulen i netexec, og spesifiserer brukernavn “Guest” og et blankt passord for å se om gjestetilgang er tillatt. Dette gjør jeg for å vise at vi kan hente informasjon selv før vi har funnet brukernavn/passord i denne laben.

$ netexec smb --shares 10.3.2.10-30 -u "" -p ""                                                 
SMB         10.3.2.11       445    WINTERFELL       [*] Windows 10 / Server 2019 Build 17763 x64 (name:WINTERFELL) (domain:north.sevenkingdoms.local) (signing:True) (SMBv1:False)
SMB         10.3.2.10       445    KINGSLANDING     [*] Windows 10 / Server 2019 Build 17763 x64 (name:KINGSLANDING) (domain:sevenkingdoms.local) (signing:True) (SMBv1:False)
SMB         10.3.2.22       445    CASTELBLACK      [*] Windows 10 / Server 2019 Build 17763 x64 (name:CASTELBLACK) (domain:north.sevenkingdoms.local) (signing:False) (SMBv1:False)
SMB         10.3.2.23       445    BRAAVOS          [*] Windows 10 / Server 2016 Build 14393 x64 (name:BRAAVOS) (domain:essos.local) (signing:False) (SMBv1:True) 
SMB         10.3.2.12       445    MEEREEN          [*] Windows 10 / Server 2016 Build 14393 x64 (name:MEEREEN) (domain:essos.local) (signing:True) (SMBv1:True) 
SMB         10.3.2.11       445    WINTERFELL       [+] north.sevenkingdoms.local\: 
SMB         10.3.2.11       445    WINTERFELL       [-] Error enumerating shares: STATUS_ACCESS_DENIED
SMB         10.3.2.10       445    KINGSLANDING     [+] sevenkingdoms.local\: 
SMB         10.3.2.10       445    KINGSLANDING     [-] Error enumerating shares: STATUS_ACCESS_DENIED
SMB         10.3.2.22       445    CASTELBLACK      [-] north.sevenkingdoms.local\: STATUS_ACCESS_DENIED 
SMB         10.3.2.22       445    CASTELBLACK      [-] Error enumerating shares: Error occurs while reading from remote(104)
SMB         10.3.2.23       445    BRAAVOS          [-] essos.local\: STATUS_ACCESS_DENIED 
SMB         10.3.2.23       445    BRAAVOS          [-] Error enumerating shares: Error occurs while reading from remote(104)
SMB         10.3.2.12       445    MEEREEN          [+] essos.local\: 
SMB         10.3.2.12       445    MEEREEN          [-] Error enumerating shares: STATUS_ACCESS_DENIED
Running nxc against 21 targets ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00

Vi har lokalisert /all filesharen på både CASTELBLACK og BRAAVOS serverene. Kanskje vi kan finne noe spennende der? Vi ser også at Braavos og Castelblack ikke krever SMB Signing, og at både Braavos og Meereen støtter SMBv1.


/etc/hosts

Vi oppdaterer /etc/hosts med informasjon samlet fra enum4linux og netexec:

10.3.2.10       kingslanding.sevenkingdoms.local
10.3.2.11       winterfell.north.sevenkingdoms.local
10.3.2.12       meereen.essos.local
10.3.2.22       castelblack.north.sevenkingdoms.local
10.3.2.23       braavos.essos.local

SMBClient

Vi benytter den samme gjestetilgangen for å undersøke om det ligger noe spennende på /all sharen på castelblack.

$ smbclient //castelblack.north.sevenkingdoms.local/All -U "Guest" -p ""                  
Password for [WORKGROUP\Guest]:
Try "help" to get a list of possible commands.
smb: \> ls
  .                                   D        0  Fri Sep 12 23:00:26 2025
  ..                                  D        0  Fri Sep 12 23:00:26 2025
  arya.txt                            A      413  Thu Sep 11 15:08:15 2025

                15638527 blocks of size 4096. 7807683 blocks available
smb: \> get arya.txt
getting file \arya.txt of size 413 as arya.txt (26.9 KiloBytes/sec) (average 26.9 KiloBytes/sec)

Vi oppdaget et dokument som heter arya.txt – dette kan være interessant, så vi laster det ned og ser på innholdet.

$ cat arya.txt  
Subject: Quick Departure

Hey Arya,

I hope this message finds you well. Something urgent has come up, and I have to leave for a while. Don't worry; I'll be back soon.

I left a little surprise for you in your room  the sword You've named "Needle." It felt fitting, given your skills. Take care of it, and it'll take care of you.

I'll explain everything when I return. Until then, stay sharp, sis.

Best,
John

Som vi ser er det et potensielt passordhint i dokumentet. “Needle”. Dette kan være nyttig i fremtiden.

I neste del tar vi for oss “initial access”, som handler om hvordan vi får vårt første fotfeste i miljøet.