PowerShell izmantošana, lai paaugstinātu vietējā konta privilēģijas

PowerShell izmantošana, lai paaugstinātu vietējā konta privilēģijas

Privilēģiju eskalācija ir uzbrucēja tekošā konta tiesību izmantošana, lai iegūtu papildu, parasti augstāka līmeņa piekļuvi sistēmai. Lai gan privilēģiju eskalācija var būt nulles dienas ļaunprātīgas izmantošanas, mērķtiecīga uzbrukuma galveno hakeru vai gudri slēptas ļaunprogrammatūras rezultāts, tas visbiežāk notiek datora vai konta nepareizas konfigurācijas dēļ. Attīstot uzbrukumu, uzbrucēji izmanto vairākas atsevišķas ievainojamības, kas kopā var izraisīt katastrofālu datu noplūdi.

Kāpēc lietotājiem nevajadzētu būt vietējā administratora tiesībām?

Ja esat drošības speciālists, var šķist acīmredzami, ka lietotājiem nevajadzētu būt vietējā administratora tiesībām, jo:

  • Padara viņu kontus neaizsargātākus pret dažādiem uzbrukumiem
  • Padara šos pašus uzbrukumus daudz nopietnākus

Diemžēl daudzām organizācijām tas joprojām ir ļoti pretrunīgs jautājums, un dažreiz to pavada karstas diskusijas (sk., piemēram, mans vadītājs saka, ka visiem lietotājiem ir jābūt vietējiem administratoriem). Neiedziļinoties šīs diskusijas detaļās, mēs uzskatām, ka uzbrucējs ieguva vietējā administratora tiesības izmeklējamā sistēmā vai nu ļaunprātīgas izmantošanas dēļ, vai arī tāpēc, ka iekārtas nebija pienācīgi aizsargātas.

1. darbība: apgrieztā DNS nosaukuma izšķirtspēja, izmantojot PowerShell

Pēc noklusējuma PowerShell ir instalēts daudzās vietējās darbstacijās un lielākajā daļā Windows serveru. Un, lai gan tas ne bez pārspīlējuma tiek uzskatīts par neticami noderīgu automatizācijas un vadības rīku, tas ir tikpat spējīgs pārvērsties par gandrīz neredzamu bezfailu ļaunprogrammatūra (uzlaušanas programma, kas neatstāj uzbrukuma pēdas).

Mūsu gadījumā uzbrucējs sāk veikt tīkla izpēti, izmantojot PowerShell skriptu, secīgi atkārtojot tīkla IP adrešu telpu, cenšoties noteikt, vai dotā IP pāriet uz resursdatoru un, ja tā, kāds ir šī resursdatora tīkla nosaukums.
Ir daudz veidu, kā veikt šo uzdevumu, bet izmantojot cmdlet Gūt-ADComputer ir uzticama iespēja, jo tā atgriež patiešām bagātīgu datu kopu par katru mezglu:

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

Ja problēmas rada ātrums lielos tīklos, var izmantot reverso DNS sistēmas izsaukumu:

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

PowerShell izmantošana, lai paaugstinātu vietējā konta privilēģijas

Šī tīklā esošo saimniekdatoru uzskaites metode ir ļoti populāra, jo lielākā daļa tīklu neizmanto nulles uzticamības drošības modeli un neuzrauga iekšējos DNS vaicājumus, lai atklātu aizdomīgus darbības uzliesmojumus.

2. darbība: atlasiet mērķi

Šīs darbības gala rezultāts ir serveru un darbstaciju resursdatora nosaukumu saraksta iegūšana, ko var izmantot, lai turpinātu uzbrukumu.

PowerShell izmantošana, lai paaugstinātu vietējā konta privilēģijas

Pamatojoties uz tā nosaukumu, 'HUB-FILER' serveris šķiet cienīgs mērķis, jo... Laika gaitā failu serveros mēdz uzkrāties liels skaits tīkla mapju un pārāk daudz cilvēku piekļūst tām.

Pārlūkojot ar Windows Explorer, mēs varam noteikt, ka ir atvērta koplietota mape, taču mūsu pašreizējais konts nevar tai piekļūt (mums, iespējams, ir tikai ierakstīšanas tiesības).

3. darbība: ACL apguve

Tagad mūsu HUB-FILER resursdatorā un mērķa koplietojumā mēs varam palaist PowerShell skriptu, lai iegūtu ACL. Mēs to varam izdarīt no vietējās mašīnas, jo mums jau ir vietējā administratora tiesības:

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

Izpildes rezultāts:

PowerShell izmantošana, lai paaugstinātu vietējā konta privilēģijas

No tā mēs redzam, ka domēna lietotāju grupai ir piekļuve tikai ierakstam, bet palīdzības dienesta grupai ir arī rediģēšanas tiesības.

4. darbība: konta identifikācija

Skriešana Get-ADGroupMember, mēs varam iegūt visus šīs grupas dalībniekus:

Get-ADGroupMember -identity Helpdesk

PowerShell izmantošana, lai paaugstinātu vietējā konta privilēģijas

Šajā sarakstā redzams datora konts, kuru jau esam identificējuši un kuram jau ir piekļuvuši:

PowerShell izmantošana, lai paaugstinātu vietējā konta privilēģijas

5. darbība. Izmantojiet PSExec, lai strādātu ar datora kontu

PsExec Microsoft Sysinternals ļauj izpildīt komandas kontekstā ar SYSTEM@HUB-SHAREPOINT sistēmas kontu, kas, kā mēs zinām, ir palīdzības dienesta mērķa grupas dalībnieks. Tas ir, mums vienkārši jādara:

PsExec.exe -s -i cmd.exe

Tad jums ir pilna piekļuve mērķa mapei HUB-FILERshareHR, jo jūs strādājat HUB-SHAREPOINT datora konta kontekstā. Un ar šo piekļuvi datus var kopēt uz pārnēsājamu atmiņas ierīci vai citādi izgūt un pārsūtīt tīklā.

6. darbība: šī uzbrukuma noteikšana

Var atklāt šo konkrēto konta atļauju konfigurācijas ievainojamību (datoru konti, kas piekļūst tīkla koplietojumam, nevis lietotāju kontiem vai pakalpojumu kontiem). Tomēr bez piemērotiem instrumentiem to ir ļoti grūti izdarīt.

Lai atklātu un novērstu šīs kategorijas uzbrukumus, mēs varam izmantot DataAdvantage lai identificētu grupas ar datoru kontiem un pēc tam liegtu tām piekļuvi. DataAlert iet tālāk un ļauj izveidot paziņojumu tieši šāda veida scenārijam.

Tālāk esošajā ekrānuzņēmumā ir parādīts pielāgots paziņojums, kas tiks aktivizēts ikreiz, kad datora konts piekļūs datiem uzraudzītajā serverī.

PowerShell izmantošana, lai paaugstinātu vietējā konta privilēģijas

Nākamās darbības, izmantojot PowerShell

Vai vēlaties uzzināt vairāk? Izmantojiet atbloķēšanas kodu "emuārs", lai bez maksas piekļūtu pilnai informācijai PowerShell un Active Directory pamatu video kurss.

Avots: www.habr.com

Pievieno komentāru