Blog Archives

Skrývání věcí na platformě Windows 3: Síťová komunikace

I když se útočníkovi podaří usadit na cílovém stroji a do určité míry zamaskovat svoji přítomnost, nemusí mít ještě vyhráno. Obvykle potřebuje s daným strojem komunikovat, nebo z něho alespoň čas od času odesílat data. Vzhledem k tomu, že v dnešní době se mezi počítači komunikuje téměř výhradně po síti (zvláště na větší vzdálenosti než […]

Skrývání věcí na platformě Windows 2: Souborové systémy

V případě skrývání objektů v souborových systémech je situace oproti registru komplikovanější, zejména proto, že celá architektura se skládá z více vrstev a i způsob komunikace mezi jednotlivými aktéry probíhá odlišným způsobem. Než začneme diskutovat aspekty samotného skrývání, je třeba si o o těchto rozdílech trochu více rozepsat. Objekty ovladačů a zařízení Základní kameny v […]

Skrývání věcí na platformě Windows 1: Manipulace s registry

V tomto miniseriálu se převtělíme do role útočníka. Nebude nás ale zajímat, jak se do cílového počítače nabourat nebo jak v rámci jeho operačního systému získat dostatečná oprávnění. Předpokládáme, že v tomto ohledu útočník již dosáhl úspěchu a jeho další starostí je se na daném stroji udržet. Popíšeme si několik způsobů, jak skrýt různé aspekty […]

Kontrola uživatelských účtů ve Windows: obcházení

V prvním díle minisérie věnované Kontrole uživatelských účtů jste se dozvěděli, jak tento mechanismus funguje a jaké má pro oprávnění běžících aplikací důsledky. Druhý, a současně poslední, díl pojednává o tom, jak tento mechanismus obejít. Na ukýzkový zdrojový kód rovněž nebylo zapomenuto. Implementaci Kontroly uživatelských účtů ve Windows Vista by mnohý uživatel jistě eufemisticky označil […]

Kontrola uživatelských účtů ve Windows: seznámení

Kontrola uživatelských účtů (User Account Control – UAC) je mechanismus představený ve Windows Vista za účelem snížení množství kódu běžícího s administrátorskými právy. V tomto textu se dozvíte, jak tento mechanismus běh s nižším oprávněním zajišťuje, a dostane se i na jeho slabiny. Aplikace překládané pro Windows Vista (pro novější verze to samozřejmě platí také) […]

Deskriptory virtuálních adres 4: Reálně se vyskytující deskriptory a závěr

V posledním dílu malého seriálu o deskriptorech virtuálních adres si ukážeme, jakými deskriptory operační systém popisuje paměť alokovanou či rezervovanou pro různé účely, jako je mapování souboru, mapování fyzické paměti pomocí rozšíření AWE či alokace privátních stránek provedená klasickým způsobem. Další části tohoto článku se již deskriptorům virtuálních adres nevěnují. Popisují nástroje, které jsem při […]

Deskriptory virtuálních adres 3: do nitra deskriptoru

Z minulých dílů seriálu jste se dozvěděli, jak deskriptory virtuálních adres vypadají. Dnešní díl navazuje informacemi o významu některých položek struktur MMVAD_XXX. Velmi zajímavou částí struktur deskriptorů virtuálních adres tvoří pole příznaků. Definují je struktury MMVAD_FLAGS, MMVAD_FLAGS2 a MMVAD_FLAGS3. Krátké deskriptory, reprezentující obvykle privátní paměť procesu, obsahují pouze první a třetí skupinu. Přitom právě příznaky […]

Deskriptory virtuálních adres 2: pod povrchem adresového prosotru

Druhá část seriálu o interní struktuře a reprezentaci privátní části virtuálních adresových prostorů ve Windows. Dozvíte se v ní mimo jiné, co to vlastně ten deskriptor virtálních adres je. Než se pomocí pomyslného vrtáku probouráme pod povrch virtuálního adresového prostoru, dovolím si upozornit, že se dostáváme do málo známých vod jádra operačního systému, které se […]

Deskriptory virtuálních adres 1: virtuální adresový prostor

Každá běžící aplikace disponuje vlastním virtuálním adresovým prostorem. Do jeho horní části operační systém mapuje paměť jádra. Horní poloviny všech virtuálních adresových prostorů jsou téměř identické. Zbývající část (2-3 GB na architektuře IA32, několik TB na 64bitových platformách) může proces využívat k ukládání vlastních dat, mapování souborů a knihoven a dalším účelům, které vás jen […]