Skocz do zawartości

Alternate Data Streams (ADS) / Strumienie NTFS


Rekomendowane odpowiedzi

Strumienie NTFS
Alternate Data Streams (ADS)



Opis zagadnienia strumieni:


Alternate Data Streams (ADS) - w tłumaczeniu wielokrotne / alternatywne strumienie danych - są to dodatkowe dane na partycjach NTFS umożliwiające stworzenie ukrytych obiektów "pod" plikiem / folderem. Frontowy plik / folder jest jedynym widocznym spod Windows Explorer, linii poleceń i menedżera plików, zaś strumienie widoczne nie są. Typy danych, które można umieścić w strumieniach: dowolne. Mogą to być dane czysto tekstowe, graficzne oraz wykonywalne. Nie ma również limitacji rozmiaru. Dane zapisane w strumieniach są "bezśladowe" - waga pliku głównego widziana w tradycyjnych narzędziach Windows nie zmienia się wcale za to magicznie ucieka miejsce na dysku. Zapis strumieni jest z "dwukropkiem" czyli:

PlikGłówny:PlikUkryty

O tworzeniu i ręcznych manipulacjach na ADS możecie poczytać w wypracowaniach:




C:\Users\Aretuza\Desktop>type ukryty.txt > widoczny.txt:ukryty.txt





Przykłady strumieni:


Artykuł Microsoftu:

Known Alternate Stream Names




Strumienie Zone.Identifier

C:\Users\Aretuza\Desktop\Download\fesetup.zip:Zone.Identifier



Wymagane krótkie wprowadzenie. Działalność systemowa jest oparta o strefy zabezpieczeń. W Internet Explorer w Opcjach internetowych są widziane następujące strefy:

iezones.png

W rzeczywistości stref jest 5 a nie 4, strefa Mój komputer jest domyślnie ukryta w tym widoku. Każda ze stref ma przypisany swój numer identyfikacyjny w rejestrze:

0 - Mój komputer
1 - Lokalny Intranet
2 - Zaufane Witryny
3 - Internet
4 - Witryny z ograniczeniami





Strumienie Zone.Identifier, zaprezentowane po raz pierwszy w Windows XP SP2 i występujące na wszystkich wyższych platformach, identyfikują przynależność strefową. Zone.Identifier jest generowany podczas zapisywania z i na lokalny dysk plików, które są w różnych strefach zabezpieczeń. Produkują go takie komponenty systemowe jak Internet Explorer / Outlook Express / Messenger. Jest to także wynikowa pobierania plików przez Firefox, gdyż od wersji Firefox 3 przeglądarka ta respektuje ustawienia strefowe zabezpieczeń Windows (starsze wersje Firefox były od tego niezależne). Plik ściągnięty z internetu na dysk ma przynależność do strefy Internet czyli numer 3 i zawartość jego strumienia to:

[ZoneTransfer]
ZoneId=3


Podczas otwierania pliku system sprawdza Zone.Identifier i właśnie dlatego pojawia się ten komunikat ostrzeżeniowy:

iezones3.png

Taki plik w swoich Właściwościach będzie miał także ustęp "Zabezpieczenia" i opcję Odblokuj:

iezones4.png

Usunięcie zaznaczenia z "Zawsze pytaj przed otwarciem tego pliku" lub użycie opcji "Odblokuj" jest równoznaczne z usunięciem tego strumienia z pliku, a w konsekwencji likwidacją komunikatu ostrzeżeniowego dla tego pliku. Jest także możliwe ogólne całkowite wyłączenie komunikatu ostrzeżeniowego via Internet Explorer > Opcje Internetowe > Zabezpieczenia > Strefa Internet > Poziom niestandardowy > Uruchamianie aplikacji i niebezpiecznych plików przestawione na Włączone. Tak przekonfigurowana opcja (uznawana za "niebezpieczną") ma odbicie na całym systemie.

iezones2.png


Strumienie favicon

C:\Users\Aretuza\Favorites\Fixitpc.pl.url:favicon
C:\Users\Aretuza\Favorites\Links\Suggested Sites.url:favicon


Charakterystyczne dla gromadzonych przez Internet Explorer Ulubionych linków. Strumień trzyma favikonę strony (ikonka widzialna na kartach i pasku adresu strony), o ile strona takową posiada. Ekstraktując ten strumień przy udziale jakiegoś narzędzia do pliku zewnętrznego otrzymamy plik graficzny *.ICO.

