Utilizarea PowerShell pentru a crește privilegiul conturilor locale

Utilizarea PowerShell pentru a crește privilegiul conturilor locale

Escaladarea privilegiilor este utilizarea de către un atacator a drepturilor curente ale unui cont pentru a obține un nivel suplimentar de acces la sistem, de obicei mai ridicat. În timp ce escaladarea privilegiilor poate fi rezultatul exploatării vulnerabilităților zero-day sau al muncii hackerilor de primă clasă care efectuează un atac țintit sau al malware-ului disimulat inteligent, cel mai adesea se datorează configurării greșite a computerului sau a contului. Dezvoltând atacul în continuare, atacatorii folosesc o serie de vulnerabilități individuale, care împreună pot duce la o scurgere catastrofală de date.

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

Dacă sunteți un profesionist în securitate, poate părea evident că utilizatorii nu ar trebui să aibă drepturi de administrator local, așa cum urmează:

  • Face conturile lor mai vulnerabile la diferite atacuri
  • Face aceleași atacuri mult mai severe

Din păcate, pentru multe organizații aceasta este încă o problemă foarte controversată și uneori este însoțită de discuții aprinse (vezi, de exemplu, supervizorul meu spune că toți utilizatorii trebuie să fie administratori locali). Fără a intra în detaliile acestei discuții, credem că atacatorul a câștigat drepturi de administrator local pe sistemul investigat, fie printr-un exploit, fie pentru că mașinile nu erau protejate corespunzător.

Pasul 1 Inversați rezoluția DNS cu PowerShell

În mod implicit, PowerShell este instalat pe multe stații de lucru locale și pe majoritatea serverelor Windows. Și deși nu este fără exagerare că este considerat un instrument de automatizare și control incredibil de util, este la fel de capabil să se transforme într-un instrument 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, repetând secvenţial peste spațiul de adrese IP al rețelei, încercând să determine dacă un anumit IP se rezolvă la o gazdă și, dacă da, care este numele de rețea al acestei gazde.
Există multe modalități de a realiza această sarcină, dar folosind cmdletul Obține-ADComputer este o opțiune solidă, deoarece returnează un set foarte bogat de date despre fiecare nod:

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

Dacă viteza în rețelele mari este o problemă, atunci poate fi utilizat un apel invers DNS:

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

Utilizarea PowerShell pentru a crește privilegiul conturilor locale

Această metodă de listare a gazdelor dintr-o rețea este foarte populară, deoarece majoritatea rețelelor nu utilizează un model de securitate zero-trust și nu monitorizează cererile DNS interne pentru explozii suspecte de activitate.

Pasul 2: Alegeți o țintă

Rezultatul final al acestui pas este obținerea unei liste de nume de gazdă de server și stație de lucru care pot fi folosite pentru a continua atacul.

Utilizarea PowerShell pentru a crește privilegiul conturilor locale

Din nume, serverul „HUB-FILER” pare o țintă demnă, de vreme ce de-a lungul timpului, serverele de fișiere, de regulă, acumulează un număr mare de foldere de rețea și acces excesiv la acestea de către prea mulți oameni.

Navigarea cu Windows Explorer ne permite să detectăm prezența unui folder partajat deschis, dar contul nostru actual nu îl poate accesa (probabil avem doar drepturi de listare).

Pasul 3: Aflați ACL-urile

Acum, pe gazda noastră HUB-FILER și partajarea țintă, putem rula un script PowerShell pentru a obține 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 executiei:

Utilizarea PowerShell pentru a crește privilegiul conturilor locale

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

Pasul 4: Identificarea contului

Alergare Get-ADGroupMember, putem obține toți membrii acestui grup:

Get-ADGroupMember -identity Helpdesk

Utilizarea PowerShell pentru a crește privilegiul conturilor locale

În această listă vedem un cont de computer pe care l-am identificat deja și l-am accesat deja:

Utilizarea PowerShell pentru a crește privilegiul conturilor locale

Pasul 5: Utilizați PSExec pentru a rula ca cont de computer

psexec de la Microsoft Sysinternals vă permite să executați comenzi în contextul contului de sistem SYSTEM@HUB-SHAREPOINT, despre care știm că este membru al grupului țintă Helpdesk. Adică trebuie doar să facem:

PsExec.exe -s -i cmd.exe

Ei bine, atunci aveți acces complet la folderul țintă HUB-FILERshareHR, deoarece lucrați în contextul contului de computer HUB-SHAREPOINT. Iar cu acest acces, datele pot fi copiate pe un dispozitiv de stocare portabil sau preluate și transmise prin rețea.

Pasul 6: Detectarea acestui atac

Această vulnerabilitate specială de reglare a privilegiilor de cont (conturi de computer care accesează partajări de rețea în loc de conturi de utilizator sau conturi de serviciu) poate fi descoperită. Cu toate acestea, fără instrumentele potrivite, acest lucru este foarte dificil de realizat.

Pentru a detecta și a preveni această categorie de atacuri, putem folosi DataAdvantage pentru a identifica grupuri cu conturi de computer în ele și apoi a refuza accesul la ele. DataAlert merge mai departe și vă permite să creați o notificare special pentru acest tip de scenariu.

Captura de ecran de mai jos arată o notificare personalizată care se va declanșa de fiecare dată când un cont de computer accesează date de pe un server monitorizat.

Utilizarea PowerShell pentru a crește privilegiul conturilor locale

Următorii pași cu PowerShell

Vrei să afli mai multe? Utilizați codul de deblocare „blog” pentru acces gratuit la întreg Curs video de bază PowerShell și Active Directory.

Sursa: www.habr.com

Adauga un comentariu