Firmare in ritardo è una pratica comune per qualsiasi grande azienda. Non fa eccezione il contratto tra Tom Hunter e un negozio di animali online per un robusto penetration test. Era necessario controllare sia il sito che la rete interna, e persino il Wi-Fi operativo.
Non sorprende che le mani si siano affrettate ancor prima che tutte le formalità fossero sistemate. Giusto per scansionare il sito, dopotutto un negozio così noto come "Il Cane dei Baskerville" non farà errori già a questo punto. Dopo un paio di giorni, comunque, è stata recapitata a Tom l'originale firmato del contratto — in quel momento, mentre sorseggiava la terza tazza di caffè, Tom valutava con interesse lo stato dei magazzini dalla sua CMS interna...
Fonte:
Ma purtroppo non riusciva a fare molto nella CMS — gli amministratori del sito avevano bannato l'IP di Tom Hunter. Anche se si sarebbe potuto generare dei bonus sulla carta del negozio e sfamare a buon mercato il suo amato gatto per mesi... "Non questa volta, Dart Sidious", pensò sorridendo Tom. Sarebbe stato altrettanto interessante passare dalla zona del sito web alla rete locale del cliente, ma a quanto pare questi segmenti non sono collegati. Dopotutto, è più comune in aziende molto grandi.
Dopo tutte le formalità, Tom Hunter ha preso in mano l'account VPN fornito e si è diretto verso la rete locale del cliente. L'account era all'interno del dominio Active Directory, quindi era possibile eseguire facilmente un dump di AD e raccogliere tutte le informazioni pubbliche su utenti e macchine di lavoro.
Tom ha avviato l'utility adfind e ha cominciato a inviare richieste LDAP al controller di dominio. Con un filtro sulla classe objectCategory, specificando person come attributo. È tornata una risposta con questa struttura:
dn:CN=Guest,CN=Users,DC=domain,DC=local
>objectClass: top
>objectClass: person
>objectClass: organizationalPerson
>objectClass: user
>cn: Guest
>description: Account integrato per l'accesso degli ospiti al computer o al dominio
>distinguishedName: CN=Guest,CN=Users,DC=domain,DC=local
>instanceType: 4
>whenCreated: 20120228104456.0Z
>whenChanged: 20120228104456.0ZOltre a ciò, c'era molte informazioni utili, ma la cosa più interessante era nel campo >description: >description. Questo è un commento all'account — in pratica, è un posto comodo per conservare appunti insignificanti. Ma gli amministratori del cliente hanno ritenuto che anche le password potessero essere tranquillamente qui. A chi, in fin dei conti, possono interessare tutti questi account di servizio trascurabili? Pertanto, i commenti ricevuti da Tom erano di questo tipo:
Creato dall'Amministratore, 2018.11.16 7po!*VqnNon è necessario essere dei geni per capire a cosa servirà la combinazione alla fine. Restava solo da analizzare il grande file di risposta dal CD per il campo >description: ed ecco qui — 20 coppie di login-password. Inoltre, quasi la metà ha accesso RDP. Non è un cattivo terreno di lancio, è tempo di dividere le forze attaccanti.
Ambiente di rete
Le condivisioni disponibili di 'I Cani dei Baskerville' ricordavano una grande città con tutto il suo caos e imprevedibilità. Con profili user e RDP, Tom Hunter era in questa città un ragazzo povero, ma anche lui ha potuto osservare molto attraverso le scintillanti vetrine della sicurezza.
Parti dei file server, conti contabili e anche gli script associati sono stati resi pubblici. Nelle impostazioni di uno di questi script, Tom ha trovato l'hash MS SQL di un utente. Un po' di magia del brute force, e l'hash dell'utente si è trasformato in una password in plain text. Grazie a John The Ripper e Hashcat.