favico.png


Strumienie encryptable

D:\Photos\images\Thumbs.db:encryptable


Strumienie doklejane do plików Thumbs.db trzymających buforowanie miniatur na systemach poniżej Vista (od Vista pliki thumbs.db nie są obecne, Windows trzyma miniatury w innych plikach db). Strumienie te są zerobajtowe.


Strumienie {4c8cc155-6c1e-11d1-8e41-00c04fb9386d} | SummaryInformation | DocumentSummaryInformation | BnhqlkugBim0elg1M1pt2tjdZe | SebiesnrMkudrfcoIaamtykdDa

D:\Screenshoots\matrix.psd:{4c8cc155-6c1e-11d1-8e41-00c04fb9386d}
D:\Download\Readme.txt:Docf_BnhqlkugBim0elg1M1pt2tjdZe
C:\Documents and Settings\XPMUser\Pulpit\readme.txt:DocumentSummaryInformation
C:\Documents and Settings\XPMUser\Pulpit\readme.txt:SebiesnrMkudrfcoIaamtykdDa
C:\Documents and Settings\XPMUser\Pulpit\readme.txt:SummaryInformation
C:\Documents and Settings\XPMUser\Pulpit\readme.txt:{4c8cc155-6c1e-11d1-8e41-00c04fb9386d}


Seria strumieni towarzysząca różnym typom plików, a dotycząca Właściwości i karty Podsumowanie / Summary. Są generowane przy wypełnianiu danych typu Tytuł / Autor / Słowa kluczowe / Komentarze etc. Z wyjątkiem pierwszego, wykorzystują w swojej nazwie jako znak początkowy znak Unicode ♣ (U+2663).
Strumienie te są charakterystyczne dla starszych systemów takich jak Windows XP. Od Windows Vista nastąpiła znacząca zmiana, czyli eliminacja metody przechowywania metadanych w strumieniach NTFS (info). W nowszych systemach metadane plików stanowią integralną część plików, zaś dawna karta "Podsumowanie" przekształciła się w kartę "Szczegóły" z innym zakresem manipulacji, a dla niektórych plików nie jest już możliwe wprowadzanie tam danych (np. TXT czy RTF). Oczywiście nie jest wykluczona obecność takich strumieni na systemach Vista i nowszych, z prostego powodu: na plikach manipulowano z poziomu starszego systemu.


Strumienie Q30lsldxJoudresxAaaqpcawXc

E:\Backup II\Moje dokumenty 2\Moje obrazy14.jpg:Q30lsldxJoudresxAaaqpcawXc 


Strumienie podczepione do plików graficznych jako wynikowa działania usługi indeksującej na Windows 2000, więcej w KB319300. Znak początkowy jest w Unicode.


Strumienie TOC.WMV:

D:\Video\RocknRolla[2008]DvDrip.avi:TOC.WMV


Skutek uboczny otwierania plików medialnych w Windows Live Photo Gallery. Problem opisany w tym artykule: KLIK.


Strumienie nlsPreferences:

C:\WINDOWS:nlsPreferences


Produkt działania systemu aktywacji i licencji Nalperion Licensing Service.


Strumienie KAVICHS:

Są generowane przez starsze produkty Kasperskiego. Więcej w bazie wiedzy Kaspersky: KLIK




Możliwości systemowe detekcji i przeglądania strumieni:



orb_medium.pngWindows Vista i nowsze:

Systemy od Windows Vista w górę posiadają wbudowaną możliwość listowania strumieni z poziomu linii komend. Przez polecenie DIR z przełącznikiem /R.

dir.gif


Niestety nadal brak definitywnie wygodnej metody i solidnego GUI adresującego tę przypadłość.




flag_medium.pngWindows 2000/XP/2003:

System nie posiada żadnej możliwości bezpośredniego listowania strumieni. Microsoft udostępniał paczkę NTFSExt.exe, dzięki której były możliwe podstawowe zadania. Paczkę tę usunięto z serwera MS, można ją pobrać już tylko przez Wayback Machine:

button.png

