Hacking di password nascoste con Smbexec

Hacking di password nascoste con Smbexec

Scriviamo regolarmente su come gli hacker spesso si affidano allo sfruttamento metodi di hacking senza codice dannosoper evitare il rilevamento. Loro letteralmente "sopravvivere al pascolo", utilizzando gli strumenti standard di Windows, ignorando così gli antivirus e altre utilità per il rilevamento di attività dannose. Noi, come difensori, siamo ora costretti ad affrontare le conseguenze sfortunate di tali tecniche di hacking intelligenti: un dipendente ben posizionato può utilizzare lo stesso approccio per rubare di nascosto dati (proprietà intellettuale dell'azienda, numeri di carte di credito). E se non ha fretta, ma lavora lentamente e in silenzio, sarà estremamente difficile, ma comunque possibile se usa l'approccio giusto e le modalità appropriate. Strumenti, — per identificare tale attività.

D'altra parte, non vorrei demonizzare i dipendenti perché nessuno vuole lavorare in un ambiente aziendale uscito direttamente da 1984 di Orwell. Fortunatamente, ci sono una serie di passaggi pratici e trucchetti che possono rendere la vita molto più difficile agli addetti ai lavori. Considereremo metodi di attacco nascosti, utilizzato dagli hacker da dipendenti con un certo background tecnico. E un po' più avanti discuteremo le opzioni per ridurre tali rischi: studieremo sia le opzioni tecniche che quelle organizzative.

Cosa c'è che non va in PsExec?

Edward Snowden, a torto o a ragione, è diventato sinonimo di furto di dati interni. A proposito, non dimenticare di dare un'occhiata questa nota su altri addetti ai lavori che meritano anche uno status di fama. Un punto importante che vale la pena sottolineare riguardo ai metodi utilizzati da Snowden è che, per quanto ne sappiamo, lui non è stato installato nessun software dannoso esterno!

Invece, Snowden ha utilizzato un po’ di ingegneria sociale e ha sfruttato la sua posizione di amministratore di sistema per raccogliere password e creare credenziali. Niente di complicato, nessuno mimikatz, attacchi man-in-the-middle o metasfruttamento.

I dipendenti dell'organizzazione non sono sempre nella posizione unica di Snowden, ma ci sono una serie di lezioni da imparare dal concetto di "sopravvivenza al pascolo" di cui essere consapevoli: non impegnarsi in alcuna attività dannosa che possa essere rilevata ed essere particolarmente attenzione all’uso delle credenziali. Ricorda questo pensiero.

Psessec e suo cugino crackmapexec hanno impressionato innumerevoli pentester, hacker e blogger di sicurezza informatica. E se combinato con mimikatz, psexec consente agli aggressori di muoversi all'interno di una rete senza dover conoscere la password in chiaro.

Mimikatz intercetta l'hash NTLM dal processo LSASS e quindi trasmette il token o le credenziali, le cosiddette. attacco "passa l'hashish". – in psexec, consentendo a un utente malintenzionato di accedere a un altro server come un altro utente. E con ogni successivo spostamento su un nuovo server, l'aggressore raccoglie credenziali aggiuntive, ampliando la gamma delle sue capacità nella ricerca dei contenuti disponibili.

Quando ho iniziato a lavorare con psexec mi è sembrato magico: grazie Marco Russinovic, il brillante sviluppatore di psexec, ma conosco anche il suo rumoroso componenti. Non è mai riservato!

Il primo fatto interessante di psexec è che utilizza file estremamente complessi Protocollo file di rete SMB da Microsoft. Utilizzando SMB, psexec trasferisce piccoli file binario file nel sistema di destinazione, inserendoli nella cartella C:Windows.

Successivamente, psexec crea un servizio Windows utilizzando il binario copiato e lo esegue con il nome estremamente "inaspettato" PSEXECSVC. Allo stesso tempo, puoi effettivamente vedere tutto questo, come ho fatto io, guardando una macchina remota (vedi sotto).

Hacking di password nascoste con Smbexec

Il biglietto da visita di Psexec: il servizio "PSEXECSVC". Esegue un file binario che è stato inserito tramite SMB nella cartella C:Windows.

Come passaggio finale, si apre il file binario copiato Connessione RPC al server di destinazione e quindi accetta i comandi di controllo (tramite la shell cmd di Windows per impostazione predefinita), avviandoli e reindirizzando input e output al computer domestico dell'aggressore. In questo caso l'aggressore vede la riga di comando di base, come se fosse connesso direttamente.

Molti componenti e un processo molto rumoroso!

Le complesse parti interne di psexec spiegano il messaggio che mi lasciò perplesso durante i miei primi test diversi anni fa: "Avvio PSEXECSVC..." seguito da una pausa prima che appaia il prompt dei comandi.

Hacking di password nascoste con Smbexec

Psexec di Impacket mostra effettivamente cosa sta succedendo sotto il cofano.

Non sorprende: psexec ha svolto un'enorme quantità di lavoro dietro le quinte. Se sei interessato ad una spiegazione più dettagliata, dai un'occhiata qui queste descrizione meravigliosa.

Ovviamente, se utilizzato come strumento di amministrazione del sistema, il che era scopo originale psexec, non c'è niente di sbagliato nel "ronzio" di tutti questi meccanismi di Windows. Per un utente malintenzionato, tuttavia, psexec creerebbe complicazioni, mentre per un insider cauto e astuto come Snowden, psexec o un'utilità simile rappresenterebbero un rischio eccessivo.

E poi arriva Smbexec

SMB è un modo intelligente e segreto per trasferire file tra server e da secoli gli hacker si insinuano direttamente in SMB. Penso che tutti sappiano già che non ne vale la pena apri Le porte SMB 445 e 139 su Internet, giusto?

Al Defcon 2013, Eric Millman (brav0hax) presentata smexec, in modo che i pentester possano provare l'hacking invisibile delle PMI. Non conosco l'intera storia, ma poi Impacket ha ulteriormente perfezionato smbexec. Infatti, per i miei test, ho scaricato gli script da Impacket in Python da Github.

A differenza di psexec, smbexec evita trasferimento di un file binario potenzialmente rilevato sul computer di destinazione. Invece, l’utilità vive interamente dal pascolo fino al lancio locale Riga di comando di Windows.

Ecco cosa fa: passa un comando dalla macchina attaccante tramite SMB a uno speciale file di input, quindi crea ed esegue una riga di comando complessa (come un servizio Windows) che sembrerà familiare agli utenti Linux. In breve: avvia una shell cmd nativa di Windows, reindirizza l'output su un altro file e quindi lo invia tramite SMB al computer dell'aggressore.

Il modo migliore per capirlo è guardare la riga di comando, su cui sono riuscito a mettere le mani dal registro eventi (vedi sotto).

Hacking di password nascoste con Smbexec

Non è questo il modo migliore per reindirizzare l'I/O? A proposito, la creazione del servizio ha l'ID evento 7045.

Come psexec, crea anche un servizio che fa tutto il lavoro, ma il servizio dopo rimosso – viene utilizzato una sola volta per eseguire il comando e poi scompare! Un responsabile della sicurezza delle informazioni che monitora il computer di una vittima non sarà in grado di rilevarlo ovvio Indicatori di attacco: non viene avviato alcun file dannoso, non viene installato alcun servizio persistente e non vi è alcuna prova dell'utilizzo di RPC poiché SMB è l'unico mezzo di trasferimento dei dati. Brillante!

Da parte dell’aggressore è disponibile una “pseudo-shell” con ritardi tra l’invio del comando e la ricezione della risposta. Ma questo è abbastanza perché un utente malintenzionato, sia esso un insider o un hacker esterno che abbia già un punto d'appoggio, inizi a cercare contenuti interessanti.

Hacking di password nascoste con Smbexec

Viene utilizzato per restituire i dati dal computer bersaglio al computer dell'aggressore smbclient. Sì, è lo stesso Samba utilità, ma convertito in uno script Python solo da Impacket. In effetti, smbclient ti consente di ospitare segretamente trasferimenti FTP su SMB.

Facciamo un passo indietro e pensiamo a cosa questo può fare per il dipendente. Nel mio scenario fittizio, supponiamo che un blogger, un analista finanziario o un consulente di sicurezza ben pagato possa utilizzare un laptop personale per lavoro. Come risultato di un processo magico, si offende nei confronti dell'azienda e "va tutto a male". A seconda del sistema operativo del laptop, utilizza la versione Python di Impact o la versione Windows di smbexec o smbclient come file .exe.

Come Snowden, scopre la password di un altro utente guardandosi alle spalle oppure è fortunata e si imbatte in un file di testo con la password. E con l'aiuto di queste credenziali, inizia a scavare nel sistema a un nuovo livello di privilegi.

Hacking DCC: non abbiamo bisogno di alcun Mimikatz "stupido".

Nei miei post precedenti sul pentesting ho usato molto spesso mimikatz. Questo è un ottimo strumento per intercettare le credenziali: hash NTLM e persino password in chiaro nascoste all'interno dei laptop, che aspettano solo di essere utilizzate.
I tempi sono cambiati. Gli strumenti di monitoraggio sono migliorati nel rilevare e bloccare mimikatz. Gli amministratori della sicurezza delle informazioni ora hanno anche più opzioni per ridurre i rischi associati agli attacchi pass the hash (PtH).
Quindi cosa dovrebbe fare un dipendente intelligente per raccogliere credenziali aggiuntive senza utilizzare mimikatz?

Il kit di Impcket include un'utilità chiamata secretsdump, che recupera le credenziali dalla Domain Credential Cache, o DCC in breve. Da quanto ho capito, se un utente di dominio accede al server ma il controller di dominio non è disponibile, DCC consente al server di autenticare l'utente. Ad ogni modo, secretsdump ti consente di scaricare tutti questi hash se sono disponibili.

Gli hash DCC lo sono non hash NTML e la loro non può essere utilizzato per l'attacco PtH.

Bene, puoi provare ad hackerarli per ottenere la password originale. Tuttavia, Microsoft è diventata più intelligente con DCC e gli hash DCC sono diventati estremamente difficili da decifrare. Sì hashcat, "l'indovinatore di password più veloce al mondo", ma richiede una GPU per funzionare in modo efficace.

Proviamo invece a pensare come Snowden. Un dipendente può condurre un'attività di ingegneria sociale faccia a faccia ed eventualmente scoprire alcune informazioni sulla persona di cui desidera decifrare la password. Ad esempio, scopri se l'account online della persona è mai stato violato ed esamina la password in chiaro per eventuali indizi.

E questo è lo scenario con cui ho deciso di seguire. Supponiamo che un insider abbia appreso che il suo capo, Crudelia, è stato violato più volte su diverse risorse web. Dopo aver analizzato molte di queste password, si rende conto che Crudelia preferisce utilizzare il formato del nome della squadra di baseball "Yankees" seguito dall'anno corrente - "Yankees2015".

Se ora stai cercando di riprodurlo a casa, puoi scaricare una piccola "C" codice, che implementa l'algoritmo di hashing DCC e compilarlo. John the Ripper, tra l'altro, ha aggiunto il supporto per DCC, quindi può essere utilizzato anche. Supponiamo che un insider non voglia preoccuparsi di imparare John the Ripper e gli piaccia eseguire "gcc" sul codice C legacy.

Fingendo il ruolo di un insider, ho provato diverse combinazioni e alla fine sono riuscito a scoprire che la password di Crudelia era "Yankees2019" (vedi sotto). Missione completata!

Hacking di password nascoste con Smbexec

Un po' di ingegneria sociale, un pizzico di predizione del futuro e un pizzico di Maltego e sei sulla buona strada per crackare l'hash DCC.

Suggerisco di finire qui. Torneremo su questo argomento in altri post e esamineremo metodi di attacco ancora più lenti e furtivi, continuando a sviluppare l'eccellente set di utilità di Impacket.

Fonte: habr.com

Aggiungi un commento