Hacking de parole ascunse cu Smbexec

Hacking de parole ascunse cu Smbexec

Scriem în mod regulat despre modul în care hackerii se bazează adesea pe exploatare metode de hacking fără cod rău intenționatpentru a evita detectarea. Ele sunt la propriu „supraviețuiește pe pășune”, folosind instrumente standard Windows, ocolind astfel antivirusurile și alte utilitare pentru detectarea activităților rău intenționate. Noi, în calitate de apărători, suntem acum forțați să facem față consecințelor nefericite ale unor astfel de tehnici inteligente de hacking: un angajat bine plasat poate folosi aceeași abordare pentru a fura în secret date (proprietatea intelectuală a companiei, numerele de card de credit). Și dacă nu se grăbește, ci lucrează încet și liniștit, va fi extrem de dificil - dar totuși posibil dacă folosește abordarea corectă și cea adecvată. Unelte, — pentru a identifica o astfel de activitate.

Pe de altă parte, nu aș vrea să demonizez angajații pentru că nimeni nu vrea să lucreze într-un mediu de afaceri chiar din 1984 a lui Orwell. Din fericire, există o serie de pași practici și trucuri de viață care pot face viața mult mai dificilă pentru cei din interior. Vom lua în considerare metode de atac sub acoperire, folosit de hackeri de către angajați cu un anumit bagaj tehnic. Și puțin mai departe vom discuta opțiunile de reducere a unor astfel de riscuri - vom studia atât opțiunile tehnice, cât și cele organizatorice.

Ce este în neregulă cu PsExec?

Edward Snowden, pe drept sau greșit, a devenit sinonim cu furtul de date din interior. Apropo, nu uitați să aruncați o privire la această notă despre alți oameni din interior care merită și un anumit statut de faimă. Un punct important demn de subliniat despre metodele pe care le-a folosit Snowden este că, din câte știm, el nu s-a instalat fără software rău intenționat extern!

În schimb, Snowden a folosit un pic de inginerie socială și și-a folosit poziția de administrator de sistem pentru a colecta parole și a crea acreditări. Nimic complicat - niciunul mimikatz, atacuri bărbatul din mijloc sau metasploit.

Angajații organizației nu se află întotdeauna în poziția unică a lui Snowden, dar există o serie de lecții de învățat din conceptul de „supraviețuire prin pășunat” de care trebuie să fie conștienți - să nu se angajeze în nicio activitate rău intenționată care poate fi detectată și să fie mai ales atent la utilizarea acreditărilor. Amintește-ți acest gând.

Psexec și vărul său crackmapexec au impresionat nenumărați pentesteri, hackeri și bloggeri de securitate cibernetică. Și atunci când este combinat cu mimikatz, psexec permite atacatorilor să se deplaseze într-o rețea fără a fi nevoie să cunoască parola de text clar.

Mimikatz interceptează hash-ul NTLM din procesul LSASS și apoi transmite simbolul sau acreditările - așa-numitele. atacul „trece hash”. – în psexec, permițând unui atacator să se conecteze la un alt server ca a altuia utilizator. Și cu fiecare mutare ulterioară pe un nou server, atacatorul colectează acreditări suplimentare, extinzându-și gama de capabilități în căutarea conținutului disponibil.

Când am început să lucrez cu psexec, mi s-a părut magic - mulțumesc Mark Russinovici, dezvoltatorul genial al psexec - dar știu și despre al lui zgomotos componente. El nu este niciodată secret!

Primul fapt interesant despre psexec este că folosește extrem de complex Protocolul fișierelor de rețea SMB de la Microsoft. Folosind SMB, psexec transferă mic binar fișierele către sistemul țintă, plasându-le în folderul C:Windows.

Apoi, psexec creează un serviciu Windows folosind binarul copiat și îl rulează sub numele extrem de „neașteptat” PSEXECSVC. În același timp, puteți vedea toate acestea, ca și mine, urmărind o mașină de la distanță (vezi mai jos).

Hacking de parole ascunse cu Smbexec

Cartela de vizită a lui Psexec: serviciul „PSEXECSVC”. Rulează un fișier binar care a fost plasat prin SMB în folderul C:Windows.

