Zpět na seznam článků     Číst komentáře (53)     Verze pro tisk

Alternate Data Stream (ADS)

Autor: .cCuMiNn.   
2.2.2006

Jedna z téměř neznámých vlastností souborového systému NTFS je, že dokáže na disku ukrýt jakýkoliv soubor tak, že jej nenajde ani administrátor systému...


Souborový systém NTFS má řadu nesporných výhod oproti staršímu FAT16 nebo FAT32. Jednou z těchto výhod je možnost uzamknout své soubory nebo složky, čímž dochází k nesrovnatelně vyšší bezpečnosti než u obou výše zmíněných souborových systémů. Málokdo však ví o alternujících datových proudech, které s sebou souborový systém NTFS přináší.
Hackerům se v podobě alternujících datových proudů nabízí možnost, jak skrýt jakýkoliv dokument nebo program před zraky administrátora nebo dokonce spustit program tak, aby se navenek tvářil jako program úplně jiný.

Co to vlastně jsou alternující datové proudy?

Na tuto otázku se hodně špatně odpovídá, protože jde o „imaginární“ věc, která zůstává uživatelům operačního systému Windows naprosto skryta. Každý soubor na disku, tak jak se s ním běžně setkáme, je na disku umístěn pod svým jménem, má svou velikost a obsahuje konkrétní data. Když si pomocí příkazu DIR nebo pomocí souborového manažeru vypíšeme obsah složky vidíme právě tyto informace. Tyto informace se týkají primárního datového proudu. V systému NTFS je možné ke každému takovému souboru umístit do alternujících datových proudů další soubory. Původně vznikly ADS pro ukládání různých doplňkových informací o souboru. Operační systém Windows však tyto možnosti žádným způsobem nevyužívá a byly v něm zavedeny pouze pro kompatibilitu s jinými systémy. Operační systém Windows nemůže tuto vlastnost NTFS žádným způsobem vypnout a bez použití programů třetích stran nedokáže dokonce ani data v alternujících datových proudech odhalit. Administrátor systému tedy nemá bez použití externích programů, o kterých se zmíním níže, možnost, jak na svém PC zjistit programy a data ukrytá v ADS.

Jak lze ADS využít?

Na tuto otázku je již odpověď značně jednodušší, protože se nejedná o žádné složité operace.

Vložení souboru do ADS

Pomocí příkazu TYPE můžeme do ADS jakéhokoliv souboru vložit soubor další. Řekněme, že máme vytvořenu složku C:\ADS a v ní umístěné dva soubory Free.exe a Hack.exe. Pokud nyní chceme soubor Hack.exe schovat do ADS souboru Free.exe, provedeme to takto:

TYPE Hack.exe>Free.exe:Hack.exe
Nyní již můžeme soubor Hack.exe s klidným svědomím vymazat. Jeho kopii jsme totiž umístili do ADS programu Free.exe.

TYPE A:\Hack.exe>C:\Windows\System32\Calc.exe:Tool.exe
Tímto způsobem zkopírujeme soubor Hack.exe z diskety do ADS programu Calc.exe pod názvem Tool.exe.

TYPE Hack.txt>C:\Windows\System32\Calc.exe:Hack.txt
Tento příklad nám ukázal, že je možné do ADS spustitelného souboru uložit jakýkoliv soubor. V tomto případě jsme si do ADS programu Calc.exe uschovali textový soubor Hack.txt.

TYPE Hack.exe>C:\Free.txt:Hack.exe
Zde jsme naopak vložili spustitelný soubor do ADS textového souboru.

Nyní se zaměříme na jednu zajímavou vlastnost, kterou je změna velikosti souboru. Velikost původního souboru, kterému vložíme do ADS další soubor zůstává nezměněna!
Budeme-li mít textový soubor o velikosti jeden byte a tomuto souboru vložíme do ADS další soubor, který bude mít velikost třeba několik MB, pak se bude soubor tvářit, že má stále pouze jeden byte. Jedinou změnou, kterou je možno pozorovat je datum poslední změny souboru.

Spuštění programu v ADS

Programy v ADS lze spustit jednoduše pomocí příkazu START.

START C:\ADS\Free.exe:Hack:exe
Spustí program Hack.exe ukrytý v ADS souboru Free.exe

START C:\Windows\System32\Calc.exe:Tool.exe
Spustí program Tool.exe ukrytý v ADS souboru Calc.exe

START C:\Free.txt:Hack.exe
Spustí program Hack.exe ukrytý v ADS textového souboru Free.txt.

Nyní zajímavost. Spuštěný program se ve spuštěných úlohách v Task Manageru tváří jako původní soubor. Například spuštěním programu Tool.exe z ADS souboru Calc.exe se bude v Task Manageru tvářit jako kalkulačka Windows. Získáváme tedy nástroj, který dokáže výborně spoofovat naše spuštěné úlohy.

