A program futtatása rendszergazdai jogok nélkül és az UAC prompt elnyomása. A program futtatása rendszergazdai jogok nélkül, és az UAC-kérdés letiltása a Windows 7 rendszerszinten

Elcomsoft System Recovery Professional v 3.0.0.466 Retail ML RUS – speciálisan előkészítve iso kép bármely fiók jelszavának helyreállításához bármely Windows rendszerben.

A szolgáltatásokhoz intézett összes hívás oroszlánrésze technikai támogatás társított elveszett ill elfelejtett jelszavakat bejelentkezni. Ez a program segítsen, állítsa vissza vagy változtassa meg jelszavát egyszerűen és gyorsan! Nincs szükség a meghajtó újraformázására vagy a Windows újratelepítésére. Indítsa el számítógépét egy használatra kész lemezről, és néhány percen belül oldja fel a rendszer zárolását! Az Elcomsoft System Recovery lehetővé teszi a jelszavak azonnali visszaállítását fiókok, amely bizonyos esetekben támadássorozaton keresztül is lehetővé teszi az eredeti jelszavak rövid időn belüli megtalálását.

Az Elcomsoft System Recovery feloldja a rendszergazdai és más felhasználói fiókok zárolását Windows 2000, Windows 7 (32 bites és 64 bites verziók), Windows 98 rendszeren, Windows Server 2003/2008, Windows Vista(32 bites és 64 bites verziók), Windows XP.

Az Elcomsoft System Recovery szolgáltatásai:

Letölthető – a Microsoft által licencelt Windows rendszeren (előtelepítési környezet) alapul.
- Jelszavak helyreállítása vagy visszaállítása mind az adminisztrátor, mind az összes többi felhasználó fiókjához.
- Eredeti jelszavak helyreállítása (bizonyos esetekben), hozzáférés biztosítása EFS segítségével titkosított adatokhoz.
- Fiókok feloldása (lezárt vagy letiltott állapotú).
- A jogosultságok megemelése (rendszergazdai szintig) bármely fiókhoz.
- Hozzáférés azokhoz a fiókokhoz, amelyek jelszava lejárt.
-Támogatja a széles választékot hardver; natív támogatás a FAT, FAT32 és NTFS fájlrendszerekhez.
-Szokásos GUI A Windows használata egyszerű és kényelmes.
-Támogatja az operációs rendszerek teljes skáláját: Windows 2000, Windows 7 (32 bites és 64 bites verziók), Windows 98, Windows Server 2003/2008, Windows Vista (32 bites és 64 bites verziók), Windows XP.
-Támogatja az amerikai, orosz és egyéb lokalizált Windows verziók; minden nyelven használható felhasználónevekkel és jelszavakkal.
- A Windows összes telepített példányának automatikus felismerése.
- Lehetőség jelszókivonatok letöltésére (további elemzéshez és helyreállításhoz) mind a helyi rendszerleíró adatbázisból, mind az Active Directoryból.

Letölthető:

Az Elcomsoft System Recovery a következőképpen érkezik: indítólemez, amely azonnal használható; Ha szükséges, létrehozhat egy indítható USB-meghajtót. Nem kell saját kezűleg égetnie a lemezt; Hozzáférés Windows disztribúció szintén nem szükséges.
Az Elcomsoft licencelt Windows rendszer Előtelepítési környezet (Windows PE) a Microsofttól.

Könnyen kezelhető:

A Windows PE kényelmes és ismerős Windows interfész. Nincsenek forgatókönyvek, nem parancs sor, nincs bonyolult beállítás!
Egyszerűen indítsa el számítógépét az Elcomsoft rendszer-helyreállító CD-ről vagy flash meghajtóról, és oldja meg a rendszer-hozzáférési problémákat.

Széleskörű kompatibilitás:

Az Elcomsoft System Recovery a hardverek legszélesebb skáláját támogatja, beleértve a SATA, SCSI és RAID vezérlőket a legtöbb gyártótól: Adaptec, Intel, LSI, NVIDIA, Promise, SiS és VIA. Még ha valamilyen egzotikus vezérlőt használ is, betöltheti a szükséges illesztőprogramot (általában a hardverrel együtt) floppy lemezről, CD-ről vagy flash meghajtóról.

Más, saját kódot használó termékektől eltérően, amelyek megbízhatósága és kompatibilitása nem garantált, az Elcomsoft System Recovery natív (a Microsofttól származó) támogatást tartalmazza az összes Microsoft fájlrendszerhez: FAT, FAT32 és NTFS.

Sok program indításkor emelést igényel (a pajzs ikon az ikon mellett), de valójában nem igényelnek rendszergazdai jogosultságokat a normál működésükhöz (például manuálisan adta meg a szükséges jogokat a felhasználóknak a ProgramFiles programkönyvtárában és a a program által használt rendszerleíró ágak). Ennek megfelelően, ha egy ilyen programot egyszerű felhasználó alól futtat, ha a Felhasználói fiókok felügyelete engedélyezve van a számítógépen, megjelenik egy UAC prompt, és a felhasználónak meg kell adnia a rendszergazdai jelszót. A mechanizmus megkerüléséhez sokan egyszerűen letiltják az UAC-t, vagy adminisztrátori jogokat adnak a felhasználónak a számítógépen azáltal, hogy hozzáadják a helyi Rendszergazdák csoporthoz. Természetesen mindkét módszer nem biztonságos.

Miért kellenek egy normál alkalmazásnak adminisztrátori jogok?

Adminisztrátori jogokra lehet szükség ahhoz, hogy a program módosítson bizonyos fájlokat (naplók, konfigurációk stb.) a saját mappájában a C:\-ben. Program fájlok(x86)\SomeApp). Alapértelmezés szerint a felhasználóknak nincs joguk szerkeszteni ezt a könyvtárat, illetve egy ilyen program normál működéséhez rendszergazdai jogokra van szükség. A probléma megoldásához az NTFS-szintű adminisztrátor alatt manuálisan hozzá kell rendelnie a felhasználó (vagy a Felhasználók csoport) módosítási/írási jogát a programot tartalmazó mappához.

jegyzet. Valójában nem helyes az a gyakorlat, hogy a változó alkalmazásadatokat a saját könyvtárában tárolják a C:\Program Files könyvtárban. Helyesebb az alkalmazás adatait a felhasználói profilban tárolni. De ez a kérdés a fejlesztők lustaságáról és hozzá nem értéséről szól.

Olyan program futtatása, amely rendszergazdai jogosultságokat igényel egy normál felhasználótól

Korábban leírtuk, hogyan használhatja a RunAsInvoker paramétert. Ez a módszer azonban nem elég rugalmas. A /SAVECRED is használható az adminisztrátori jelszó mentéséhez (szintén nem biztonságos). Tekintsünk egy egyszerűbb módot arra, hogy bármilyen program elindítását rendszergazdai jogok nélkül (és az adminisztrátori jelszó megadása nélkül) kényszerítsük ki, ha az UAC engedélyezett (4., 3. vagy 2. szint).

Vegyük például a beállításjegyzék-szerkesztő segédprogramot - regedit.exe(a C:\windows\system32 könyvtárban található). A regedit.exe futtatásakor megjelenik egy UAC-ablak, és ha nem erősíti meg a jogosultság-emelést, a rendszerleíróadatbázis-szerkesztő nem indul el.