Ca pas final, se deschide fișierul binar copiat conexiune RPC către serverul țintă și apoi acceptă comenzi de control (prin shell-ul Windows cmd în mod implicit), lansându-le și redirecționând intrarea și ieșirea către mașina de acasă a atacatorului. În acest caz, atacatorul vede linia de comandă de bază - la fel ca și cum ar fi conectat direct.

O mulțime de componente și un proces foarte zgomotos!

Elementele interne complexe ale psexec explică mesajul care m-a nedumerit în timpul primelor mele teste în urmă cu câțiva ani: „Se pornește PSEXECSVC...” urmat de o pauză înainte să apară promptul de comandă.

Hacking de parole ascunse cu Smbexec

Psexecul lui Impacket arată de fapt ce se întâmplă sub capotă.

Nu este surprinzător: psexec a făcut o cantitate imensă de muncă sub capotă. Dacă sunteți interesat de o explicație mai detaliată, consultați aici acestea minunata descriere.

Evident, atunci când a fost folosit ca instrument de administrare a sistemului, care a fost scopul original psexec, nu este nimic în neregulă cu „zgomotul” tuturor acestor mecanisme Windows. Pentru un atacator, totuși, psexec ar crea complicații, iar pentru un insider prudent și viclean precum Snowden, psexec sau o utilitate similară ar fi un risc prea mare.

Și apoi vine Smbexec

SMB este o modalitate inteligentă și secretă de a transfera fișiere între servere, iar hackerii s-au infiltrat direct în SMB de secole. Cred că toată lumea știe deja că nu merită deschide-te Porturile SMB 445 și 139 la Internet, nu?

La Defcon 2013, Eric Millman (brav0hax) prezentate smbexec, astfel încât pentesterii să poată încerca hackingul furtiv pentru IMM-uri. Nu știu toată povestea, dar apoi Impacket a rafinat și mai mult smbexec. De fapt, pentru testarea mea, am descărcat scripturile din Impacket în Python de la Github.

Spre deosebire de psexec, smbexec evita transferarea unui fișier binar potențial detectat la mașina țintă. În schimb, utilitatea trăiește în întregime de la pășune până la lansare local Linia de comandă Windows.

Iată ce face: transmite o comandă de la mașina atacatoare prin SMB către un fișier de intrare special, apoi creează și rulează o linie de comandă complexă (cum ar fi un serviciu Windows) care va părea familiară utilizatorilor Linux. Pe scurt: lansează un shell cmd nativ Windows, redirecționează rezultatul către un alt fișier și apoi îl trimite prin SMB înapoi la mașina atacatorului.

Cel mai bun mod de a înțelege acest lucru este să te uiți la linia de comandă, pe care am putut să-mi pun mâna din jurnalul de evenimente (vezi mai jos).

Hacking de parole ascunse cu Smbexec

Nu este acesta cel mai bun mod de a redirecționa I/O? Apropo, crearea serviciului are ID de eveniment 7045.

La fel ca psexec, creează și un serviciu care face toată munca, dar serviciul după aceea șters – este folosit o singură dată pentru a rula comanda și apoi dispare! Un ofițer de securitate a informațiilor care monitorizează aparatul unei victime nu va putea detecta evident Indicatori de atac: Nu există niciun fișier rău intenționat care este lansat, nu este instalat niciun serviciu persistent și nu există nicio dovadă că RPC este utilizat, deoarece SMB este singurul mijloc de transfer de date. Sclipitor!

Din partea atacatorului, este disponibilă o „pseudo-shell” cu întârzieri între trimiterea comenzii și primirea răspunsului. Dar acest lucru este suficient pentru ca un atacator - fie un insider sau un hacker extern care are deja un punct de sprijin - să înceapă să caute conținut interesant.

Hacking de parole ascunse cu Smbexec

Pentru a scoate date înapoi de la mașina țintă la mașina atacatorului, acestea sunt utilizate smbclient. Da, este același Samba utilitate, dar convertit doar într-un script Python de către Impacket. De fapt, smbclient vă permite să găzduiți în secret transferuri FTP prin SMB.

Să facem un pas înapoi și să ne gândim la ce poate face acest lucru pentru angajat. În scenariul meu fictiv, să presupunem că un blogger, un analist financiar sau un consultant de securitate foarte plătit are voie să folosească un laptop personal pentru muncă. Ca rezultat al unui proces magic, ea se jignește în fața companiei și „merge totul rău”. În funcție de sistemul de operare al laptopului, fie folosește versiunea Python de la Impact, fie versiunea Windows a smbexec sau smbclient ca fișier .exe.

La fel ca Snowden, ea află parola unui alt utilizator fie uitându-se peste umăr, fie are noroc și dă peste un fișier text cu parola. Și cu ajutorul acestor acreditări, ea începe să sape în jurul sistemului la un nou nivel de privilegii.

Hacking DCC: Nu avem nevoie de niciun Mimikatz „prost”.

În postările mele anterioare despre pentesting, am folosit mimikatz foarte des. Acesta este un instrument excelent pentru interceptarea acreditărilor - hash-uri NTLM și chiar parole clare ascunse în interiorul laptopurilor, care abia așteaptă să fie folosite.
Vremurile s-au schimbat. Instrumentele de monitorizare au devenit mai bune în detectarea și blocarea mimikatz-ului. Administratorii de securitate a informațiilor au, de asemenea, acum mai multe opțiuni pentru a reduce riscurile asociate cu atacurile pass the hash (PtH).
Deci, ce ar trebui să facă un angajat inteligent pentru a colecta acreditări suplimentare fără a utiliza mimikatz?

Setul lui Impacket include un utilitar numit secretsdump, care preia acreditările din memoria cache a acreditărilor de domeniu sau DCC pe scurt. Înțeleg că, dacă un utilizator de domeniu se conectează la server, dar controlerul de domeniu nu este disponibil, DCC permite serverului să autentifice utilizatorul. Oricum, secretsdump vă permite să aruncați toate aceste hashe-uri dacă sunt disponibile.

Hashe-urile DCC sunt nu hash-uri NTML și lor nu poate fi folosit pentru atacul PtH.

Ei bine, puteți încerca să le piratați pentru a obține parola originală. Cu toate acestea, Microsoft a devenit mai inteligent cu DCC, iar hashurile DCC au devenit extrem de greu de spart. Da, am hashcat, „cel mai rapid ghicitor de parole din lume”, dar necesită un GPU pentru a rula eficient.

În schimb, să încercăm să gândim ca Snowden. Un angajat poate efectua inginerie socială față în față și, eventual, poate afla câteva informații despre persoana a cărei parolă dorește să o spargă. De exemplu, aflați dacă contul online al persoanei a fost piratat vreodată și examinați-i parola în text clar pentru orice indicii.

Și acesta este scenariul pe care am decis să merg. Să presupunem că un insider a aflat că șeful său, Cruella, a fost piratat de mai multe ori pe diferite resurse web. După ce a analizat mai multe dintre aceste parole, își dă seama că Cruella preferă să folosească formatul numelui echipei de baseball „Yankees” urmat de anul curent – ​​„Yankees2015”.

Dacă acum încercați să reproduceți acest lucru acasă, atunci puteți descărca un mic, „C” cod, care implementează algoritmul de hashing DCC și îl compilează. John Ripper, apropo, a adăugat suport pentru DCC, astfel încât să poată fi folosit și. Să presupunem că o persoană din interior nu vrea să se deranjeze să învețe John the Ripper și îi place să ruleze „gcc” pe codul C moștenit.

Prefăcându-mi rolul unui insider, am încercat mai multe combinații diferite și în cele din urmă am reușit să descopăr că parola lui Cruella era „Yankees2019” (vezi mai jos). Misiune completa!

Hacking de parole ascunse cu Smbexec

Puțină inginerie socială, un strop de ghicire și un vârf de Maltego și ești pe cale să spargi hash-ul DCC.

Vă sugerez să încheiem aici. Vom reveni la acest subiect în alte postări și vom analiza metodele de atac și mai lente și mai ascunse, continuând să construim pe setul excelent de utilități Impacket.

Sursa: www.habr.com

Adauga un comentariu