Folosirea PowerShell pentru a obține privilegii mai mari pentru conturile locale

Folosirea PowerShell pentru a obține privilegii mai mari pentru conturile locale

Escalarea privilegiilor este utilizarea de către atacatori a drepturilor actuale ale contului pentru a obține acces suplimentar, de obicei de nivel superior în sistem. Deși escalarea privilegiilor poate rezulta din exploatarea vulnerabilităților de tip zero-day, din atacurile unor hackeri experimentați sau dintr-un malware bine camuflat, în cele mai multe cazuri aceasta apare din cauza configurării incorecte a computerului sau a contului. Continuând atacul, atacatorii utilizează o serie de vulnerabilități separate, ceea ce poate duce la o scurgere de date catastrofală.

De ce utilizatorii nu ar trebui să aibă drepturi de administrator local?

Dacă sunteți un specialist în securitate, poate părea evident că utilizatorii nu ar trebui să aibă drepturi de administrator local, deoarece aceasta:

  • Îi face conturile mai vulnerabile la diferite atacuri
  • Face aceste atacuri mult mai grave

Din păcate, pentru multe organizații, aceasta rămâne în continuare o problemă foarte controversată, însoțită adesea de discuții aprinse (vezi, de exemplu, șeful meu spune că toți utilizatorii ar trebui să fie administratori locali). Fără a intra în detaliile acestei discuții, considerăm că atacatorul a obținut drepturi de administrator local pe sistemul analizat: fie printr-un exploit, fie din cauza faptului că mașinile nu au fost protejate corespunzător.

Pasul 1. Rezolvarea inversă a numelui DNS prin PowerShell

Implicit, PowerShell este instalat pe multe stații de lucru locale și pe majoritatea serverelor Windows. Deși nu fără exagerare, este considerat un instrument extraordinar de util pentru automatizare și gestionare, în aceeași măsură este capabil să devină aproape invizibilă malware fără fișiere (un program de hacking care nu lasă urme ale atacului).

În cazul nostru, atacatorul începe să efectueze recunoașterea rețelei folosind un script PowerShell, iterând consecutiv prin spațiul de adrese IP ale rețelei, încercând să determine dacă un anumit IP este rezolvat la un nod și, dacă da, care este numele de rețea al acelui nod.
Există multe modalități de a îndeplini această sarcină, dar utilizarea comenzii Get-ADComputer este o opțiune de încredere, deoarece oferă într-adevăr un set bogat de date despre fiecare nod:

 import-module activedirectory Get-ADComputer -property * -filter { ipv4address -eq ‘10.10.10.10’}

Dacă viteza de lucru în rețele mari cauzează probleme, se poate folosi apelul de sistem DNS invers:

[System.Net.Dns]::GetHostEntry(‘10.10.10.10’).HostName

Folosirea PowerShell pentru a obține privilegii mai mari pentru conturile locale

Această metodă de enumerare a nodurilor în rețea este foarte populară, deoarece majoritatea rețelelor nu folosesc un model de securitate cu zero încredere și nu monitorizează cererile DNS interne pentru activități suspecte.

Pasul 2: Alegerea țintei

Rezultatul final al acestui pas este obținerea unei liste cu numele gazdelor serverelor și stațiilor de lucru, care poate fi folosită pentru continuarea atacului.

Folosirea PowerShell pentru a obține privilegii mai mari pentru conturile locale

Judecând după nume, serverul ‘HUB-FILER’ pare o țintă potrivită, deoarece în timp serverele de fișiere acumulează în general un număr mare de foldere de rețea și acces excesiv din partea unui număr prea mare de persoane.

Vizualizarea prin Windows Explorer ne permite să determinăm dacă există un folder partajat deschis, dar contul nostru curent nu poate avea acces (probabil că avem doar drepturi de listare).

Pasul 3: Studiul ACL

Acum, pe gazda noastră HUB-FILER și pe folderul partajat țintă, putem rula un script PowerShell pentru a obține lista ACL. Putem face acest lucru de pe mașina locală, deoarece avem deja drepturi de administrator local:

(get-acl hub-filershare).access | ft IdentityReference,FileSystemRights,AccessControlType,IsInherited,InheritanceFlags –auto

Rezultatul execuției:

Folosirea PowerShell pentru a obține privilegii mai mari pentru conturile locale

Din acest lucru vedem că grupul Utilizatori Domeniu are acces doar la listare, dar grupul Helpdesk are și drepturi de modificare.

Pasul 4: Identificarea Conturilor

Rulând Get-ADGroupMember, vom putea obține toți membrii acestui grup:

Get-ADGroupMember -identity Helpdesk

Folosirea PowerShell pentru a obține privilegii mai mari pentru conturile locale

În această listă vedem contul de computer pe care l-am identificat deja și la care am obținut deja acces:

Folosirea PowerShell pentru a obține privilegii mai mari pentru conturile locale

Pasul 5: Folosim PSExec pentru a lucra din contul de computer

PsExec de la Microsoft Sysinternals permite executarea comenzilor în contextul contului de sistem SYSTEM@HUB-SHAREPOINT, care, după cum știm, este membru al grupului țintă Helpdesk. Cu alte cuvinte, trebuie doar să executăm:

PsExec.exe -s -i cmd.exe

Însă, mai departe, aveți acces complet la folderul țintă HUB-FILERshareHR, deoarece lucrați în contextul contului de computer HUB-SHAREPOINT. Cu acest acces, datele pot fi copiate pe un dispozitiv de stocare portabil sau extrase și transmise prin rețea.

Pasul 6: Detectarea acestei atacuri

Această vulnerabilitate specifică a configurării drepturilor conturilor (conturi de computere care accesează folderele comune de rețea în loc de conturi de utilizator sau conturi de serviciu) poate fi detectată. Cu toate acestea, fără instrumentele corecte, este foarte dificil de realizat acest lucru.

Pentru a detecta și preveni această categorie de atacuri, putem folosi DatAdvantage pentru a identifica grupurile cu conturi de computere în ele, apoi a restricționa accesul la acestea. DatAlert merge mai departe și permite crearea unei notificări special pentru un astfel de scenariu.

În captura de ecran de mai jos este prezentată o notificare personalizată, care va fi activată la fiecare acces al unui cont de computer la datele de pe serverul monitorizat.

Folosirea PowerShell pentru a obține privilegii mai mari pentru conturile locale

Următorii pași cu ajutorul PowerShell

Doriți să aflați mai multe? Utilizați codul de deblocare „blog” pentru acces gratuit la întregul curs video PowerShell și Bazele Active Directory.

Sursa: habr.com

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster