
Scriviamo regolarmente su come gli hacker si affidano spesso all'uso , per evitare di essere scoperti. Sostanzialmente , usando strumenti standard di Windows, eludendo così antivirus e altre utility di rilevamento di attività malevole. Noi, come difensori, ora dobbiamo affrontare le tristi conseguenze di tali tecniche di hacking astute: un dipendente ben posizionato può usare lo stesso approccio per rubare dati in modo nascosto (proprietà intellettuale dell'azienda, numeri di carte di credito). E se non ha fretta, ma lavora lentamente e silenziosamente, sarà estremamente difficile — ma comunque possibile, se si applica il metodo giusto e gli appropriati , — identificare tale attività.
D'altro canto, non mi piacerebbe demonizzare i dipendenti, perché nessuno vuole lavorare in un ambiente aziendale simile a «1984» di Orwell. Fortunatamente, ci sono una serie di passi pratici e trucchi che possono rendere significativamente più difficile la vita agli insider. Esamineremo metodi di attacco furtivi, utilizzati da hacker e dipendenti con un certo background tecnico. Più avanti discuteremo le opzioni per ridurre tali rischi – esamineremo sia un approccio tecnico che uno organizzativo.
Qual è il problema di PsExec?
Edward Snowden, giustamente o meno, è diventato sinonimo di furto di dati da insider. A proposito, non dimenticate di dare un'occhiata a su altri insider che meritano anche loro una certa notorietà. Vale la pena sottolineare un importantissimo punto sui metodi usati da Snowden: per quanto ne sappiamo, lui non ha installato alcun software malevolo esterno!
Al contrario, Snowden ha applicato un po' di ingegneria sociale e ha utilizzato la sua posizione di amministratore di sistema per raccogliere password e creare credenziali. Niente di complicato – nessun , attacchi o .
I dipendenti delle organizzazioni non si trovano sempre nella posizione unica di Snowden, ma dal concetto di «sopravvivenza con le briciole» si possono estrarre una serie di lezioni importanti: non compiere azioni dannose che possano essere scoperte e prestare particolare attenzione all'uso delle credenziali. Ricorda questo pensiero.
e il suo cugino hanno impressionato un numero innumerevole di pentester, hacker e blogger di sicurezza informatica. E in combinazione con mimikatz, psexec consente agli attaccanti di muoversi all'interno della rete senza la necessità di conoscere la password in chiaro.
Mimikatz intercetta l'hash NTLM dal processo LSASS e poi trasmette il token o le credenziali – il cosiddetto attacco «pass the hash» – in psexec, permettendo all'attaccante di accedere a un altro server come un altro utente. E ad ogni successivo spostamento su un nuovo server, l'attaccante raccoglie ulteriori credenziali, ampliando la gamma delle sue possibilità nella ricerca di contenuti accessibili.
Quando ho iniziato a utilizzare psexec per la prima volta, mi è sembrato quasi magico – grazie a , il geniale sviluppatore di psexec, – ma so anche dei suoi componenti chiassosi. Non è affatto discreto! Il primo fatto interessante su psexec è che utilizza un protocollo di file di rete SMB
di Microsoft estremamente complesso. Utilizzando SMB, psexec trasmette piccoli file binari al sistema target, collocandoli nella cartella C:Windows. Successivamente, psexec crea un servizio Windows utilizzando il binario copiato e lo avvia con un nome estremamente «inaspettato» PSEXECSVC. In questo modo puoi davvero vedere tutto questo, proprio come me, osservando la macchina remota (vedi sotto). Biglietto da visita di Psexec: servizio «PSEXECSVC». Avvia il file binario che è stato collocato tramite SMB nella cartella C:Windows.
Come fase finale, il file binario copiato apre

