„PowerShell“ naudojimas vietinių paskyrų privilegijoms padidinti

„PowerShell“ naudojimas vietinių paskyrų privilegijoms padidinti

Privilegijų eskalavimas yra tai, kad užpuolikas naudojasi dabartinėmis paskyros teisėmis, kad gautų papildomą, paprastai aukštesnio lygio prieigą prie sistemos. Nors privilegijų eskalavimas gali būti nulinės dienos pažeidžiamumų išnaudojimo arba pirmos klasės įsilaužėlių, vykdančių tikslinę ataką, darbo arba gerai užmaskuotų kenkėjiškų programų rezultatas, dažniausiai taip nutinka dėl netinkamos kompiuterio ar paskyros konfigūracijos. Plėtodami ataką toliau, užpuolikai naudoja keletą atskirų pažeidžiamumų, kurie kartu gali sukelti katastrofišką duomenų nutekėjimą.

Kodėl vartotojai neturėtų turėti vietinio administratoriaus teisių?

Jei esate saugos specialistas, gali atrodyti akivaizdu, kad vartotojai neturėtų turėti vietinio administratoriaus teisių, nes tai:

  • Padaro jų paskyras labiau pažeidžiamas įvairių atakų
  • Padaro tuos pačius priepuolius daug sunkesnius

Deja, daugeliui organizacijų tai vis dar yra labai prieštaringas klausimas ir kartais jį lydi karštos diskusijos (žr., pvz. mano vadovas sako, kad visi vartotojai turi būti vietiniai administratoriai). Nesigilindami į šios diskusijos detales, manome, kad užpuolikas įgijo vietinio administratoriaus teises tiriamoje sistemoje dėl išnaudojimo arba dėl to, kad mašinos nebuvo tinkamai apsaugotos.

1 veiksmas Apverskite DNS skiriamąją gebą naudojant „PowerShell“.

Pagal numatytuosius nustatymus „PowerShell“ yra įdiegta daugelyje vietinių darbo stočių ir daugumoje „Windows“ serverių. Ir nors ne be perdėto jis laikomas neįtikėtinai naudingu automatizavimo ir valdymo įrankiu, jis lygiai taip pat gali paversti beveik nematomu kenkėjiška programa be failų (įsilaužimo programa, kuri nepalieka atakos pėdsakų).

Mūsų atveju užpuolikas pradeda tinklo žvalgybą naudodamas PowerShell scenarijų, nuosekliai kartodamas tinklo IP adresų erdvę, bandydamas nustatyti, ar nurodytas IP perkeliamas į pagrindinį kompiuterį ir, jei taip, koks yra šio pagrindinio kompiuterio tinklo pavadinimas.
Yra daug būdų, kaip atlikti šią užduotį, tačiau naudojant cmdlet GautiADComputer yra patikima parinktis, nes ji pateikia tikrai turtingą duomenų rinkinį apie kiekvieną mazgą:

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

Jei greitis dideliuose tinkluose yra problema, gali būti naudojamas DNS atgalinis skambutis:

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

„PowerShell“ naudojimas vietinių paskyrų privilegijoms padidinti

Šis prieglobų įtraukimo į tinklą metodas yra labai populiarus, nes dauguma tinklų nenaudoja nulinio pasitikėjimo saugumo modelio ir nestebi vidinių DNS užklausų, ar nėra įtartinų veiklos pliūpsnių.

2 veiksmas: pasirinkite tikslą

Galutinis šio veiksmo rezultatas – gauti serverio ir darbo stočių prieglobos pavadinimų, kuriuos galima naudoti atakai tęsti, sąrašą.

„PowerShell“ naudojimas vietinių paskyrų privilegijoms padidinti

Iš pavadinimo „HUB-FILER“ serveris atrodo kaip vertas tikslas laikui bėgant failų serveriai, kaip taisyklė, sukaupia daugybę tinklo aplankų ir per daug žmonių gali prie jų prisijungti.

Naršydami naudodami „Windows Explorer“ galime aptikti atvirą bendrinamą aplanką, tačiau dabartinė paskyra negali jo pasiekti (tikriausiai turime tik įtraukimo į sąrašą teises).

3 veiksmas: išmokite ACL

Dabar savo HUB-FILER priegloboje ir tikslinėje dalyje galime paleisti PowerShell scenarijų, kad gautume ACL. Tai galime padaryti iš vietinio kompiuterio, nes jau turime vietinio administratoriaus teises:

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

Vykdymo rezultatas:

„PowerShell“ naudojimas vietinių paskyrų privilegijoms padidinti

Iš jo matome, kad domeno vartotojų grupė turi prieigą tik prie sąrašo, tačiau pagalbos tarnybos grupė taip pat turi teisę keistis.

4 veiksmas: paskyros identifikavimas

Bėgdamas Gaukite ADGroupNarį, galime gauti visus šios grupės narius:

Get-ADGroupMember -identity Helpdesk

„PowerShell“ naudojimas vietinių paskyrų privilegijoms padidinti

Šiame sąraše matome kompiuterio paskyrą, kurią jau nustatėme ir kurią jau pasiekėme:

„PowerShell“ naudojimas vietinių paskyrų privilegijoms padidinti

5 veiksmas: naudokite PSExec, kad paleistumėte kaip kompiuterio paskyrą

PsExec iš Microsoft Sysinternals leidžia paleisti komandas SYSTEM@HUB-SHAREPOINT sistemos paskyros kontekste, kuri, kaip žinome, yra pagalbos tarnybos tikslinės grupės narė. Tai yra, mums tereikia padaryti:

PsExec.exe -s -i cmd.exe

Na, tada jūs turite visišką prieigą prie tikslinio aplanko HUB-FILERshareHR, nes dirbate HUB-SHAREPOINT kompiuterio paskyros kontekste. Ir naudojant šią prieigą, duomenis galima nukopijuoti į nešiojamąjį saugojimo įrenginį arba kitaip gauti ir perduoti tinkle.

6 veiksmas: šios atakos aptikimas

Galima aptikti šį konkretų paskyros privilegijų derinimo pažeidžiamumą (kompiuterių paskyros, pasiekiančios tinklo dalis, o ne vartotojų paskyras ar paslaugų paskyras). Tačiau be tinkamų įrankių tai padaryti labai sunku.

Norėdami aptikti ir užkirsti kelią šios kategorijos atakoms, galime naudoti DataAdvantage identifikuoti grupes, kuriose yra kompiuterių paskyros, ir uždrausti prieigą prie jų. DataAlert eina toliau ir leidžia sukurti pranešimą būtent tokiam scenarijui.

Toliau pateiktoje ekrano kopijoje rodomas pasirinktinis pranešimas, kuris suaktyvinamas kiekvieną kartą, kai kompiuterio paskyra pasiekia duomenis stebimame serveryje.

„PowerShell“ naudojimas vietinių paskyrų privilegijoms padidinti

Kiti veiksmai naudojant „PowerShell“.

Norite sužinoti daugiau? Naudokite „tinklaraščio“ atrakinimo kodą, kad gautumėte nemokamą prieigą prie viso „PowerShell“ ir „Active Directory“ pagrindų vaizdo kursas.

Šaltinis: www.habr.com

Добавить комментарий