Z paczki należy wyłowić trzy pliki: StrmExt.dll (główne rozszerzenie powłoki), RWStream.vbs (edycja strumieni) i HardLinks.vbs (tworzenie twardych linków). Wszystkie ulokować w folderze system32. Następnie zarejestrować rozszerzenie poleceniem:

Start > Uruchom > regsvr32 StrmExt.dll

Po tej akcji we Właściwościach plików pojawi się nowa karta Streams, która pokazuje aktualnie podczepione pod plik strumienie i pozwala też w pewnym stopniu podglądnąć ich zawartość. Są dostępne funkcje usuwania, edycji oraz tworzenia twardych linków.

ntfsext.png

Wprowadzenie podobnych kart dla dysków i folderów możliwe po uzupełniającej edycji rejestru:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\shellex\PropertySheetHandlers\{C3ED1679-814B-4DA9-AB00-1CAC71F5E337}]

[HKEY_CLASSES_ROOT\Drive\shellex\PropertySheetHandlers\{C3ED1679-814B-4DA9-AB00-1CAC71F5E337}]


Usuwanie rozszerzenia powłoki wykonuje się przez odwrotność, czyli wyrejestrowanie pliku:

Start > Uruchom > regsvr32 /u StrmExt.dll

Programem działającym na podobnej zasadzie jak paczka Microsoftu jest StreamViewer. To wszystko nie zmienia jednak faktu, że metody są bardzo nieporęczne i nie rozwiązują problemu zbiorczego wyszukiwania i zestawienia wykrytych strumieni w systemie. Ponadto, rozszerzenie ma ograniczone pole widzenia i nie będzie w stanie wykryć np. strumieni, które są chronione nadrzędnym sterownikiem trybu kernel zapobiegającym manipulacjom.




Możliwości systemowe usuwania strumieni:


Żaden z Windowsów nie posiada zdolności do usuwania strumieni w trybie bezpośrednim. Systemowe metody usuwania ADS bez posługiwania się dodatkowymi narzędziami sprowadzają się do jednego z tych obejść:

1. Przeniesienie pliku na dysk sformatowany w systemie plików, który nie obsługuje wielokrotnych strumieni, a następnie z powrotem. Do systemów plikowych tej kategorii należy m.in. FAT/FAT32 czy standardy płyt CD/DVD. Podczas przenoszenia pliku z doczepionymi strumieniami zgłasza się komunikat ostrzegający przed utratą tych danych, a jego potwierdzenie jest równoznaczne z automatycznym usunięciem strumieni. Formuła komunikatu jest różna, w zależności od tego z jaką platformą mamy do czynienia:

Windows XP:

alert1.png

Windows 7:

alert2.png

2. Transport pliku przy wykorzystaniu jednego z protokołów komunikacji internetowej. Przykładowo plik przesyłany jako załącznik e-mail lub via FTP traci automatycznie strumienie.

3. Regeneracja pliku podstawowego: wykorzystanie linii komend i przekopiowanie tylko strumienia głównego do nowego pliku, a następnie zmiana nazwy nowego pliku na poprzednią. Metoda ta nie działa dla katalogów.


Każdy z tych sposobów ma mankamenty, a może być niewykonalny z poziomu Windows, jeżeli mamy do czynienia ze szkodliwymi strumieniami podpiętymi pod krytyczne obszary Windows, których nie da się ot tak po prostu z palca przenieść / przekopiować / zamienić. Tu pojawiają się pomoce:



Narzędzia do usuwania strumieni:


W dzisiejszych czasach tradycyjne programy antywirusowe / antymalware są już wyposażone w funkcje detekcji szkodliwych strumieni. Predefiniowany ich zestaw usuwają w trybie automatycznym różne specjalistyczne narzędzia dezynfekujące stosowane u nas na forum w dziale Malware, ponadto wykorzystujemy narzędzia które udostępniają usuwanie strumieni w oparciu o ręcznie stworzony skrypt. Do dyspozycji są i darmowe małe aplikacje specjalizowane w wyszukiwaniu i usuwaniu strumieni (ich skuteczność może być różna):



StreamArmor

Strona domowa

Platforma: Windows XP/2003/Vista/Windows 7 32-bit i 64-bit
Licencja: freeware