Soubory exe ovšem nejsou jediné typy souborů, které můžeme tímto způsobem spouštět. Podobně můžeme díky přiřazené příponě souboru startovat i různé skripty nebo dokumenty a to nejen z příkazové řádky, ale také automaticky po startu Windows například ze složky StartUp nebo z klíčů v registry.

Textové soubory uložené v ADS je možné editovat pomocí poznámkového bloku, apd.
NOTEPAD Calc.exe:Tajne.txt

Kopírování souborů z ADS

Zde je situace už o něco složitější. Pokud chceme zkopírovat soubor z ADS do primárního datového streamu, potřebujeme k tomu využít například program CAD, který je dodáván v ressource kitu. Pomocí něj, pak můžeme jakýkoliv soubor z ADS vytáhnout.
CAD Free.txt:Hack.exe > Hack.exe

Obrana proti utajování souborů v ADS

Jelikož je ADS záležitostí pouze souborového systému NTFS, dochází při překopírování souboru na jiný souborový systém (např.FAT32) k přenosu pouze primárního datového toku. ADS s takovým překopírováním zaniká. Proto, pokud jste uvažovali o tom, že někomu odešlete takto skrytý soubor například e-mailem, pak máte smůlu. Této vlastnosti však můžete využít pokud získáte podezření na napadení některého souboru. Stačí jej pouze přesunou na jiný disk s FAT32 a následně jej vrátit zpět.

Jak již bylo řečeno, nedokáže operační systém Windows jakkoliv odhalit přítomnost souborů v ADS. K dispozici máme pouze některý z programů třetích stran, mezi něž patří například freeware program Lads.exe od Franka Heyneho (www.heysoft.de), který můžete použít pro audit svých souborů.

Použité zdroje

http://www.windowsecurity.com/pages/article_p.asp?id=1314
http://www.infosecwriters.com/texts.php?op=display&id=53
http://www.addict3d.org/index.php?page=viewarticle&type=security&ID=243

Sami vidíte, že ADS je pro hackery velmi silnou zbraní, o jejíž existenci navíc nemá zdání ani většina administrátorů. Proto potřebujete-li uschovat některá citlivá data před zraky ostatních nebo spoofovat spuštěný proces, víte teď již jednu z možných metod, jak na to…

.cCuMiNn.

RubberDuck zaslal dodatečně ještě následující informace



Souborový systém NTFS byl vyvynut firmou Microsoft pro zvýšení bezpečnosti a stability systému. Jak se to povedlo nechám na uvážení každého z Vás. Ovšem, co je důležitější, byl do NTFS zabudován mechanismus ADS. ADS má za úkol zajišťovat kompatibilitu se soborovým systémem HFS(Hierarchical File System). HFS je souborový systém pro Macintosh. Primární a alternující datové proudy se liší jen nepatrně. Hlavním rozdílem je schopnost aplikace detekovat ADS a také v přístupu k tomuto proudu.Kazdý z datových proudů je vybaven vlastním zabezpečení. Systém Windows ale kontroluje pouze zabezpečení proudů, jež nebyly pojmenovány. Data v ADS lze ale přímo stustit.

type C:\hack.exe > C:\windows\system32\calc.exe:hack.exe

Program Kalkulačka byl naplněn ADS hack.exe

cd C:\
copy C:\windows\system32\calc.exe C:\calc.exe
edit C:\ukol.txt
type calc.exe > ukol.txt:calc.exe


Pokud teď budeme chtít spustit program calc.exe ukrytý v textovém souboru ukol.txt, pak stačí zadat:

start C:\ukol.txt:calc.exe

V sytému WIN2000 existuje asi 5 metod pro spuštění různých typů dat:

1. Spuštění datového proudu ve formátu .exe nebo .vbs z okna Spustit pomocí příkazu file:\calc.exe:nazev_proudu
2. Spuštění skriptu v jazyce Visual Basic z příkazového řádku pomocí technologie Windows Scripting Host: wscript calc.exe:nazev_proudu
3. Vytvoření zástupce příkazu calc.exe:nazev_proudu. Zastupce spustí proudy ve formátu .exe a .vbs
4. Umístění zástupce proudu do složky Po spuštění spustí proudy ve formátu .exe a .vbs po přihlášení uživatele
5. Přidání podklíče s hodnotou calc.exe nazev_proudu do klíče blablabla...\CurrentVersion\Run způsobí spuštění proudu ve formátu .exe a .vbs po spuštění systému

Někteří tvůrci Spyware využívají ADS(např.: některé varianty CoolWebSearch) pro ukrytí škodlivého kódu.

Zdroj: časopis Hakin9

RubberDuck

Líbil se Vám článek?
Budeme potěšeni, pokud vás zaujme také reklamní nabídka

Social Bookmarking

     





Hodnocení/Hlasovalo: 1.57/136

1  2  3  4  5    
(známkování jako ve škole)