Korišćenje PowerShell-a za podizanje privilegija lokalnih naloga

Korišćenje PowerShell-a za podizanje privilegija lokalnih naloga

Eskalacija privilegija je korištenje napadačevih prava na tekući račun da bi se dobio dodatni, obično viši, nivo pristupa sistemu. Iako eskalacija privilegija može biti rezultat eksploatacije nultog dana, glavni hakeri koji pokreću ciljani napad ili vješto prikrivenog zlonamjernog softvera, najčešće se događa zbog pogrešne konfiguracije računala ili računa. Dalje razvijajući napad, napadači iskorištavaju brojne pojedinačne ranjivosti, što zajedno može dovesti do katastrofalnog curenja podataka.

Zašto korisnici ne bi trebali imati prava lokalnog administratora?

Ako ste stručnjak za sigurnost, može se činiti očiglednim da korisnici ne bi trebali imati prava lokalnog administratora, jer ovo:

  • Čini njihove račune ranjivijim na razne napade
  • Čini ove iste napade mnogo ozbiljnijim

Nažalost, za mnoge organizacije ovo je još uvijek vrlo kontroverzno pitanje i ponekad je popraćeno žestokim raspravama (vidi npr. moj menadžer kaže da svi korisnici moraju biti lokalni administratori). Ne ulazeći u detalje ove rasprave, vjerujemo da je napadač stekao prava lokalnog administratora na sistemu koji se istražuje, bilo eksploatacijom ili zato što mašine nisu bile propisno osigurane.

Korak 1: Obrnite rezoluciju DNS imena koristeći PowerShell

PowerShell je podrazumevano instaliran na mnogim lokalnim radnim stanicama i na većini Windows servera. I dok se ne smatra bez preterivanja nevjerovatno korisnim alatom za automatizaciju i kontrolu, jednako je sposoban pretvoriti se u gotovo nevidljiv malware bez datoteka (program za hakovanje koji ne ostavlja tragove napada).

U našem slučaju, napadač počinje da vrši izviđanje mreže koristeći PowerShell skriptu, uzastopno iterirajući kroz mrežni IP adresni prostor, pokušavajući da utvrdi da li se dati IP rešava na host, i ako jeste, koje je ime mreže tog hosta.
Postoji mnogo načina za postizanje ovog zadatka, ali pomoću cmdleta Get-ADComputer je pouzdana opcija jer vraća zaista bogat skup podataka o svakom čvoru:

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

Ako je brzina na velikim mrežama problem, može se koristiti obrnuti DNS sistemski poziv:

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

Korišćenje PowerShell-a za podizanje privilegija lokalnih naloga

Ova metoda nabrajanja hostova na mreži je vrlo popularna jer većina mreža ne koristi sigurnosni model bez povjerenja i ne nadgleda interne DNS upite za sumnjive navale aktivnosti.

Korak 2: Odaberite metu

Krajnji rezultat ovog koraka je dobijanje liste imena servera i radnih stanica koja se mogu koristiti za nastavak napada.

Korišćenje PowerShell-a za podizanje privilegija lokalnih naloga

Na osnovu svog imena, server 'HUB-FILER' izgleda kao dostojna meta jer... Vremenom, fajl serveri imaju tendenciju da akumuliraju veliki broj mrežnih fascikli i prekomeran pristup njima od strane previše ljudi.

Pretraživanje pomoću Windows Explorer-a nam omogućava da utvrdimo da postoji otvorena deljena fascikla, ali naš trenutni nalog ne može da joj pristupi (verovatno imamo samo prava na listanje).

Korak 3: Učenje ACL-a

Sada na našem HUB-FILER hostu i ciljnom dijeljenju, možemo pokrenuti PowerShell skriptu da dobijemo ACL. To možemo učiniti sa lokalne mašine, pošto već imamo prava lokalnog administratora:

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

Rezultat izvršenja:

Korišćenje PowerShell-a za podizanje privilegija lokalnih naloga

Iz njega vidimo da grupa Korisnici domene ima pristup samo listi, ali grupa za pomoć također ima prava uređivanja.

Korak 4: Identifikacija računa

Trčanje Get-ADGroupMember, možemo dobiti sve članove ove grupe:

Get-ADGroupMember -identity Helpdesk

Korišćenje PowerShell-a za podizanje privilegija lokalnih naloga

Na ovoj listi vidimo račun računara koji smo već identifikovali i kojem smo već pristupili:

Korišćenje PowerShell-a za podizanje privilegija lokalnih naloga

Korak 5: Koristite PSExec za rad pod računom računala

psexec od Microsoft Sysinternals vam omogućava da izvršavate komande u kontekstu sistemskog naloga SYSTEM@HUB-SHAREPOINT, za koji znamo da je član ciljne grupe Helpdesk-a. Odnosno, samo treba da uradimo:

PsExec.exe -s -i cmd.exe

Pa, onda imate pun pristup ciljnoj fascikli HUB-FILERshareHR, pošto radite u kontekstu računa HUB-SHAREPOINT računa. Uz ovaj pristup, podaci se mogu kopirati na prijenosni uređaj za pohranu ili na drugi način preuzeti i prenijeti preko mreže.

Korak 6: Otkrivanje ovog napada

Ova posebna ranjivost konfiguracije dozvola naloga (računarski nalozi koji pristupaju mrežnim dijeljenjima umjesto korisničkim ili servisnim nalozima) može se otkriti. Međutim, bez odgovarajućih alata, to je vrlo teško učiniti.

Za otkrivanje i sprječavanje ove kategorije napada možemo koristiti DataAdvantage da identifikuju grupe sa računalnim nalozima u njima, a zatim da im zabrani pristup. DataAlert ide dalje i omogućava vam da kreirate obaveštenje posebno za ovu vrstu scenarija.

Snimak ekrana ispod prikazuje prilagođeno obavještenje koje će se pokrenuti svaki put kada računski račun pristupi podacima na nadgledanom serveru.

Korišćenje PowerShell-a za podizanje privilegija lokalnih naloga

Sljedeći koraci pomoću PowerShell-a

Želite li znati više? Koristite šifru za otključavanje "blog" za besplatan pristup cijelom Video kurs PowerShell i Active Directory Basics.

izvor: www.habr.com

Dodajte komentar