Questo chiave doveva adattarsi a un qualche baule. Il baule è stato trovato e, inoltre, era collegato ad altri dieci «bauli». Dentro sei si trovavano... i diritti di superutente, il sistema nt authority! Su due di essi è stato possibile eseguire la stored procedure xp_cmdshell e inviare comandi cmd a Windows. Cosa si potrebbe desiderare di più?
Domain Controller
Il secondo colpo che Tom Hunter ha preparato per i domain controller. Nella rete dei «Cani di Baskerville» ce n'erano tre, in linea con il numero di server geograficamente remoti. Ogni domain controller ha una cartella pubblica, proprio come una vetrina aperta in un negozio, davanti alla quale si aggira sempre lo stesso povero ragazzo Tom.
E anche questa volta il ragazzo è stato fortunato: hanno dimenticato di rimuovere dalla vetrina lo script, dove era hardcoded la password dell'amministratore del server locale. Così la strada verso il controller di dominio era aperta. Entra, Tom!
Da un cilindro magico è stato estratto , che si è nutrito di alcuni amministratori di dominio. Tom Hunter ha ottenuto accesso a tutte le macchine nella rete locale, e una risata diabolica ha spaventato il gatto dalla poltrona accanto. Questa strada era più corta del previsto.
EternalBlue
Il ricordo di WannaCry e Petya è ancora vivo nelle menti dei pentester, ma alcuni amministratori sembrano aver dimenticato i ransomware nel flusso di altre notizie serali. Tom ha scoperto tre nodi vulnerabili nel protocollo SMB – CVE-2017-0144 o EternalBlue. Questa è la stessa vulnerabilità che ha permesso la diffusione dei ransomware WannaCry e Petya, una vulnerabilità che consente di eseguire codice arbitrario sul nodo. Su uno dei nodi vulnerabili c'era una sessione dell'amministratore di dominio — 'sfruttala e ottieni'. Che dire, il tempo non ha insegnato a tutti.

«Il cane dei Baskerville»
I classici della sicurezza informatica amano ripetere che il punto più debole di qualsiasi sistema è l'essere umano. Hai notato che il titolo qui sopra non corrisponde al nome del negozio? Forse non tutti sono così attenti.
Nel migliore stile dei blockbuster di phishing, Tom Hunter ha registrato un dominio che differisce di una lettera dal dominio 'Cani dei Baskerville'. L'indirizzo email su questo dominio imitava l'indirizzo del servizio di sicurezza informatica del negozio. Per 4 giorni, dalle 16:00 alle 17:00, sono stati inviati 360 messaggi da un indirizzo falso come questo:

Probabilmente, il rilascio massivo delle password dei dipendenti è stato evitato solo dalla loro pigrizia. Su 360 email, solo 61 sono state aperte — il servizio di sicurezza non gode di grande popolarità. Ma da quel punto in poi è stato più semplice.

Pagina di phishing
46 persone hanno cliccato sul link e quasi la metà — 21 dipendenti — non hanno controllato la barra degli indirizzi e hanno tranquillamente inserito le proprie credenziali. Un bel colpo, Tom.

Rete Wi-Fi
Ora non c'era più bisogno di contare sull'aiuto del gatto. Tom Hunter ha caricato alcune attrezzature nel suo vecchio sedan e si è diretto verso l'ufficio dei 'Cani dei Baskerville'. La sua visita non era stata concordata; Tom intendeva testare il Wi-Fi del cliente. Nel parcheggio del centro affari c'erano alcuni posti liberi che rientravano perfettamente nel perimetro della rete target. A quanto pare, il suo limite non era un problema particolarmente pensato — come se gli amministratori avessero semplicemente aggiunto ulteriori punti in risposta a qualsiasi lamentela riguardo a un Wi-Fi scarso.
Come funziona la protezione WPA/WPA2 PSK? La crittografia tra il punto di accesso e i clienti è garantita da una chiave di sessione preliminare — Pairwise Transient Key (PTK). Il PTK utilizza una Pre-Shared Key e altri cinque parametri — SSID, Authenticator Nounce (ANounce), Supplicant Nounce (SNounce), e gli indirizzi MAC del punto di accesso e del cliente. Tom ha catturato tutti e cinque i parametri, e ora mancava solo la Pre-Shared Key.

L'utility Hashcat ha riportato questo anello mancante in circa 50 minuti — e il nostro eroe si è trovato nella rete guest. Da lì, si poteva già vedere la rete lavorativa — sorprendentemente, Tom è riuscito a decifrare la password in circa nove minuti. E tutto questo senza lasciare il parcheggio, senza alcun VPN. La rete lavorativa apriva al nostro eroe spazi per attività mostruose, ma lui… non ha mai caricato bonus sulla carta del negozio.
Tom ha fatto una pausa, ha guardato l'orologio, ha lasciato un paio di banconote sul tavolo e, dopo aver salutato, è uscito dal caffè. Forse un altro pentest, o forse ha pensato a qualcosa di diverso... ha pensato di scrivere…
Fonte: habr.com
