A PowerShell használata a helyi fiókok jogosultságának növelésére

A PowerShell használata a helyi fiókok jogosultságának növelésére

A privilégium-kiterjesztés azt jelenti, hogy a támadó a fiók jelenlegi jogait használja fel további, általában magasabb szintű hozzáféréshez a rendszerhez. Míg a privilégiumok kiszélesítése a nulladik napi sebezhetőségek kihasználásának, vagy az első osztályú hackerek célzott támadást végrehajtó munkájának, vagy ügyesen álcázott rosszindulatú programoknak köszönhető, ennek oka leggyakrabban a számítógép vagy a fiók hibás konfigurálása. A támadást továbbfejlesztve a támadók számos egyedi sebezhetőséget használnak fel, amelyek együttesen katasztrofális adatszivárgáshoz vezethetnek.

Miért ne rendelkezhetnének helyi rendszergazdai jogokkal a felhasználók?

Ha Ön biztonsági szakember, nyilvánvalónak tűnhet, hogy a felhasználóknak nem kell helyi rendszergazdai jogokkal rendelkezniük, mivel ez:

  • Sebezhetőbbé teszi fiókjaikat a különféle támadásokkal szemben
  • Ugyanezeket a támadásokat sokkal súlyosabbá teszi

Sajnos sok szervezet számára ez még mindig nagyon vitatott kérdés, és néha heves viták kísérik (lásd pl. a felettesem szerint minden felhasználónak helyi rendszergazdának kell lennie). Anélkül, hogy belemennénk a vita részleteibe, úgy gondoljuk, hogy a támadó helyi rendszergazdai jogokat szerzett a vizsgált rendszeren, vagy egy exploit révén, vagy azért, mert a gépek nem voltak megfelelően védve.

1. lépés DNS-feloldás fordítottja a PowerShell segítségével

Alapértelmezés szerint a PowerShell számos helyi munkaállomáson és a legtöbb Windows-kiszolgálón telepítve van. És bár nem túlzás nélkül hihetetlenül hasznos automatizálási és vezérlőeszköznek tartják, ugyanúgy képes szinte láthatatlanná átalakulni. fájl nélküli kártevő (hacker program, amely nem hagy nyomot a támadásnak).

Esetünkben a támadó egy PowerShell-szkript segítségével kezdi meg a hálózati felderítést, szekvenciálisan iterálva a hálózati IP-címtartományon keresztül, és megpróbálja meghatározni, hogy egy adott IP-cím feloldódik-e egy gazdagéphez, és ha igen, mi ennek a gazdagépnek a hálózati neve.
Számos módja van ennek a feladatnak, de a parancsmag használatával Kap-Az ADComputer szilárd lehetőség, mert nagyon gazdag adatkészletet ad vissza minden csomópontról:

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

Ha a sebesség nagy hálózatokon probléma, akkor DNS-visszahívás használható:

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

A PowerShell használata a helyi fiókok jogosultságának növelésére

A gazdagépek hálózaton való felsorolásának ez a módszere nagyon népszerű, mivel a legtöbb hálózat nem használ zéró bizalmi biztonsági modellt, és nem figyeli a belső DNS-kéréseket a gyanús tevékenységkitörések miatt.

2. lépés: Válasszon célt

Ennek a lépésnek a végeredménye a támadás folytatásához használható kiszolgáló- és munkaállomás-gazdanevek listája.

A PowerShell használata a helyi fiókok jogosultságának növelésére

A név alapján a 'HUB-FILER' szerver méltó célpontnak tűnik, hiszen idővel a fájlszerverek általában nagyszámú hálózati mappát halmoznak fel, és túl sok ember fér hozzájuk.

A Windows Intézővel való böngészés lehetővé teszi, hogy észleljük egy nyitott megosztott mappa jelenlétét, de a jelenlegi fiókunk nem fér hozzá (valószínűleg csak listázási jogunk van).

3. lépés: Ismerje meg az ACL-eket

Most a HUB-FILER gazdagépünkön és célmegosztásunkon egy PowerShell-szkriptet futtathatunk az ACL beszerzéséhez. Ezt megtehetjük a helyi gépről, mivel már rendelkezünk helyi rendszergazdai jogokkal:

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

A végrehajtás eredménye:

A PowerShell használata a helyi fiókok jogosultságának növelésére

Ebből azt látjuk, hogy a Domain Users csoport csak a listához fér hozzá, de a Helpdesk csoportnak is van változtatási joga.

4. lépés: Számlaazonosító

Futás Get-ADGroupMember, a csoport összes tagját megkaphatjuk:

Get-ADGroupMember -identity Helpdesk

A PowerShell használata a helyi fiókok jogosultságának növelésére

Ebben a listában egy olyan számítógépes fiókot látunk, amelyet már azonosítottunk, és amelyet már elértünk:

A PowerShell használata a helyi fiókok jogosultságának növelésére

5. lépés: Használja a PSExec-et számítógépfiókként való futtatáshoz

Psexec A Microsoft Sysinternals-tól lehetővé teszi a parancsok végrehajtását a SYSTEM@HUB-SHAREPOINT rendszerfiók kontextusában, amelyről tudjuk, hogy a Helpdesk célcsoportjának tagja. Vagyis csak tennünk kell:

PsExec.exe -s -i cmd.exe

Nos, akkor teljes hozzáférése van a HUB-FILERshareHR célmappához, mivel Ön a HUB-SHAREPOINT számítógépfiók kontextusában dolgozik. Ezzel a hozzáféréssel pedig az adatok hordozható tárolóeszközre másolhatók, vagy más módon visszakereshetők és a hálózaton keresztül továbbíthatók.

6. lépés: A támadás észlelése

Felfedezhető ez a bizonyos fiókjogosultság-hangolási rés (a felhasználói fiókok vagy szolgáltatásfiókok helyett a hálózati megosztásokhoz hozzáférő számítógépes fiókok). Megfelelő eszközök nélkül azonban ezt nagyon nehéz megtenni.

Az ilyen típusú támadások észlelésére és megelőzésére használhatjuk DataAdvantage hogy azonosítsa a számítógépfiókokkal rendelkező csoportokat, majd megtagadja a hozzáférést. DataAlert tovább megy, és lehetővé teszi, hogy értesítést hozzon létre kifejezetten ehhez a forgatókönyvhöz.

Az alábbi képernyőképen egy egyéni értesítés látható, amely minden alkalommal aktiválódik, amikor egy számítógépfiók hozzáfér egy felügyelt kiszolgálón lévő adatokhoz.

A PowerShell használata a helyi fiókok jogosultságának növelésére

A PowerShell következő lépései

Többet szeretne tudni? Használja a "blog" feloldó kódot a teljes ingyenes hozzáféréshez PowerShell és Active Directory alapjai videó tanfolyam.

Forrás: will.com

Hozzászólás