Hlavné menuPřihlášeníHledat |
Nová zranitelnost Windows umožňuje libovolnému uživateli získat systémová oprávnění
Pátek, 22.01.2010 3:40
Před pár dny po Internetu začaly kolovat zprávy o "nové" zranitelnosti operačních systémů Windows, která umožňuje libovolnému uživateli získat systémová oprávnění. Situace je o to závažnější, že zranitelnost pravděpodobně postihuje systémy od Windows 2000 až do Windows 7. Nutné pozadíWindows umožňují spouštět i staré 16bitové aplikace určené pro MS-DOS. Tuto činnost má na starosti subsystém NTVDM. DOSové aplikace běží v tzv. virtuálním módu 8086, což je speciální mód, který podporují procesory kompatibilní s x86. V8086 je téměř dokonale virtualizovaným prostředím, ve kterém před mnoha lety běžel MS-DOS. 16bitové aplikace až na pár výjimek nemohou poznat, zda běží ve V8086 či ne. Mód V8086 však není samospasitelný. Musí nad ním bdít program zvaný jednoduše V8086 monitor, který bude emulovat DOSovým aplikacím komunikaci s hardwarem a obsluhu výjimek a přerušení. A ona kritická chyba se nachází právě při emulaci přerušení pro mód V8086. Emulace obsluhy přerušení je rozdělena do dvou částí, které musí být spolu přesně synchronizovány. Jak dokazuje proof-of-concept exploit, podaří-li se obsluhu přerušení pro V8086 desynchronizovat, je možné vykonávat kód v režimu jádra - tedy mít přístup absolutně ke všem dveřím, které jsou pro běžné uživatele (ale i administrátory) zamčené. Kde chyba vězí, a jak se jí podařilo zneužítChyba, která umožňuje desynchronizaci provést, se nachází v obsluze přerušení #GP (General Protection Fault). Toto přerušení je Intelem určeno i k emulaci obsluhy přerušení V8086. Tato chyba v obsluze #GP však nemůže být zneužita sama o sobě k získání systémových oprávnění. Může jí zenužít pouze monitor V8086 (NTVDM), Jiné procesy k tomu potřebují oprávnění SeTcbPrivilege, které si mohou přivlastnit až administrátoři. Bohužel i uživatel s omezenými právy je schopen spustit subsystém NTVDM a donutit tento proces k zneužití chyby v obsluze #GP. Může to provést následujícím způsobem:
Samotné chyby v #GP by uživatel s omezeným oprávněním zneužít nemohl. Problém tkví ve špatné implementaci kontroly volání funkce NtVdmControl, která se právě k zneužití chyby obsluhy #GP používá. Tuto funkci může volat jen minitor V8086. Předpokládá se, že obě chyby (ale zvlášť ta v #GP) se týkají velmi starého kódu, který se v operačním systému nachází možná už od verze NT 3.51. A Windows NT 3.51 se objevila na trhu v roce 1995. ZávěrSám jsem exploit úspěšně vyzkoušel na plně aktualizovaných 32bitových Windows 7 Professional. Protože se jedná o velmi straou zranitelnost (která však byla objevena teprve před půl rokem), jsou postiženy i systémy Windows 2000, Windows XP, Windows Vista, Windows Server 2003 a Windows Server 2008. Exploit je velmi uživatelsky přívětivý. Stačí jej pouze spustit a od systémových oprávnění vás dělí pouze zlomek sekundy. K binárkám je přiložen i zdrojový kód, který ukazuje, že celá aplikace je napsána přehledně a umožňuje i méně zkušenému člověku (tím myslím i osoby některými označované jako script-kiddies) vytvořit si na jeho bázi vlastní škodlivý kód. Pozitivní na celé věci je snad jen fakt, že nucení NTVDM k vykonávání cizího kódu pravděpodobně zaznamenají systémy HIPS. Kód exploitu funguje pouze na 32bitových verzích Windows. Pokládám však za velmi pravděpodobné, že jej půjde upravit i pro 64bitová Windows, což by znamenalo naprosté obejití filosofie digitálně podepsaných ovladačů jádra. Ale třeba se mýlím. Na závěr ještě podotknu, že autor exploitu tuto zranitelnost oznámil společnosti Microsoft v červnu roku 2009. Chyba však dosud nebyla opravena. Použité zdroje: |
OdkazyOdkazy |
Chybička
Zajímavý článek, jen bych upozornil na zjevnou chybu v poslední větě Závěru, červen 2010 nás teprve čeká :).
RE: Chybička
Díky za upozornění. Chybu jsem opravil.
Windows umoznuji spoustet i aplikace pro DOS
"Windows umožňují spouštět i staré 16bitové aplikace určené pro MS-DOS" = ale predpokladam ze je myslene cez emulator ako je DOSBOX - alebo sa mylim a aj iny sposob spustania dosovskych programov vo Windows ?
Windows v sobě mají emulátor
Windows v sobě mají emulátor pro DOSové aplikace integrovaný přímo v jádře (NTVDM). Ikdyž jeho podpora s novějšími verzemi postupně mizí (je dost problematická na 64bitových systémech. Myslím, že na nějakých levných edicích se už ani nevyskytuje).
Myslím si, že by bylo příjemné, kdyby od podpory DOS aplikací úplně upustili a vyloučili ji z jádra a spouštění DOSových aplikací přenechali právě emulátorům jako je DOSBox.
Part - 1 - Nieje to iny
Part - 1 -
Nieje to iny sposob spustania pod Windows ale vlastnost Intel i386 procesora (a tym padom aj vsetkych vyssich).
Procesor moze bezat v :
Chcel som sem dat dlhsi
Chcel som sem dat dlhsi prispevok, ale |ebat, stravil som nim nejaky cas, ale mate to tu chlapci moji dokurvene ten PHPIDS. Dalsia poucka dnes tazko naucena: srat slovensky internet.
To nás mrzí, ale komentáre
To nás mrzí, ale komentáre treba písať len v čistom texte, IDS ale poriešime.