StreamArmor - Skaner specjalizowany w wyszukiwaniu strumieni. W konfiguracji skanera można ustalić wykluczenia: zawężenie skanu tylko do plików (ominięcie folderów), ignorowanie znanych typów strumieni uznanych za bezpieczne, ignorowanie strumieni zerobajtowych. Dysponuje detekcją typu strumienia na podstawie jego wewnętrznej zawartości a nie tylko samego rozszerzenia (które może zostać sfałszowane). Główne typy plików wykrywane przez StreamArmor: wykonywalne (EXE, DLL, SYS, COM, MSI, CLASS), archiwa (ZIP, RAR, TAR, GZ, COM), audio (MP3, WAV, RA, RM, WMA, M3U), video (WMV, AVI, MPEG, MP4, SWF, DIVX, FLV, DAT, VOB, MOV), bazodanowe (MS ACCESS), dokumenty (PDF, XML, DOC, RTF, MS Office). Wyniki są reprezentowane według kolorystycznego klasyfikatora sygnalizującego stopień zagrożenia. Operacje dostępne dla wybranego strumienia: usunięcie, skopiowanie zawartości do odrębnego pliku, podgląd bądź też wykonanie strumienia (w środowisku wirtualnym!). Domyślnie ustawioną przeglądarką jest systemowe narzędzie Wordpad, ale konfiguracja udostępnia wybór własnej aplikacji do tego zadania, odrębnie dla plików wykonywalnych (np. można wskazać hex edytor) oraz pozostałych. Narzędzie posiada funkcję "Online Threat Verification" umożliwiającą sprawdzenie podejrzanego strumienia na obecność wirusa bądź rootkita przy udziale dedykowanych serwisów online: VirusTotal, ThreatExpert, MalwareHash. Wyniki skanowania można zapisać w formacie HTML.

streamarmor.png



AlternateStreamView

Strona domowa

Platforma: Windows 2000/XP/Vista/Windows 7 32-bit i 64-bit
Licencja: freeware



AlternateStreamView - Proste narzędzie ze stajni NirSoft do wyszukiwania strumieni. Podczas uruchomienia pada pytanie o wskazanie konkretnej ścieżki skanowania (litera dysku lub określony folder). Opcje skanowania dają wybór rekursywnego przetwarzania folderów oraz głębokości podfolderów. W wynikach można przefiltrować wyświetlanie strumieni zerobajtowych. Wybrany strumień podlega manipulacjom: usunięcie lub eksport do zewnętrznego pliku (z możliwością ustalenia rozszerzenia). Zaznaczone wyniki skanowania lub całość raportu może zostać zapisana w formacie HTML.

allternatestreamview.png



Alternate Data Streams Scan Engine

Strona domowa strona nieczynna

Platforma: Windows 2000/XP/Vista/Windows 7 32-bit
Licencja: freeware



Alternate Data Streams Scan Engine - Do skanowania można załączyć wszystkie dyski komputera lub wybrany z listy, określony folder lub plik. Program wykonuje automatyczną ocenę szkodliwości strumieni, wg trzech kolorów (Good, Risky, Dangerous), aczkolwiek wyniki nie zawsze cechuje precyzja i przy wątpliwościach należy wykonać dodatkową analitykę lub skonsultować się z kimś w tej kwestii. Wyniki typowane jako bezpieczne lub potencjalnie ryzykowne można ukryć w widoku. Wybrany plik ze strumieniami jest indywidualnie weryfikowany opcją "Analyze", co otwiera osobne okno ze zintegrowanym hex edytorem przedstawiającym listę strumieni i ich nazwy oraz po zaznaczeniu wybranego jego wnętrze. Tu też figuruje zestaw opcji manipulacyjnych: usuwanie bieżącego strumienia, usuwanie wszystkich strumieni, zapis strumienia do odrębnego pliku oraz ewentualny skan programem antywirusowym. Uaktywnienie skanu antywirusowego wymaga dodatkowej konfiguracji, czyli wskazania w opcjach ścieżki i komendy wywołującej dowolny skaner już obecny w systemie. Towarzyszącą funkcjonalnością programu na systemach Windows Vista i Windows 7 jest pobór statusu Centrum zabezpieczeń.

adsscanengine.png



HijackThis

Strona domowa

Platforma: Windows 2000/XP/Vista/Windows 7 32-bit
Licencja: freeware