Hozzon létre egy fájlt az asztalon run-as-non-admin.bat a következő szöveggel:

cmd /min /C "set __COMPAT_LAYER=RUNASINVOKER && start "" % 1"

Most, hogy az alkalmazást rendszergazdai jogok nélkül futtassa, és elnyomja az UAC promptot, egyszerűen húzza a kívánt exe fájlt ebbe bat fájl az asztalon.

Ezt követően a rendszerleíróadatbázis-szerkesztőnek UAC-parancs nélkül kell elindulnia. Nyissa meg a folyamatkezelőt, és adjon hozzá egy oszlopot Emelkedett(többekkel magas szint engedélyek), látni fogja, hogy a rendszer nem emelt szintű regedit.exe folyamattal rendelkezik (felhasználói jogokkal fut).

Próbáljon meg szerkeszteni bármely beállítást a HKLM ágban. Amint láthatja, a rendszerleíró adatbázis szerkesztéséhez való hozzáférés ebben az ágban megtagadva (a ezt a felhasználót nincs írási engedély a rendszerleíró adatbázis ágaihoz). Kulcsokat azonban hozzáadhat és szerkeszthet a felhasználó saját rendszerleíró adatbázisában - HKCU.

Hasonlóképpen futtathat egy adott alkalmazást egy bat fájlon keresztül, csak adja meg a végrehajtható fájl elérési útját.

run-app-as-non-admin.bat

Állítsa be az ApplicationPath="C:\Program Files\MyApp\testapp.exe"
cmd /min /C "set __COMPAT_LAYER=RUNASINVOKER && start "" %ApplicationPath%"

Azt is hozzá lehet adni helyi menü, amely lehetővé teszi, hogy minden alkalmazás emelkedés nélkül fusson. Ehhez hozza létre a következő reg fájlt, és importálja a rendszerleíró adatbázisba.

Windows Registry Editor 5.00 verzió


@="cmd /min /C \"set __COMPAT_LAYER=RUNASINVOKER && start \"\" \"%1\"\""

Ezt követően a rendszergazdai jogok nélküli alkalmazás elindításához egyszerűen válassza ki a "" elemet a helyi menüben.

__COMPAT_LAYER környezeti változó és RunAsInvoker paraméter

A __COMPAT_LAYER környezeti változó lehetővé teszi különböző kompatibilitási szintek beállítását az alkalmazásokhoz (lap Kompatibilitás ingatlanokban .exe fájl). Ezzel a változóval megadhatja azokat a kompatibilitási beállításokat, amelyekkel a programot futtatni kívánja. Például egy alkalmazás Windows 7 kompatibilitási módban 640x480 felbontású futtatásához állítsa be:

set __COMPAT_LAYER=Win7RTM 640x480

A __COMPAT_LAYER változó számunkra érdekes opciói közül a következő paramétereket választjuk ki:

  • RunAsInvoker- Indítsa el az alkalmazást szülői folyamatjogokkal, UAC prompt nélkül.
  • RunAsHighest- indítsa el az alkalmazást maximális jogokkal, a felhasználó rendelkezésére áll(Az UAC prompt megjelenik, ha a felhasználó rendszergazdai jogosultsággal rendelkezik).
  • RunAsAdmin- futtassa az alkalmazást rendszergazdai jogokkal (mindig megjelenik az AUC kérés).

Azok. a RunAsInvoker paraméter nem ad rendszergazdai jogokat, csak blokkolja az UAC ablak megjelenését.

Az átlagos felhasználó számára az UAC mechanizmus bosszantó ablak, amely szinte minden művelet megerősítését igényli. Megszokásból minden "Microsoft" újítást nagyon szkeptikusan értékelnek, és a felhasználó azt keresi, hogyan lehet teljesen kikapcsolni. De talán a biztonság kedvéért érdemes néha elviselni egy kis kényelmetlenséget? Ebben a cikkben elmondjuk, miért van szüksége még mindig az UAC-ra, és hogyan konfigurálhatja azt. UAC – Felhasználói fiókok felügyeleti mechanizmusa A fiókok kezelésével az UAC mechanizmus valóban hatékonyan védi az operációs rendszert. Minden olyan mechanizmus letiltására tett kísérlet, mint például az UAC, szerezze be a sajátját fiókot rendszergazdai státusz a számítógépen, csak egy dologra számítanak - a teljes ellenőrzésre és a teljes jogok birtoklására saját számítógép, függetlenül attól, hogy a felhasználó mennyire tapasztalt. De ezt nagyon aktívan használják azok, akik rosszindulatú szoftvereket hoznak létre, amelyek a számítógépére behatolva rendszergazdai jogokat használhatnak - akárcsak Ön. Veszélyes tartalom támadja meg a rendszerleíró adatbázist, a fájlrendszert és a Windows-szolgáltatásokat. Ez az oka annak, hogy még ha rendszergazdai fiókot is használ, és teljes jogokkal rendelkezik, az UAC továbbra is aktívan „beavatkozik” a felhasználó útjába, hogy minden ajtót a vírusok elé állítson. Kivéve persze, ha engedélyezve van... Ebben az esetben az UAC blokkol minden hozzáférést a rendszerfájlok állapotával rendelkező fájlokhoz, valamint a rendszerleíró adatbázisban és a szolgáltatásokhoz. Mindegyik esetben megjelenik egy jellemző ablak, amely leírja, hogy mit és hol ér el, és megerősítést kér. Például ez (a program telepítésekor): LehetőségekUAC Az UAC beállítása meglehetősen egyszerű és világos. Ehhez védelmi szinteket hoztunk létre, összesen 4 db. A mechanizmus beállítási ablakának megnyitásához és annak egyszerűségéhez nyissa meg a Start gombot, és írja be a keresésbe például a következő lekérdezést:
Kattintson a "Felhasználói fiókok felügyeleti beállításainak módosítása" gombra, és megnyílik egy ablak az UAC mechanizmus egyszerű konfigurálásához.
4 védelmi szintet kínálnak - a legmagasabbtól a teljes leállás ezt a mechanizmust. Az egyes szintek részletes leírása a skála jobb oldalán található területen található. Mélyebb testreszabás Az UAC mechanizmus a Biztonsági szabályzatban érhető el. A szolgáltatás megnyitásához különböző módszereket használhat:

  • Start gomb - írja be a "Helyi biztonsági szabályzat" lekérdezést a keresőmezőbe. Keresse meg a kívánt eredményt a javasoltak között;
  • Gyorsbillentyűk " win+R” - megnyílik a „Futtatás” ablak. Írja be vagy másolja be a parancsot secpol.msc, erősítse meg az OK gombbal.


  1. A legelső paraméter minden házirendet érint, és meghatározza azok jellemzőit ez a számítógép. Ha bekapcsol Ezzel az opcióval egy párbeszédpanel jelenik meg minden olyan felhasználó számára, aki a Rendszergazdák csoport tagja, és emelt szintű engedélyeket kér (amikor az UAC aktiválva van). Ha letiltása, akkor a korlátozások feloldódnak.
  2. Ez a beállítás alapértelmezés szerint engedélyezve van a munkacsoportok számára. Ha ő beleértve, akkor minden elindított programnál be van jelölve digitális aláírás a Microsoft által kiadott. Ha az aláírás hiányzik, az alkalmazás nem települ, de a felhasználó magasabb szintre emelése szükséges munkacsoport. Ezután meg kell adnia a rendszergazdai fiók nevét és jelszavát.
  3. Nál nél befogadás Ezzel a beállítással az összes UAC prompt a biztonságos asztalra kerül, amikor kikapcsolni- interaktívra.
  4. Ez a paraméter az Adminisztrátorok csoport felhasználói számára megadja, hogy milyen típusú prompt jelenjen meg, ha emelés szükséges.
    • Frissítés kérés nélkül. A hitelesítő adatok megadása és a hozzájárulás megerősítése nem szükséges. Ha ezt a lehetőséget választja, a jogok egyenlővé válnak a beépített rendszergazdai fiókkal.
    • Hitelesítési adatok kérése a biztonságos asztalon. Ha a rendszer felkéri a biztonságos asztal jogainak emelésére, meg kell adnia egy jogosultsággal rendelkező felhasználó bejelentkezési nevét és jelszavát, hogy a műveletet a legmagasabb felhasználói jogokkal folytathassa.
    • Kérjen beleegyezést a biztonságos asztalon. Nem kell jelszót megadnia, ehelyett a rendszer kéri, hogy engedélyezze vagy tiltsa le az emelést.
    • Hitelesítési kérelem. Jelszó megadása minden olyan művelethez, amely emelést igényel.
    • Hozzájárulás kérése. Kérjen magassági engedélyt minden olyan művelethez, amely ezt igényli.
    • Kérjen beleegyezést harmadik fél bináris fájljaihoz. Mert harmadik féltől származó alkalmazások(nem Windows), amelyek emelést igényelnek, a rendszer felkéri, hogy engedélyezze vagy tagadja meg az engedélyt a biztonságos asztalon. Engedély esetén a művelet maximális jogokkal folytatódik.
  5. Meghatározza, hogy a rendszer milyen műveletet tegyen, ha egy normál jogosultságokkal rendelkező felhasználó hozzáfér az emelést igénylő alkalmazásokhoz.
    • Hitelesítési adatok kérése a biztonságos asztalon(alapértelmezés szerint beállítva). A felhasználónak meg kell adnia a rendszergazdai hitelesítési adatokat (név és jelszó), míg a művelet (ha az adatok helyesen vannak megadva) egy biztonságos asztalon történik.
    • Hitelesítési kérelem. A felhasználónak meg kell adnia a rendszergazda hitelesítő adatait (név és jelszó). Ha az adatokat helyesen adta meg, a művelet folytatódik.
    • A magassági kérelmek automatikus elutasítása.Üzenetet jelenít meg a jogosultságok emelésének tilalmáról.
  6. Nál nél beleértve paraméter, ezek az alkalmazások csak akkor fognak futni, ha biztonságos mappákban vannak, amikor ki- Akárhogyan is.
  7. Az alapértelmezés szerint letiltott beállítás segít eldönteni, hogy ellenőriznie kell-e az aláírásokat az interaktív PKI (nyilvános kulcs) alkalmazásokhoz. Tartalmazza csak azokban a szervezetekben van értelme, ahol ez az ellenőrzés megfelelő.
  8. Olyan régebbi alkalmazásokhoz, amelyek megpróbálják elérni a rendszer védett területeit. Ha letiltása, akkor ezek az alkalmazások egyáltalán nem fognak futni, és hibával végződik. Ha bekapcsol(alapértelmezett), akkor a Runtime átirányításokat hoz létre a rendszer és a rendszerleíró adatbázis bizonyos helyeire való összeomláshoz.
  9. Alapértelmezés szerint letiltott opció normál felhasználók számára.
  10. A paraméter, ami szintén Tiltva alapértelmezett. Ebben az esetben a beépített rendszergazdai fiók használatakor minden alkalmazás maximális jogosultsággal fut. Ha azt bekapcsol, akkor a beépített fióknál minden emelkedést igénylő művelet megerősítést igényel.
Milyen szintű védelmet kell használni? Ez kizárólag az Ön személyes preferenciáitól függ. Valójában olyan kellemetlenségeket kell elviselnie, amelyek csak a rendszererőforrás-használattal kapcsolatos műveletek bosszantó megerősítő ablakának megjelenésével járnak. Így korlátozott jogokkal hozhat létre fiókot és használhatja azt. Ezzel egyidejűleg hozzon létre egy összetett jelszót a rendszergazdai fiókhoz anélkül, hogy azt a számítógépen tárolná. Az emelést igénylő alkalmazások telepítésekor egyszerűen adja meg a rendszergazdai fiók nevét és jelszavát. Ez az egyetlen módja annak, hogy megbizonyosodjon arról, hogy rendszere védve van a rosszindulatú programok ellen. Ugyanígy jelszóval védhet bizonyos fájlokat rendszergazdai hozzáféréssel. Ehhez csak le kell vágnia a felhasználói fiók jogait ezekhez a fájlokhoz. Ha nem tartja magát tapasztaltnak Windows felhasználó 7, miközben aktívan használja az internetet, gyakran cserél információt cserélhető adathordozó számítógéphez csatlakoztatásával, tanácsunk: ne kapcsold kiUACés szánjon időt arra, hogy megfontoltan módosítsa. Ez a mechanizmus számos fenyegetést képes sikeresen kezelni, függetlenül a víruskereső szoftvertől.

A privilégiumok eszkalációja talán az egyik kulcsfontosságú pont, amelytől a további támadás vagy támadás forgatókönyve függ. Nagyon gyakran ebben a szakaszban minden véget ér, ha nem lehet „kiterjeszkedni az erőkben”. Ezért ma egy kicsit azokról a módokról fogunk beszélni, amelyek lehetővé teszik a felhasználó számára, hogy ne csak az adminisztrátor, hanem a rendszer számára is növelje jogosultságait.

Bevezetés

A jogosultságok eszkalációja kissé eltér Windows és Linux rendszeren. Annak ellenére, hogy mindkét operációs rendszer a szokásos számú sebezhetőséget hordozza, a kutatók megjegyzik, hogy a teljesen javított Windows-szerver sokkal gyakoribb, mint egy naprakész Linux-szerver. Ezenkívül a Windows javítások kiadási ideje gyakran rövidebb, ami a Windows jogosultságainak kiterjesztését meglehetősen érdekes és ambiciózus feladattá teszi. Neki ajánljuk történetünket.

Lehetőségek

Milyen lehetőségeink vannak tehát, hogy felemelkedjünk a Windows világában? Először is, a közelmúltban elegendő betűtípus-elemzési sebezhetőséget találtak az operációs rendszer kernelében, ami meglehetősen egyszerűvé teszi a jogosultságok kiszélesítését, ha a megfelelő sploit kéznél van. Ha Metasploitot használ, akkor egyetlen parancs elegendő a rendszerhéj létrehozásához. Mindez azonban valószínűleg csak akkor működik sikeresen, ha a rendszer nincs teljesen foltozva. Ha a gépen minden frissítés telepítve van, akkor a Linuxtól eltérően itt nem lehet SUID binárisokat találni, és a környezeti változókat általában nem adják át a magasabb jogosultságokkal rendelkező szolgáltatásoknak vagy folyamatoknak. Mi marad így nekünk?