una connessione RPC
al server target e poi riceve comandi di controllo (di default – tramite la shell cmd di Windows), eseguendoli e reindirizzando input e output sulla macchina domestica dell'attaccante. In questo modo l'attaccante vede una riga di comando di base – la stessa, come se fosse connesso direttamente. Numerosi componenti e un processo molto rumoroso! Numerosi componenti e un processo molto rumoroso!
Un processo molto rumoroso!
Il complesso meccanismo dei processi interni di psexec spiega il messaggio che mi ha confuso durante i miei primi test alcuni anni fa: «Starting PSEXECSVC …» e la successiva pausa prima della comparsa del prompt dei comandi.

Psexec di Impacket mostra effettivamente cosa succede «sotto il cofano».
Non sorprende: psexec ha svolto un'enorme quantità di lavoro «sotto il cofano». Se sei interessato a una spiegazione più dettagliata, consulta eccellente articolo.
È chiaro che, quando utilizzato come strumento di amministrazione di sistema, che era il suo scopo originale psexec non ha nulla di sbagliato nel «funzionamento» di tutti questi meccanismi di Windows. Per un attaccante, tuttavia, psexec crea complicazioni e per un insider cauto e astuto, come Snowden, psexec o un'utilità simile rappresenteranno un rischio troppo grande.
Ed è qui che entra in gioco Smbexec
SMB è un modo astuto e furtivo di trasferire file tra server, e gli hacker si sono infiltrati direttamente in SMB da tempo immemorabile. Suppongo che tutti sappiano già che non bisogna le porte SMB 445 e 139 su Internet, giusto?
Nel 2013, a Defcon, Eric Millman () ha presentato , in modo che i pentester potessero provare a compromettere stealthily SMB. Non conosco tutta la storia, ma successivamente Impacket ha ulteriormente perfezionato smbexec. In effetti, per le mie prove ho scaricato gli script di Impacket in Python da .
A differenza di psexec, smbexec evita di trasferire un file binario potenzialmente rilevabile sulla macchina target. Invece, l'utilità vive completamente di «avanzi» eseguendo comandi locali del prompt dei comandi di Windows.
Ecco cosa fa: inoltra un comando dalla macchina dell'attaccante tramite SMB a un file in entrata speciale, quindi crea ed esegue un complesso prompt dei comandi (come servizio Windows), che risulterà familiare agli utenti Linux. In breve: esegue il shell nativo di Windows cmd, reindirizza l'output in un altro file e poi lo invia via SMB indietro alla macchina dell'attaccante.
Il modo migliore per comprendere questo è esaminare il prompt dei comandi che sono riuscito a ottenere dai registri eventi (vedi sotto).

Non è questo il modo più straordinario di reindirizzare input/output? A proposito, la creazione di un servizio ha un identificativo di evento 7045.
Proprio come psexec, crea anche un servizio che svolge tutto il lavoro, ma dopo il servizio eliminato – viene utilizzato solo una volta per avviare il comando e poi scompare! L'impiegato della sicurezza informatica che osserva la macchina della vittima non sarà in grado di rilevare evidenti indicatori di attacco: non ci sono file dannosi eseguibili, non viene installato alcun servizio permanente e non ci sono prove di utilizzo di RPC, poiché SMB è l'unico mezzo di trasferimento dati. Geniale!
Dal lato dell'attaccante è disponibile una "pseudo-shell" con ritardi tra l'invio del comando e la ricezione della risposta. Ma questo è più che sufficiente per l'attaccante – sia esso un insider o un hacker esterno con già un piede dentro – per iniziare a cercare contenuti interessanti.