HijackThis - Nie wymaga prezentacji, znają go wszyscy. Choć narzędzie utraciło znaczenie w zastosowaniach analitycznych (zbyt wąski zakres lokalizacji skanowania jak na dzisiejsze warunki), nadal może być uznane za przydatne w podnoszonym tu kontekście. Jedną z dodatkowych funkcji dostępnych w Config > Misc Tools jest zintegrowany moduł ADS Spy, umożliwiający skanowanie systemu pod kątem strumieni oraz ich usuwanie. Skaner daje do dyspozycji podstawową konfigurację: szybki skan zawężony tylko do kluczowego obszaru Windows, ignorowanie bezpiecznych strumieni systemowych oraz przeliczanie sum kontrolnych strumieni. Wyniki skanowania można zapisać w formacie TXT.

adsspy.png



StreamFinder

Strona domowa

Platforma: Windows XP/2003/Vista/Windows 7 32-bit
Licencja: freeware



StreamFinder - Kolejny skaner portable, mało skomplikowany. Wyszukiwanie strumieni można prowadzić w oparciu o wskazaną ścieżkę, uwzględniając rekursywne przetwarzanie podfolderów oraz dodatkowo precyzując maskę wyszukiwanego typu plików. Wybrany strumień można usunąć lub zapisać do nowego pliku. Raport końcowy w formacie CSV.

streamfinder.png



Streams

Strona domowa
Strona nakładki NTFS Streams Eraser

Licencja: freeware



Narzędzie konsolowe od Microsoftu udostępniające wyszukiwanie strumieni oraz ich usuwanie. Dla ułatwienia obsługi, by nie trzeba było posługiwać się pełnymi ścieżkami w linii poleceń, narzędzie można ulokować w jednej ze ścieżek uwzględnianych w Zmiennych środowiskowych np. C:\WINDOWS. Komenda obsługuje następujące przełączniki:


C:\WINDOWS>streams /?

Streams v1.56 - Enumerate alternate NTFS data streams
Copyright © 1999-2007 Mark Russinovich
Sysinternals - www.sysinternals.com

usage: streams [-s] [-d]
-s_____Recurse subdirectories
-d_____Delete streams


C:\WINDOWS>


Przykładowe polecenie tylko wyszukiwania strumieni w określonym folderze:


C:\WINDOWS>streams C:\Video

C:\Video\Film_instruktażowy.avi:
_________:TOC.WMV:$DATA 64


Przykładowe polecenie usuwania strumieni z całego dysku C:\ z uwzględnieniem podkatalogów:


C:\WINDOWS>streams -s -d c:\
NTFS Streams Erasing on disc C: completed


Dla początkujących niezdolnych operować w linii komend: nakładka graficzna "NTFS Streams Eraser". Plik nakładki i właściwe narzędzie Streams muszą być w jednym folderze (dowolnym), by nakładkę dało się uruchomić.




Streamtools

Strona domowa

Licencja: freeware



Zespół narzędzi konsolowych do prowadzenia operacji na strumieniach: listowanie (LS), kopiowanie (CS), zmiana nazwy (RS), usuwanie konkretnego strumienia (DS), usuwanie wszystkich alternatywnych strumieni z pliku (SF). Polecenie DS jest obsługiwane wg formuły:

ds nazwa strumienia

Przykładowa komenda usuwania z pliku widoczny.txt podpiętego pod niego strumienia ukryty.txt:


C:\WINDOWS>ds C:\Users\Aretuza\Desktop\widoczny.txt:ukryty.txt

C:\WINDOWS>



Uwaga:

Narzędzie DS, jeśli nie wskazano dokładnej nazwy strumienia, usuwa cały plik nadrzędny. Komenda nie prosi także o potwierdzenie operacji.





Są także i inne narzędzia, ale o mniejszej wartości w omawianym tu kontekście, gdyż udostępniające tylko wyszukiwanie strumieni a nie ich usuwanie:

Narzędzia konsolowe, które albo działają jak rozszerzony DIR, albo pozwalają listować strumienie: LADS | LNS | Sfind | FI
Narzędzia okienkowe: Stream Explorer



.
Odnośnik do odpowiedzi
Pomoc jest darmowa, ale proszę rozważ przekazanie dotacji na utrzymanie serwisu: klik.
  • Ostatnio przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×
×
  • Dodaj nową pozycję...