Az admintól a rendszerig, vagy amit mindenki tud

Amikor a jogosultságok eszkalációját említik, általában azonnal eszünkbe jut egy, a feladatütemezőt használó módszer. Windows rendszerben két segédprogrammal adhat hozzá feladatot: at és schtasks . A második a feladatot a felhasználó nevében futtatja, míg az első a rendszer nevében. A szokásos trükk, amelyről valószínűleg hallottál, lehetővé teszi a konzol elindítását rendszerjogokkal:

13:01-kor /interaktív cmd

A második dolog, ami eszembe jut, egy olyan szolgáltatás hozzáadása, amely futtatja a szükséges fájlt / végrehajtja a parancsot:

@echo off @break off title root Cls echo Szolgáltatás létrehozása. sc create evil binpath= "cmd.exe /K start" type= saját típus= interact > nul 2>&1 echo Szolgáltatás indítása. sc start evil > nul 2>&1 echo Standing by... ping 127.0.0.1 -n 4 > nul 2>&1 echo Szolgáltatás eltávolítása. visszhang. sc delete evil > nul 2>&1

A harmadik út a változás rendszer segédprogram C:\windows\system32\sethc.exe, például cmd . Ha ezután kijelentkezik, és többször megnyomja a Shift billentyűt, megjelenik egy konzol rendszerjogokkal.

Ami az automatizált metódusokat illeti, a Metasploit és a getsystem azonnal eszembe jut. Alternatív lehetőség a PsExecet a Sysinternalsból olvashatja (psexec -i -s -d cmd.exe).

A másik irányba megyünk

Mindegyik módszernek van egy közös hátránya: rendszergazdai jogosultságok szükségesek. Ez azt jelenti, hogy már egy privilegizált fiókból emeljük ki a jogosultságokat. A legtöbb esetben az adminisztrátori jogok megszerzésekor számos lehetőség kínálkozik arra, hogyan mászhat még magasabbra. Szóval nem túl nehéz feladat. Ma olyan privilégiumkiterjesztési módszerekről fogunk beszélni, amelyek nem használnak 0 napos sebezhetőséget, feltételezve, hogy van egy rendes rendszerünk és egy közönséges, privilegizált felhasználói fiókunk.

Vadászat a hitelesítő adatokra

A jogosultságok növelésének és a rendszerben való megszerzésének egyik megbízható és stabil módja a rendszergazdák vagy magasabb jogosultságokkal rendelkező felhasználók jelszavainak beszerzése. És most itt az ideje, hogy gondoljon az automatizált telepítésre szoftver. Ha olyan tartományt kezel, amely hatalmas gépparkot foglal magában, akkor semmiképpen sem akarja, hogy kézi úton mindegyikre szoftvert telepítsen. És annyi időbe telik, hogy más feladatra nem lesz elég. Ezért felügyelet nélküli telepítéseket használnak, amelyek a legtisztább formában adminisztrátori jelszavakat tartalmazó fájlokat generálnak. Ami csak egy kincsesbánya mind a pentesterek, mind a támadók számára.

Felügyelet nélküli telepítések

A kliensre történő automatizált telepítés esetén megmarad a számunkra igencsak kíváncsi Unattended.xml fájl, ami általában vagy a %WINDIR%\Panther\Unattend\ vagy a %WINDIR%\Panther\ mappában található és tárolható. a rendszergazdai jelszót tiszta szöveggel. Másrészt nem is kell semmilyen hitelesítés ahhoz, hogy ezt a fájlt megkapja a szerverről. Csak meg kell találnia a „Windows Deployment Services” kiszolgálót. Ehhez használhatja a Metasploit auxiliary/scanner/dcerpc/windows_deployment _services szkriptjét. Bár a Windows Deployment Services nem az egyetlen módja az automatizált telepítések végrehajtásának, az Unattended.xml fájl szabványnak számít, így a megtalálása sikeres.

GPP

Beállítások XML fájlok csoportszabályzat a biztonság (Group Policy Preference) gyakran tartalmaznak titkosított hitelesítő adatokat, amelyek segítségével új felhasználókat adhatunk hozzá, megosztást hozhatunk létre stb. Szerencsére a titkosítási módszer dokumentált, így könnyen hozzájuthat a jelszavakhoz tiszta formában. Sőt, a Metasploit csapata már mindent megtett Ön helyett – csak használja a /post/windows/gather/credentials/gpp.rb modult. Ha érdekelnek a részletek, akkor ezen a linken minden szükséges információ elérhető.

Felhasználói jogok

Nagyon gyakran a jogosultságok kiterjesztése a helytelenül konfigurált felhasználói jogok eredménye. Például, ha a tartományfelhasználó helyi rendszergazda (vagy Kiemelt felhasználó) a gazdagépen. Vagy ha a tartományfelhasználók (vagy tartománycsoportok tagjai) helyi rendszergazdák az összes gazdagépen. Ebben az esetben igazából semmit sem kell tennie. De ezek a lehetőségek nem túl gyakran jönnek elő.

AlwaysInstallElevated

Néha a rendszergazdák megengedik hétköznapi felhasználók saját maga telepítse a programokat, ez általában ezen keresztül történik következő billentyűket Iktató hivatal:

HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer\AlwaysInstallElevated

HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer\AlwaysInstallElevated

Azt mondják a rendszernek, hogy minden MSI fájlt emelt szintű jogosultságokkal kell telepíteni (NT AUTHORITY\SYSTEM). Ennek megfelelően egy speciálisan létrehozott fájl használatával ismét végrehajthat műveleteket a rendszer nevében, és pumpálhatja a jogosultságait.

A Metasploit tartalmaz egy speciális exploit/windows/local/always_install_elevated modult, amely egy MSI fájlt hoz létre, amelybe egy speciális végrehajtható fájl van beágyazva, amelyet egy rendszerprivilegizált telepítő bont ki és hajt végre. A végrehajtást követően az .msi fájl megszakítja a telepítést (egy speciálisan kialakított érvénytelen VBS meghívásával), hogy megakadályozza a művelet regisztrálását a rendszerben. Ráadásul, ha a telepítést a /quiet billentyűvel futtatod, akkor a felhasználó nem is kap hibát.

Hiányzik az automatikus indítás

Gyakran előfordul, hogy a rendszer nyilvántart egy fájlt, amelyet automatikusan el kell indítani, még akkor is, ha maga a fájl már feledésbe merült. Lehet, hogy néhány szolgáltatást hibásan töröltek - nincs végrehajtható fájl, de a rendszerleíró bejegyzés megmarad, és a rendszer minden indításkor sikertelenül megpróbálja elindítani, és eltömíti az eseménynaplót a sikertelenségről szóló üzenetekkel. Ezt a helyzetet a hatáskörük bővítésére is fel lehet használni. Az első lépés az összes ilyen árva irat megtalálása. Például a Sysinternals autorunsc segédprogramjával.

Autorunsc.exe -a | findstr /n /R "A fájl\ nem található\"

Ezek után, ahogy sejtette, már csak az van hátra, hogy valahogy a hiányzó akta helyére csúsztassa jelöltjét.

