You are on page 1of 4

Alternate Data Stream (ADS)

Autor: .cCuMiNn.

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.

You might also like