Per restituire i dati dalla macchina bersaglio alla macchina dell'attaccante viene utilizzato . Sì, è lo stesso Samba , ma solo riadattato in uno script Python da Impacket. In pratica, smbclient ti consente di organizzare segretamente il trasferimento FTP sopra SMB.
Facciamo un passo indietro e riflettiamo su cosa questo possa significare per l'impiegato. Nel mio scenario fittizio, diciamo che a un blogger, un analista finanziario o un consulente di sicurezza ben pagato è permesso utilizzare un laptop personale per lavorare. A seguito di qualche processo magico, lei si offende con l’azienda e "si lancia in azioni disperate". A seconda del sistema operativo del laptop, utilizza la versione Python di Impact, oppure la versione Windows di smbexec o smbclient in forma di file .exe.
Proprio come Snowden, scopre la password di un altro utente sbirciandola oltre la spalla, oppure ha fortuna e si imbatte in un file di testo con la password. E con queste credenziali inizia a frugare nel sistema a un nuovo livello di privilegi.
Attacco DCC: non abbiamo bisogno di nessun "stupido" Mimikatz
Nei miei precedenti post dedicati al pentesting, ho utilizzato molto spesso mimikatz. È uno strumento straordinario per intercettare credenziali – hash NTLM e persino password in chiaro, nascoste dentro ai laptop e che stanno aspettando di essere sfruttate.
I tempi sono cambiati. Gli strumenti di monitoraggio sono diventati migliori nel rilevare e bloccare mimikatz. Gli amministratori della sicurezza informatica hanno anche a disposizione un numero maggiore di opzioni per ridurre i rischi associati agli attacchi di tipo "pass the hash" (di seguito – PtH).
Cosa dovrebbe fare quindi un dipendente intelligente per raccogliere ulteriori credenziali senza utilizzare mimikatz?
Il pacchetto di Impacket include uno strumento chiamato , che estrae le credenziali dalla cache Domain Credential Cache, o breve DCC. Per quanto ne so, se un utente di dominio accede a un server, ma il controller di dominio non è disponibile, DCC consente al server di autenticare l'utente. In ogni caso, secretsdump ti consente di dumpare tutti questi hash, se sono disponibili.
Gli hash DCC sono non hash NTLM e non possono essere utilizzati per attacchi PtH Beh, puoi provare a craccarli per ottenere la password originale. Tuttavia, Microsoft è diventata più astuta nella gestione dei DCC e craccare gli hash DCC è diventato estremamente difficile. Sì, c'è.
, "il più veloce cracker di password del mondo", ma richiede una GPU per funzionare in modo efficace. Invece, cerchiamo di pensare come Snowden. Un dipendente potrebbe condurre un ingegneria sociale faccia a faccia e scoprire alcune informazioni sulla persona la cui password desidera craccare. Ad esempio, scoprire se l'account online di quella persona è stato mai compromesso e studiare la sua password in chiaro per eventuali suggerimenti.
E questa è la situazione che ho deciso di esplorare. Supponiamo che l'insider abbia scoperto che il suo superiore, Cruella, è stata compromessa più volte su diversi siti web. Dopo aver analizzato alcune di queste password, si rende conto che Cruella tende a utilizzare il formato del nome della squadra di baseball "Yankees" seguito dall'anno corrente – "Yankees2015".
Se stai cercando di riprodurre ciò a casa tua, puoi scaricare un piccolo codice "C"
, che implementa l'algoritmo di hashing DCC, e compilarlo. , a proposito, John the Ripper ha aggiunto il supporto per DCC, quindi può essere utilizzato anche lui. Supponiamo che l'insider non voglia cimentarsi con John the Ripper e preferisca compilare "gcc" su un vecchio codice C. , tra l'altro, ha aggiunto il supporto per DCC, quindi può essere utilizzato anche. Supponiamo che l'insider non voglia avere a che fare con John the Ripper e preferisca eseguire "gcc" su codice C obsoleto.
Interpretando il ruolo di insider, ho lanciato diverse combinazioni e alla fine sono riuscito a scoprire che la password di Cruella è «Yankees2019» (vedi sotto). Missione compiuta!

Un po' di ingegneria sociale, un pizzico di indovinare e un pizzico di Maltego – e sei già sulla buona strada per decifrare l'hash DCC.
Propongo di fermarci qui. Torneremo su questo argomento in altre pubblicazioni e esamineremo ancora più metodi di attacco lenti e furtivi, continuando a fare affidamento sul fantastico set di strumenti di Impacket.
Fonte: habr.com