Idézet Mágia

Igen, az idézetek nemcsak kegyetlen tréfát űzhetnek az SQL-lekérdezésekben, lehetővé téve az injekciót, hanem a jogosultságok növelésében is segítenek. A probléma meglehetősen régi, és az ÚSZ napjai óta ismert. A lényeg az, hogy egyes szolgáltatások végrehajtható fájljainak elérési útjait nem idézőjelek keretezik (például ImagePath=C:\Program Files\Common Files\Network Associates\McShield\McShield.exe), míg az útvonal szóköz karaktereket tartalmaz. . Ebben az esetben, ha a támadó létrehoz egy fájlt, amely új adminisztrátorokat ad a rendszerhez, vagy más műveleteket hajt végre, és a C:\Program Files\common.exe nevű fájlt, akkor a szolgáltatás következő indításakor a common.exe el kell indítani, és az elérési út fennmaradó része argumentum(ok) lesz. Jól látható, hogy a Program Files-ba egy privilegizált felhasználó nem tehet semmit, de a szolgáltatás futtatható fájlja egy másik könyvtárban is elhelyezkedhet, vagyis a felhasználónak lehetősége lesz átcsúsztatni a fájlját.

A technika használatához meg kell találnia egy sebezhető szolgáltatást (amely nem használ idézőjeleket a bináris fájl elérési útjában). Ez a következőképpen történik:

A Wmic szolgáltatás neve, megjelenítési neve, elérési útja, indítási módja |findstr /i "auto" |findstr /i /v "c: \windows\\" |findstr /i /v """

Igaz, XP-n ehhez rendszergazdai jogosultságokra lesz szükség, ezért ott jobb a következő módszert használni: szolgáltatások listájának lekérése - sc query , majd az egyes szolgáltatások információinak megtekintése - sc qc servicename .

Minden a terv szerint

Egy másik mechanizmus, amely segíthet az engedélyek növelésében, és általában elfelejtik, a feladatütemező. Az schtasks segédprogram lehetővé teszi, hogy feladatokat rendeljen hozzá adott eseményekhez. Számunkra a legérdekesebbek az ONIDLE, az ONLOGON és az ONSTART. Ahogy a nevek is sugallják, az ONIDLE minden tétlenség, ONLOGON és ONSTART végrehajtásra kerül, amikor a felhasználó bejelentkezik, illetve amikor a rendszer elindul. Így mindegyik eseményhez külön feladat rendelhető. Például a rendszer indításakor másoljon ki valahova egy rosszindulatú bináris fájlt/keylogger/…, és futtassa. Amikor a felhasználók bejelentkeznek - futtassa a dömpert bankkártyák. Röviden: mindennek csak a képzelet és az adott feladat szab határt.

Trükkök engedélyekkel

A fájlengedélyek általában az első védelem, amely megakadályozza, hogy növeljük jogosultságainkat. Csábító lenne néhányat egyszerűen átírni rendszerfájl(például a cikk legelején említett sethc.exe), és azonnal rendszerjogosultságokat szerezzen. De mindez csak egy álom, valójában csak az olvasásra van engedélyünk, ami semmit sem ad. Nem szabad azonban lógatni az orrát, mert az engedélyekkel sem megy minden olyan zökkenőmentesen - itt is, mint máshol, vannak buktatók, amelyek ismerete lehetővé teszi a lehetetlent is.

Az ezzel a mechanizmussal védett rendszerkönyvtárak egyike különösen érdekes a jogosultságok kiterjesztése szempontjából – a Program Files. A jogosulatlan felhasználók hozzáférését ott rendelik el. Néha azonban előfordul, hogy a telepítési folyamat során a telepítők helytelenül állítják be a fájlengedélyeket, aminek következtében minden felhasználó megkapja teljes hozzáférés futtatható fájlokhoz. Ami ebből következik - már sejtette.

Egy másik korlátozás - egy közönséges halandó nem írhat a gyökérbe rendszerlemez. Azonban például XP rendszeren, amikor új könyvtárat hoz létre egy meghajtó gyökerében, a BUILTIN\Users csoport FILE_APPEND_DATA és FILE_WRITE_DATA engedélyeket kap (még akkor is, ha a mappa egy rendszergazda tulajdonában van):

BUILTIN\Felhasználók:(OI)(CI)R BUILTIN\Felhasználók:(CI)(speciális hozzáférés:) FILE_APPEND_DATA BUILTIN\Felhasználók:(CI)(speciális hozzáférés:) FILE_WRITE_DATA

A "héten" szinte ugyanez történik, csak a HITELESÍTETT FELHASZNÁLÓK csoport kap engedélyeket. Hogyan válhat ebből a viselkedésből probléma? Csak arról van szó, hogy egyes alkalmazások védett könyvtárakon kívül telepítik magukat, ami megkönnyíti a futtatható fájlok cseréjét. Ilyen lehetőség adódott például a Metasploit Framework többfelhasználós telepítése esetén. Ezt a hibát a 3.5.2-es verzióban javították, és a segédprogram átkerült a Program Filesba.


Hogyan lehet ilyen könyvtárakat/fájlokat keresni

A helytelen engedélyekkel rendelkező könyvtár megtalálása már fél siker. Előbb azonban meg kell találni. Ehhez a következő két eszközt használhatja: AccessChk és Cacls/ICacls. A "gyenge" könyvtárak AccessChk segítségével történő megtalálásához a következő parancsokra lesz szüksége:

Accesschk.exe -uwdqs felhasználók c:\ accesschk.exe -uwdqs „Hitelesített felhasználók” c:\

A "gyenge" engedélyekkel rendelkező fájlok kereséséhez használja a következőket:

Accesschk.exe -uwqs felhasználók c:\*.* accesschk.exe -uwqs „Hitelesített felhasználók” c:\*.*

Ugyanezt megtehetjük a Cacls/ICacls használatával is:

Cacls "c:\Program Files" /T | findstr Felhasználók

Szerviz trükkök

Egy másik módja annak, hogy feljebb kerüljön a rendszerben, ha kihasználja a hibás konfigurációkat és a szolgáltatási hibákat. Amint azt a gyakorlat mutatja, nem csak a fájlok és mappák, hanem a rendszerben futó szolgáltatások is rendelkezhetnek helytelen engedélyekkel. Ennek észleléséhez használhatja a hírhedt Mark Russinovich AccessChk segédprogramját:

Accesschk.exe –uwcqv *

A legjobb dolog, amit látni kell, a SERVICE_ALL_ACCESS engedély a hitelesített felhasználók vagy a hatékony felhasználók számára. De a következők is nagy sikernek tekinthetők:

  • SERVICE_CHANGE_CONFIG - módosíthatjuk a szolgáltatás végrehajtható fájlját;
  • WRITE_DAC - módosíthatja az engedélyeket, ami a SERVICE_CHANGE_CONFIG engedélyt eredményezi;
  • WRITE_OWNER - Ön lehet a tulajdonos, és módosíthatja az engedélyeket;
  • GENERIC_WRITE – örökli a SERVICE_CHANGE_CONFIG engedélyeket;
  • GENERIC_ALL – A SERVICE_CHANGE_CONFIG engedélyeket örökli.

Ha ezek közül az engedélyek közül egy (vagy több) nem privilegizált felhasználók számára van beállítva, drámaian megnő a jogosultságaik növelésének esélye.

Hogyan neveljünk?

Tegyük fel, hogy talált egy megfelelő szolgáltatást, ideje dolgozni rajta. Az sc konzol segédprogram segít ebben. Kezdésként megkapjuk teljes körű tájékoztatást a minket érdeklő szolgáltatásról, tegyük fel, hogy upnphost:

Sc qc upnphost

Ugyanezzel a segédprogrammal konfiguráljuk:

Sc config vulnsrv binpath= "net user john hello /add && net localgroup Adminisztrátorok john /add" type= interact sc config upnphost obj= “.\LocalSystem” password=“”

Amint láthatja, a szolgáltatás következő indításakor a végrehajtható fájl helyett a net user john hello /add && net localgroup Adminisztrátorok john /add parancs kerül végrehajtásra, új john felhasználót adva hozzá jelszóval hello a rendszerhez. Már csak a szolgáltatás manuális újraindítása marad:

Net stop upnphos net start upnphost

Ennyi a varázslat.

Mi az eredmény

Valamikor réges-régen olvastam egy cikket egy magazinban, amely felvázolta a Windows jogosultságainak növelésének alapvető technikáit. Akkor még nem tulajdonítottam neki nagy jelentőséget, de az elmélet megragadt a fejemben, és egykor sokat segített. Szóval, remélem, találsz valami újat ebben a cikkben magadnak, ami egy napon segít leküzdeni egy újabb akadályt.

Általánosságban elmondható, hogy itt vannak olyan módszerek, amelyek segítenek elérni a privilégiumok eszkalációjának célját.

Ennek a rövid cikknek a kiindulópontja egy privilegizált shell (fiók). Talán kihasználtunk egy exploitot, vagy támadást hajtottunk végre, és megkaptuk ezt a héjat.

Elvileg a kezdeti pillanatban nem értjük a gépet: mit csinál, mihez csatlakozik, milyen szintű jogosultságokkal rendelkezünk, sőt, milyen operációs rendszerről van szó.

Először is meg kell szereznünk azokat az információkat, amelyekre szükségünk van ahhoz, hogy megértsük, hol tartunk általában, és mi áll rendelkezésünkre:

rendszer információ | findstr /B /C:"OS név" /C:"OS verzió"
Ez a parancs lehetővé teszi az operációs rendszer nevének és verziójának meghatározását, amint az látható belőle. Paraméterek nélkül is végrehajthatod, akkor teljesebb lesz a parancs kimenete, de nekünk ez is elég.

  • hostname - felhasználónév.
  • echo %username% - felhasználónév.
Ezután nézzük meg, milyen más felhasználók vannak ezen a gazdagépen, és szerezzen még többet részletes információk a felhasználóról.
  • netezők – más felhasználók
  • net user user1 - részletes felhasználói információk, ahol user1 a felhasználóneved.
Miután megkaptuk a fiókkal kapcsolatos információkat, információkat fogunk látni a gazdagép hálózati interakciójáról.

Először nézzük meg az elérhető interfészeket és az útválasztási táblát.

  • ipconfig /all - információ az elérhető interfészekről.
  • route print - routing table
  • arp -A - arp bejegyzések táblázata
Vessünk egy pillantást az aktívra hálózati kapcsolatokés tűzfalszabályok.
  • netstat -ano - aktív hálózati kapcsolatok.
-a - futtatása ezzel az opcióval megjeleníti az összes aktív TCP-kapcsolatot, valamint a rendszeren figyelő TCP- és UDP-portokat;
-n - paraméter lehetővé teszi az aktív TCP kapcsolatok megjelenítését címekkel és portszámokkal;
-o - az előző kapcsolóhoz hasonlóan az aktív TCP kapcsolatokat jeleníti meg, de folyamatkódok kerültek a statisztikába, ezek alapján már pontosan meghatározható, hogy melyik alkalmazás használja a kapcsolatot.
  • netsh firewall show state - tűzfal állapota
  • netsh tűzfal show config - tűzfal konfiguráció
Végül röviden áttekintjük, mi fut a feltört gazdagépen: ütemezett feladatok, futó folyamatok, futó szolgáltatások és telepített illesztőprogramok.

Schtasks /query /fo LIST /v
Ahol
/query - Adatok megjelenítése az összes ütemezett feladatról,
/fo LIST - Kimenet egy listába.
/v - Részletes információk megjelenítése a feladatról.

A következő parancs a futó folyamatokat futó szolgáltatásokkal kapcsolja össze.

Feladatlista /SVC
Ahol,
/SVC – Szolgáltatások megjelenítése minden folyamathoz.

Látni fogjuk a futó Windows szolgáltatások listáját is.

Nettó kezdés
Hasznos áttekinteni a feltört rendszer illesztőprogramjaira vonatkozó információkat is.

DRIVERQUERY
Következő, talán a leghasznosabbat szeretném megemlíteni Windows csapat- wmic. A WMIC paranccsal (Windows Management Instrumentation Command) információkat szerezhet a berendezésről és a rendszerről, kezelheti a folyamatokat és azok összetevőit, valamint módosíthatja a beállításokat az eszközkészlet lehetőségeivel. Windows vezérlők(Windows Management Instrumentation vagy WMI). Jó leírás.

Sajnos néhány alapértelmezett Windows-konfiguráció nem teszi lehetővé a hozzáférést a WMIC-hez, kivéve, ha a felhasználó a Rendszergazdák csoportban van (ami nagyon jó ötlet). Az XP egyik verziója sem tette lehetővé a hozzáférést a WMIC-hez jogosulatlan fiókból.

Ezzel szemben a Windows 7 Professional és a Windows 8 Enterprise alapértelmezés szerint lehetővé tette az alacsony jogosultságokkal rendelkező felhasználók számára a WMIC használatát.

Szokás szerint a program paraméterei:

Mielőtt továbbmennénk, érdemes áttekinteni az összegyűjtött információkat. Érdemes odafigyelni a rendszerbe telepített patch-ekre is, hiszen a rendszerben lévő lyukakról szóló információk további támogatást nyújtanak jogosultságaink növeléséhez. A HotFix-szám használatával megkeresheti a jogosultságok eszkalációjával kapcsolatos biztonsági réseket.

Ezután az automatikus telepítést nézzük meg. Ha nagy géppark telepítésére és konfigurálására van szükség, akkor a műszaki személyzet általában nem költözik gépről gépre, hogy személyre szabottat állítson be. Több megoldás is létezik rá automatikus telepítés. Számunkra nem az a fontos, hogy mik ezek a módszerek és hogyan működnek, hanem az, hogy mit hagynak el konfigurációs fájlok, amelyeket a telepítési folyamathoz használnak, és sokakat tartalmaznak bizalmas információ, például egy termékkulcsot operációs rendszerés rendszergazdai jelszót. Leginkább az adminisztrátori jelszóra vagyunk kíváncsiak, amellyel a jogosultságainkat emelhetjük.

Általános szabály, hogy ezek a következő könyvtárak:

  • c:\sysprep.inf
  • c:\sysprep\sysprep.xml
  • %WINDIR%\Panther\Unattend\Unattended.xml
  • %WINDIR%\Panther\Unattended.xml
De érdemes az egész rendszert átnézni.

Ezek a fájlok egyszerű szöveges vagy BASE64 kódolású jelszavakat tartalmaznak.
Példák:

Sysprep.inf - tiszta szöveges jelszó.

Sysprep.xml – base64 kódolású jelszó.

"

Unattended.xml – base64 kódolású jelszó.

Továbbá a tartományhoz csatlakozó gazdagépeknél megkeresheti a Group.xml fájlt, amely AES256 titkosított jelszót tartalmaz, de visszafejthető, mert a kulcsot az msdn-en (https://msdn.microsoft.com/en-us/library/cc422924.aspx) és más forrásokból teszik közzé. De ez a helyzet, ha a létrehozási politikát használják helyi felhasználók a gazdagépeken, vagy például jelszót állít be a helyi rendszergazda számára.

Nekem például itt van:

Megnyitás után a „cpassword” paramétert keressük.

Ezután meg kell fejtenie ezt a sorozatot. Használjuk például a CrypTool-t. Először dekódoljuk a Base64-et.
A Base64 jellemzője, hogy hosszának 4 többszörösének kell lennie. Ezért 4-es blokkokat számolunk, és ha az utolsó blokkban nincs elég karakter, akkor a hiányzó karaktereket „=” karakterekkel adjuk hozzá.
2 "="-t kaptam.

Eltávolítjuk a karaktereket elválasztó felesleges pontokat, és megkapjuk a jelszót.

A Group.xml-n kívül itt van néhány további házirend-beállítási fájl, amelyre lehet szükség kiegészítő készlet"cPassword" attribútumok:

  • Services\Services.xml
  • ScheduledTasks\ScheduledTasks.xml
  • Nyomtatók\Nyomtatók.xml
  • Drives\Drives.xml
  • DataSources\DataSources.xml
Az automatizált megoldásokat azonban mindannyian szeretjük, így a lehető leggyorsabban célba érhetünk. Itt két fő lehetőség van, attól függően, hogy milyen típusú shell/hozzáférés áll rendelkezésünkre. Van egy metasploit modul, amely végrehajtható egy meghatározott munkameneten keresztül (https://www.rapid7.com/db/modules/post/windows/gather/credentials/gpp), vagy használhatja a Get-GPPPpasswordot, amely a PowerSploit része. .

Ahhoz, hogy ezt használni tudjuk, ellenőriznünk kell, hogy mindkét rendszerleíró kulcs be van-e állítva, és ha igen, akkor megkaphatjuk a SYSTEM shellt. Ellenőrizzük:

Reg lekérdezés: HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer\AlwaysInstallElevated
reg lekérdezés HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer\AlwaysInstallElevated
A Metasploit tartalmaz egy speciális modult, az exploit/windows/local/always_install_elevated, amely létrehoz egy MSI fájlt, amelybe egy speciális végrehajtható fájl van beágyazva, amelyet egy rendszerprivilegizált telepítő bont ki és hajt végre. A végrehajtás után az msi fájl leállítja a telepítést, hogy megakadályozza a művelet regisztrálását a rendszerben. Ráadásul ha a telepítést a /quiet kapcsolóval futtatod, akkor még hiba sem lesz.

Hát egy kicsit hasznos parancsokat rendszerkeresés alapján:

Az alábbi parancs be fog keresni fájlrendszer bizonyos kulcsszavakat tartalmazó fájlnevek. Bármennyi kulcsszót megadhat.

Dir /s *pass* == *cred* == *vnc* == *.config*
Ha adott fájltípusokat kulcsszó alapján keres, ez a parancs sok kimenetet generálhat.

Findstr /si jelszó *.xml *.ini *.txt
Hasonlóképpen, az alábbi két paranccsal is grep a rendszerleíró adatbázist kulcsszavakat, jelen esetben "jelszó".

Reg lekérdezés HKLM /f jelszó /t REG_SZ /s
reg lekérdezés HKCU /f jelszó /t REG_SZ /s
Tovább Ebben a pillanatban már van elegünk a rendszer működéséhez. De van még néhány célzott támadás a kívánt eredmény elérése érdekében: megvizsgáljuk a Windows szolgáltatásait, valamint a fájl- és mappaengedélyeket. Itt az a célunk, hogy gyenge engedélyeket használjunk a munkameneti jogosultságok növelésére.

Nagyon sok engedélyt fogunk ellenőrizni, az accesschk.exe, amely a Microsoft Sysinternals Suite egyik eszköze, segít ebben. A Microsoft Sysinternals számos nagyszerű eszközt tartalmaz. A csomag letölthető a Microsoft technet webhelyéről (https://docs.microsoft.com/en-us/sysinternals/downloads/sysinternals-suite).

Az accesschk segítségével ellenőrizhetjük az egyes szolgáltatásokhoz szükséges jogosultsági szintet.

Láthatjuk, hogy az egyes felhasználói szintek milyen jogosultságokkal rendelkeznek.

Az Accesschk automatikusan ellenőrizheti, hogy van-e írási hozzáférésünk egy bizonyos felhasználói szinttel rendelkező Windows szolgáltatáshoz. Alacsony jogosultságokkal rendelkező felhasználóként általában be akarjuk jelölni a „Felhasználók” pontot. Ügyeljen arra, hogy ellenőrizze, mely felhasználói csoportokhoz tartozik.

C A név egy Windows szolgáltatás, például ssdpsrv (az összes szolgáltatás megjelenítéséhez adja meg a „*” jelet)
-d Csak könyvtárakat dolgoz fel
-e Csak kifejezett integritási szintek nyomtatása (csak Windows Vista esetén)
-k Névként megadott beállításkulcs, például hklm\software
-n Csak a hozzáférési szabályokkal nem rendelkező objektumok megjelenítése
-p Adja meg a nevet vagy a folyamatazonosítót (PID) névként, például cmd.exe (az összes folyamat megjelenítéséhez adja meg a „*” nevet)
-q A cím kihagyása
-r Csak olvasási hozzáféréssel rendelkező objektumok nyomtatása
-s Rekurzív feldolgozás
-v Részletes információk megjelenítése
-w Csak az írási jogosultsággal rendelkező objektumok listája

Van egy másik érdekes parancs is:

Autorunsc.exe -a | findstr /n /R "A fájl\ nem található\"
Lehetővé teszi, hogy keressen egy rendszerleíró bejegyzést egy olyan fájlhoz, amely automatikusan elindult, de már nincs a rendszerben. A bejegyzés megmaradhat, ha például a szolgáltatást helytelenül távolították el. A rendszer minden indításkor sikertelenül próbálja meg futtatni ezt a fájlt. Ezt a helyzetet a hatáskörük bővítésére is fel lehet használni. Egyszerűen lecserélheti a miénket a fájl helyére.

Először is, ismételje meg a GreyHatHacker Parvez által írt bejegyzésének eredményeit; "Jogjogok növelése a gyenge mappaengedélyek kihasználásával" (http://www.greyhathacker.net/?p=738).

Ez a példa a dll-eltérítés speciális esete. A programok általában nem működnek önmagukban, sok erőforrást kell tartalmazniuk (főleg dll-eket, de saját fájlokat is). Ha egy program vagy szolgáltatás betölt egy fájlt egy olyan könyvtárból, amelyhez írási jogosultságunk van, akkor ezzel visszaélve elindíthatunk egy shellt a program által futtatott jogosultságokkal.

Általában, Windows alkalmazás az előre meghatározott keresési útvonalakat fogja használni a dll megtalálásához, és meghatározott sorrendben ellenőrzi ezeket az útvonalakat. A Dll-eltérítés általában úgy történik, hogy rosszindulatú dll-eket helyeznek el ezen útvonalak egyikén. Ez a probléma úgy javítható, hogy az alkalmazásnak abszolút elérési utat ad a szükséges dll-hez.

dll keresési sorrend:

  1. A könyvtár, ahonnan az alkalmazás elindul
  2. 32 bites rendszerkönyvtár (C:\Windows\System32)
  3. 16 bites rendszerkönyvtár (C:\Windows\System)
  4. Windows könyvtár (C:\Windows)
  5. Jelenlegi munkakönyvtár (CWD)
  6. Könyvtárak a PATH környezeti változóban (rendszer, majd felhasználó)
Néha az alkalmazások megpróbálnak betölteni dll fájlokat hiányzik a gépről. Ennek több oka is lehet, például ha a dll-re csak bizonyos beépülő modulokhoz vagy nem telepített összetevőkhöz van szükség. Ebben az esetben Parvez úgy találta, hogy egyes Windows-szolgáltatások megpróbáltak betölteni dll-ek, amelyek az alapértelmezett beállításokban nem léteznek.

Mivel a dll nem létezik, végül végigmegyünk az összes keresési útvonalon. Alacsony jogosultságokkal rendelkező felhasználóként nem sok esélyünk van rá, hogy egy rosszindulatú dll-t az 1-4., 5. lépésben helyezzünk el. De ha van írási hozzáférésünk bármelyik könyvtárhoz, akkor nagy az esélyünk a nyerésre.

Nézzük meg, hogyan működik ez a gyakorlatban, példánkban az IKEEXT (IPSec IKE és AuthIP Key Modules) szolgáltatást fogjuk használni, amely megpróbálja betölteni a wlbsctrl.dll fájlt.

A "C:\" bármely könyvtára írási hozzáférést biztosít a hitelesített felhasználóknak, ez lehetőséget ad nekünk.

C:\Users\user1\Desktop> accesschk.exe -dqv "C:\Python27"
C:\Python27 Medium Mandatory Level (Default) RW BUILTIN\Administrators FILE_ALL_ACCESS RW NT AUTHORITY\SYSTEM FILE_ALL_ACCESS R BUILTIN\Users FILE_LIST_DIRECTORY FILE_READ_ATTRIBUTES FILE_READ_EA FILE_TRAVERSE SYNCHRONIZE READ_CONTROL RW NT AUTHORITY\Authenticated Users FILE_ADD_FILE FILE_ADD_SUBDIRECTORY FILE_LIST_DIRECTORY FILE_READ_ATTRIBUTES FILE_READ_EA FILE_TRAVERSE FILE_WRITE_ATTRIBUTES FILE_WRITE_EA DELETE SYNCHRONIZE READ_CONTROL
C:\Users\user1\Desktop> icacls "C:\Python27"
C:\Python27 BUILTIN\Administrators:(ID)F BUILTIN\Adminisztrátorok:(OI)(CI)(IO)(ID)F NT AUTHORITY\SYSTEM:(ID)F NT AUTHORITY\SYSTEM:(OI)(CI)( IO)(ID)F BEÉPÍTETT\Felhasználók:(OI)(CI)(ID)R NT HATÓSÁG\Hitelesített felhasználók:(ID)C NT AUTHORITY\Hitelesített felhasználók:(OI)(CI)(IO)(ID)C
F - teljes hozzáférés.
(OI) - objektumok általi öröklődés.
(CI) - konténerek általi öröklődés.
(IO) - csak öröklés.
(NP) - az örökség elosztásának tilalma.
(I) - az engedélyek öröklése a szülőtárolóból.

A művelet megkezdése előtt ellenőriznie kell az IKEEXT szolgáltatás állapotát. Ebben az esetben láthatjuk, hogy "AUTO_START"-ra van állítva!

Sc qc IKEEXT
QueryServiceConfig SIKERSZOLGÁLTATÁS_NAME: IKEEXT TÍPUS: 20 WIN32_SHARE_PROCESS START_TYPE: 2 AUTO_START ERROR_CONTROL: 1 NORMÁL BINARY_PATH_NAME: C:\Windows\system32\svchost.exe kulcs Helyi rendszer
Most már tudjuk, mi van a szükséges feltételeketés létrehozhatunk egy rosszindulatú dll és wrapper eltérítést!

Például a Metasploit -> msfvenom-ot használjuk.

Miután átvittük az evil.dll fájlt a célszámítógépünkre, csak át kell neveznünk wlbsctrl.dll-re, és áthelyezni a "C:\Python27"-re. Ha ez megtörtént, türelmesen meg kell várnunk a gép újraindítását (vagy megpróbálhatunk újraindítást kényszeríteni), és kapunk egy rendszerhéjat.

Másolja az evil.dll C:\Python27\wlbsctrl.dll fájlt
Ezután már csak meg kell várni, hogy a rendszer újrainduljon.

Utolsó példánkban az ütemezett feladatokat nézzük meg. Leírom az elvet, mert mindenkinek más esetei lehetnek.

Megtaláljuk a SYSTEM-ből a feladatütemező által elindított folyamatot, szolgáltatást, alkalmazást.
Ellenőrizzük annak a mappának az engedélyeit, ahol a célunk található.

Accesschk.exe -dqv "a_cél_útvonala"
Nyilvánvaló, hogy ez egy komoly konfigurációs probléma, de ami még rosszabb, az a tény, hogy bármely hitelesített felhasználó (hitelesített felhasználó) írási hozzáféréssel rendelkezik ehhez a mappához. Ebben a példában egyszerűen felülírhatjuk a bináris futtatható fájlt egy metasploit által generált fájllal.

Ezenkívül kódolhat is.

Most már csak le kell tölteni a rosszindulatú végrehajtható fájlt, és felülírni a végrehajtható fájl mappájában. Ha ez megtörtént, nyugodtan lefeküdhetünk, és már kora reggel beindíthatjuk a rendszert.

Ez a két példa képet ad nekünk a sérülékenységekről, amelyeket keresni kell a fájlok és mappák engedélyeinek mérlegelésekor. Időbe fog telni az összes binpath feltárása Windows szolgáltatások, ütemezett feladatok és automatikus futtatási feladatok.

Végül néhány tipp az accesschk.exe használatához.

Keresse meg az összes gyenge engedélyt a meghajtón lévő mappákhoz.

Accesschk.exe -uwdqs felhasználók c:\ accesschk.exe -uwdqs "Hitelesített felhasználók" c:\
Keresse meg a lemezen lévő fájlok összes gyenge engedélyét.

Accesschk.exe -uwqs Felhasználók c:\*.* accesschk.exe -uwqs "Hitelesített felhasználók" c:\*.*
Úgy néz ki, ez az.



Betöltés...
Top