1. Bevezetés
Olyan cégek, amelyek nem hozták létre a távoli hozzáférés rendszerét, sürgősséggel telepítették azokat néhány hónappal ezelőtt. Nem minden adminisztrátor volt felkészülve egy ekkora „hőségre”, ennek következményeként pedig biztonsági hiányosságok léptek fel: az szolgáltatások helytelen konfigurációja vagy akár elavult szoftververziók telepítése, amelyekben korábban felfedezett sebezhetőségek rejtőztek. Néhányan már tapasztalhatták a következményeket, mások szerencsésebbek voltak, de mindenképpen érdemes mindenkinek levonni a tanulságokat. A távoli munkavégzés iránti lojalitás ugrásszerűen megnőtt, és egyre több vállalat fogadja el a távmunkát állandó formátumként.
Tehát a távoli hozzáférés biztosításának számos módja létezik: különböző VPN-ek, RDS és VNC, TeamViewer és mások. Az adminisztrátorok választhatnak a vállalati hálózat felépítése és az abban található eszközök sajátosságai alapján. A legnépszerűbbek továbbra is a VPN megoldások, azonban sok kisvállalat az RDS-t (Remote Desktop Services) választja, mivel azok egyszerűbbek és gyorsabbak a telepítés során.
Ebben a cikkben részletesen beszélünk az RDS biztonságáról. Rövid áttekintést adunk a jól ismert sebezhetőségekről, valamint megvizsgálunk néhány támadási forgatókönyvet az Active Directory alapú hálózati infrastruktúrára. Reméljük, hogy cikkünk segít valakinek a hibák kijavításában és a biztonság növelésében.
2. Legutóbbi RDS/RDP sebezhetőségek
Bármilyen szoftver tartalmaz hibákat és sebezhetőségeket, amelyeket a rosszindulatú támadók ki tudnak használni, és az RDS sem kivétel. Az utóbbi időben a Microsoft gyakran számolt be új sebezhetőségekről, így rövid áttekintést készítettünk róluk:
Ez a sebezhetőség veszélybe sodorja azokat a felhasználókat, akik kompromittált szerverekhez csatlakoznak. A támadó megkaphatja a felhasználói eszköz feletti irányítást, vagy bejuthat a rendszerbe, hogy folyamatos távoli hozzáférést biztosítson.
- / /
Ez a sebezhetőségi csoport lehetővé teszi, hogy egy jogosulatlan támadó távolról végrehajtson tetszőleges kódot egy RDS-t futtató szerveren egy különösen formált kérelem segítségével. Ezen kívül, ezek felhasználhatók férgek létrehozására – olyan rosszindulatú programokra, amelyek önállóan fertőzik meg a hálózaton lévő szomszédos készülékeket. Így ezek a sebezhetőségek veszélybe sodorhatják az egész vállalati hálózatot, és csak a megfelelő időben végzett frissítés segíthet rajtuk.
A távoli hozzáféréshez szükséges szoftverek fokozott figyelmet kapnak mind a kutatóktól, mind a kiberbűnözőktől, ezért hamarosan újabb hasonló sebezhetőségekről hallhatunk.
A jó hír az, hogy nem minden sebezhetőséghez érhetőek el nyilvános exploitok. A rossz hír az, hogy a szakértelemmel rendelkező támadó számára nem lesz nehéz exploitot írni egy sebezhetőséghez a leírás alapján, vagy olyan módszerek alkalmazásával, mint a Patch Diffing (erről kollégáink írtak a ). Ezért javasoljuk, hogy rendszeresen frissítse a szoftvert, és kövesse nyomon az új sebezhetőségekről szóló bejelentéseket.
3. Támadások
Átérünk a cikk második részére, ahol bemutatjuk, hogyan indulnak el a támadások a Active Directory alapú hálózati infrastruktúrával szemben.
A leírt módszerek a következő támadómintára vonatkoznak: egy támadó, aki felhasználói fiókkal rendelkezik és hozzáférése van a Remote Desktop Gatewayhez – a terminál szerverhez (ami gyakran elérhető például a külső hálózatból). E módszerek alkalmazásával a támadó folytathatja a támadást az infrastruktúra ellen, és megerősítheti a jelenlétét a hálózatban.
A hálózat konfigurációja esettől függően változhat, de a leírt módszerek meglehetősen univerzálisak.
Példák a korlátozott környezetből való kijutásra és a jogosultságok emelésére
A Remote Desktop Gatewayhez való hozzáféréskor a támadó valószínűleg egy korlátozott környezettel találkozik. A terminál szerverhez való csatlakozáskor egy alkalmazás fut, amely a Remote Desktop protokoll segítségével történő kapcsolódáshoz szükséges ablakot, fájlkezelőt, irodai csomagokat vagy bármilyen más szoftvert tartalmaz.
A támadó célja a parancsok végrehajtásához való hozzáférés megszerzése, azaz a cmd vagy a powershell elindítása. Ebben segíthetnek az Windows esetében klasszikus ‘sandbox’ elkerülési technikák. Ezeket a továbbiakban vizsgáljuk meg.
1. lehetőség. A támadó hozzáférést nyer a Remote Desktop kapcsolódási ablakához a Remote Desktop Gateway keretein belül:

Megnyílik a 'Show Options' menü. Megjelennek az opciók a csatlakozási konfigurációs fájlok manipulálásához:

Ebből az ablakból könnyedén be lehet lépni a Fájlkezelőbe az 'Open' vagy 'Save' bármelyik gombjára kattintva:

Megnyílik a Fájlkezelő. Az „címsor” lehetőséget ad a megengedett végrehajtható fájlok indítására, valamint a fájlrendszer listázására. Ez hasznos lehet a támadó számára, ha a rendszerlemez rejtve van, és közvetlen hozzáférés nem lehetséges:

→
Hasonló forgatókönyvet lehet megvalósítani például az Excel távoli alkalmazásként való használatával a Microsoft Office csomagból.
→
Ezenkívül ne feledkezzünk meg a makrókról, amelyek a dokumentumcsomagban használatosak. Kollégáink már vizsgálták a makrók biztonsági problémáit ebben a .
2. lehetőség. Ugyanazokkal a bemeneti adatokkal, mint a korábbi esetben, a támadó több kapcsolatot hoz létre egy távoli asztalhoz ugyanazzal a fiókkal. Amikor újracsatlakozik, az első kapcsolat zárva lesz, és egy hibaüzenetet tartalmazó ablak jelenik meg a képernyőn. A segítség gomb megnyomása a hibaüzenet ablakában előhívja az Internet Explorert a szerveren, majd a támadó a Fájlkezelőbe léphet.
→
3. lehetőség. Amikor végrehajtható fájlok indítására vonatkozó korlátozások vannak érvényben, a támadó olyan helyzetbe kerülhet, amikor a csoportházirendek megakadályozzák a cmd.exe indítását rendszergazdai jogosultsággal.
Van mód a megkerülésére azzal, ha bat fájlt indítunk a távoli asztalon a következő tartalommal: cmd.exe /K . A cmd indításakor fellépő hiba és a bat fájl sikeres végrehajtása az alábbi képen látható.

4. lehetőség. Az alkalmazások végrehajtásának megtiltása végrehajtható fájlnevek fekete listás formájában nem hiba, megkerülhetők.
Nézzünk meg egy következő forgatókönyvet: letiltottuk a parancssorhoz való hozzáférést, megakadályoztuk az Internet Explorer és a PowerShell indítását csoportházirendek révén. A támadó megpróbálja előhívni a súgót – semmilyen válasz nem érkezik. Megpróbálja elindítani a PowerShell-t a kontextusmenüből, amely egy modális ablakot idéz elő a Shift billentyű lenyomásával – üzenet a rendszergazdai indítási tilalomról. Megpróbálja elindítani a PowerShell-t a címsorból – ismét semmilyen válasz. Hogyan kerülhető meg a korlátozás?
Elég, ha átmásoljuk a powershell.exe fájlt a C:WindowsSystem32WindowsPowerShellv1.0 mappából a felhasználói mappába, átnevezzük valami nem powershell.exe névre, és megnyílik a végrehajtás lehetősége.
Alapértelmezés szerint a távoli asztalhoz való csatlakozáskor hozzáférést kapunk az ügyfél helyi lemezeihez, ahonnan a támadó átmásolhatja a powershell.exe fájlt, majd átnevezés után elindíthatja.
→
Csak néhány módszert mutattunk be a korlátozások megkerülésére, számos forgatókönyv áll még rendelkezésre, de mindegyik közös eleme a Windows Intéző használata. Számos alkalmazás létezik, amelyek a Windows alapvető eszközeit használják a fájlok kezelésére, és ha ezek korlátozott környezetbe kerülnek, hasonló technikákat lehet alkalmazni.
4. Ajánlások és következtetések
Ahogy látjuk, még egy korlátozott környezetben is van lehetőség a támadási fejlődésre. Azonban megnehezíthetjük a támadó dolgát. Általános ajánlásokat adunk, amelyek hasznosak lehetnek a felsorolt lehetőségekben és más esetekben is.
- Korlátozza a programok futtatását fekete/fehér listák segítségével, csoportházirendek alkalmazásával.
Ekkor a legtöbb esetben még mindig lehetőség van kód futtatására. Javasoljuk, hogy ismerkedjen meg a , hogy képet kapjon a dokumentálatlan fájlmanipulációs és kódvégrehajtási módszerekről a rendszerben.
Javasoljuk, hogy kombinálja mindkét típusú korlátozást: például engedélyezheti a Microsoft által aláírt végrehajtható fájlok futtatását, de korlátozhatja a cmd.exe futtatását. - Kikapcsolhatja az Internet Explorer beállítások füleit (ezt helyileg a rendszerleíró adatbázisban is megteheti).
- A regedit-en keresztül tiltsa le a Windows beépített súgójának hívását.
- Korlátozza a helyi meghajtók csatlakoztatásának lehetőségét távoli kapcsolatok esetén, ha ez a korlátozás nem kritikus a felhasználók számára.
- Korlátozza a távoli gép helyi meghajtóihoz való hozzáférést, csak a felhasználói mappákhoz való hozzáférést hagyjon meg.
Reméljük, hogy Önnek legalább érdekes volt, a maximum pedig, hogy ez a cikk segít a vállalat távoli munkájának biztonságosabbá tételében.
Forrás: habr.com
