Przywracanie systemu w Windows Vista
Co to jest Przywracanie systemu? Funkcja Przywracanie systemu służy do przywracania plików systemowych komputera do ich wcześniejszego stanu. W ten sposób można cofnąć zmiany systemowe...
Prognoza średniego kursu za tysiąc odsłon 0,8 zł (na dziś)

Statystyki na miesiąc:
maj
 (wszystkie)
Stan z: 23 kwietnia 12, 14:30
Czy korzystasz z e-dysków np. Dropbox, SkyDrive, Google Drive itp.?





Kategoria:

Alternatywne strumienie danych NTFS - możliwości i zagrożenia

Dodano: wtorek, 16 marca 10

System plików NTFS ma wiele przydatnych funkcji. Jedną z nich są mało komu znane alternatywne strumienie danych (ang. Alternate Data Streams - skrót ADS). Postaram się opisać to zagadnienie.

Każdy plik i katalog znajdujący się na partycji sformatowanej w systemie NTFS posiada dwa strumienie danych: jeden główny dla faktycznych danych, drugi dla informacji o bezpieczeństwie pliku. Plik ten, wraz ze strumieniem głównym, jest jedynym widocznym spod Explorera i linii komend. Plik może posiadać jednak więcej strumieni i można w nich przechowywać dane i różne informacje tak jak w normalnych plikach. Strumienie te umożliwiają stworzenie ukrytych plików "pod" innym plikiem / folderem. Różnica polega na tym, że strumienie te mają nazwę. Dane zapisane w strumieniach nie pozostawiają żadnych śladów - waga frontowego pliku pozostaje bez zmian, a zagadkowo ubywa miejsce na dysku. Można mieć dysk 100GB, jeden widoczny plik o rozmiarze 30KB i ukryć w nim strumienie o wadze prawie całego dysku.

Plik główny: plik.xxx
Plik główny ze strumieniem: plik.xxx:
plik2.xxx

Zalety
Strumienie pozwalają omijać przydział dysku dla naszego konta ustalony przez administratora. W strumieniu możemy przechowywać tyle danych, ile się zmieści na dysku :). Umożliwiają również ukrywanie danych np. przed administratorem. Administrator, posiadający pełne uprawnienia, może nam usunąć plik wraz ze strumieniem, ale skąd będzie wiedzieć o istnieniu strumienia?

Zagrożenia
Jednak strumienie stanowią również zagrożenie dla systemu - w razie przedostania się do systemu szkodnika może on przechowywać lub dołączać szkodliwe pliki do normalnych plików.

Przykład strumienia rootkita Pe386:
C:\WINDOWS\system32:lzx32.sys

Funkcjonowanie strumieni
Aby zobrazować działanie ukrytych strumieni tworzymy przykładowy plik:
w Wierszu polecenia wpisujemy jedno z poleceń, w zależności gdzie tworzymy - na partycji systemowej, lub innym dysku


echo 12345 > plik.txt:cyfry
echo 12345 > x:\plik.txt:cyfry

Zostanie utworzony plik.txt zawierający strumień "cyfry". Aby odczytać dane możemy użyć polecenia:

more < plik.txt:cyfry
more < x:\plik.txt:cyfry

lub otworzyć w notatniku, ale musimy dodać rozszerzenie .txt
echo 12345 > plik.txt:cyfry.txt
notepad plik.txt:cyfry.txt

echo 12345 > x:\plik.txt:cyfry.txt
notepad x:\plik.txt:cyfry.txt

Strumienie możemy również tworzyć w katalogach:

mkdir katalog lub md katalog
echo 12345 > katalog:plik.txt
notepad katalog:plik.txt

Zostanie utworzony strumień w katalogu. To jest strumień a nie plik więc jak wejdziemy do tego katalogu to nic nie zobaczymy.

Plików nie można kopiować do strumienia lub na odwrót windowsowym poleceniem "copy". Umożliwia to jednak uniksowy odpowiednik - polecenie "cp". Opis poniżej.
Jednak w przypadku plików tekstowych można użyć polecenia "more":

kopiowanie strumienia cyfry z pliku plik.txt do pliku drugi_plik.txt
more < plik.txt:cyfry > drugi_plik.txt
more < x:\plik.txt:cyfry > x:\drugi_plik.txt

kopiowanie drugi_plik.txt do strumienia cyfry w plik.txt.
more < drugi_plik.txt > plik.txt:cyfry
more < x:\drugi_plik.txt > x:\plik.txt:cyfry

Wykrywanie i usuwanie strumieni 

Systemy od Vista w górę mają wbudowaną możliwość przeglądania strumieni przez polecenie DIR z przełącznikiem /R.

Dla systemów 2000/XP trzeba użyć dodatkowych aplikacji.

Streams   pobierz:  najnowsza wersja

aplikacja obsługiwana z linii komend, umożliwia wykrycie i usuwanie ukrytych strumieni. Najlepiej skopiować plik do katalogu c:\windows. Wówczas po uruchomieniu wiersza poleceń nie musimy wskazywać pełnej ścieżki do narzędzia.

Aplikację obsługujemy z linii komend, wpisując polecenia wg wzoru:
streams [-s] [-d] <file or directory>
[-s] uwzględnienie podfolderów
[-d] usuwanie strumieni
<file or directory> ścieżka do pliku/folderu

wykrycie strumieni z całego dysku c:\
streams -s c:\

usuwanie strumieni z uwzględnieniem podfolderów z całego dysku c:\
streams -s -d c:\

Wykorzystanie polecenia "cp" w ADC

Polecenie "cp" umożliwia skopiowanie pliku binarnego do strumienia i na odwrót. Można w ten sposób ukrywać i przechowywać pliki na dyskach. Ważne, że działa na koncie z ograniczonymi prawami. 
Aby skorzystać z tej możliwości potrzebny jest windowsowy port uniksowego polecenia "cp". Można skorzystać z kilku możliwości:

Zestaw CoreUtils  strona pobierania: link

pobieramy binaria "coreutils-x.x.x-bin.zip", dodatkowo zależne biblioteki dependencies zip file - "coreutils-x.x.x-dep.zip"); z archiwum binaria coreutils-x.x.x-bin.zip kopiujemy plik .\bin\cp.exe, a z coreutils-x.x.x-dep.zip dwie wymienione biblioteki.
Pliki te kopiujemy do katalogu C:\WINDOWS. Następnie uruchamiamy Wiersz polecenia i wpisujemy odpowiednie polecenia.

Zestaw UnxUtils  strona pobierania: link

Pobieramy archiwum, po wypakowaniu kopiujemy pliki:
.\bin\sh.exe
.\usr\local\wbin\cp.exe

Plik cp.exe kopiujemy do katalogu C:\WINDOWS. Następnie uruchamiamy sh.exe (lokalizacja dowolna), który zawiera własny interpretator linii komend, do którego wpisujemy komendy. Czasami trzeba dwa razy kliknąć Enter aby polecenia się wykonały.

port cp (nieoficjalny) 

po wypakowaniu pliki kopiujemy do katalogu C:\WINDOWS. Następnie uruchamiamy systemowy Wiersz polecenia i wpisujemy odpowiednie polecenia.

Polecenie "cp" w praktyce

Wzór-przykład skopiowania pliku do strumienia:
cp film.avi plik.txt:film
lub
cp x:\film.avi x:\plik.txt:film

Wzór-przykład skopiowania strumienia do pliku:
cp plik.txt:film film.avi
lub
cp x:\plik.txt:film x:\film.avi

Przykład:


Plik "cp.zip" został skopiowany do strumienia "arch.zip" (nie jest konieczne nadawanie rozszerzenia, alternatywnie można by było nazwać strumień "arch") w pliku "plik.txt" (jeśli plik "plik.txt" nie istnieje zostanie utworzony). Tak więc został utworzony pusty "plik.txt" zawierający strumień "arch.zip", który jest niewidoczny.
W następnym poleceniu strumień "arch.zip" został skopiowany do pliku "arch2.zip". Wynikowo sytuacja na dysku jest taka:

 

Edycja:Treść poniżej została dodana przez autora - 16 marca 2010

Uzupełnienie "port cp (nieoficjalny)" - zabrakło linku do pobierania: pobierz


Aplikacja streams jest dobra do ujawniania i usuwania strumieni, zwłaszcza w przypadku infekcji. Jednak jest jeszcze jedna przydatna aplikacja AlternateStreamView.

aplikacja wykonuje skanowanie dysku i wyświetla wszystkie ukryte alternatywne strumienie danych NTFS przechowywane w systemie plików. Umożliwia:
  •wyodrębnienie strumieni do określonego folderu
  •usuwanie niechcianych strumieni
  •utworzenie raportu z listą strumieni na dysku
Czyli jak ktoś chce ukrywać pliki w strumieniach ta aplikacja jest dla niego, bo umożliwia ich wyodrębnianie do wskazanego folderu.

oceń: 
Autor: seba.21


Komentarze

"Wykrywanie i usuwanie strumieni
Systemy od Vista w górę mają wbudowaną możliwość przeglądania strumieni przez polecenie DIR z przełącznikiem /R."

W jaki sposób zeskanować partycje i jednocześnie usunąć strumienie za pomocą tej funkcji? Czym grozi usunięcie strumieni?

przem

(17.03.2010, 12:44)

"W jaki sposób zeskanować partycje i jednocześnie usunąć strumienie za pomocą tej funkcji?"

Funkcja ta pozwala tylko na przeglądanie, bez usuwania. Po prostu wpisujesz w Wiersz polecenia komendę:
dir /R
Wcześniej przenosisz się na partycję poleceniem cd np. cd c:\
Aby usunąć skorzystaj z opisanego Streams lub AlternateStreamView (polecam tego, bo ma interfejs graficzny)

"Czym grozi usunięcie strumieni?"

Niczym. W normalnym systemie strumienie w ogóle nie występują. Jeśli się pojawią to zazwyczaj objawy infekcji. No chyba, że sam ukrywasz w ten sposób pliki.

Traxter

(17.03.2010, 20:22)

Traxter napisał: ["Czym grozi usunięcie strumieni?"
Niczym. W normalnym systemie strumienie w ogóle nie występują. Jeśli się pojawią to zazwyczaj objawy infekcji. No chyba, że sam ukrywasz w ten sposób pliki.]
Myślałem że strumienie są wykorzystywane do zabezpieczania zawartości plików w razie jakiegoś błędu (nagłe wyłączenie komputera itp.), miło usłyszeć że można wszystkie bez konsekwencji usunąć. Jeżeli dobrze myśle to przeniesienie pliku pod którego podpięte są strumienie np. na FAT32 i ponownie na NTFS również spowoduje wykasowanie strumieni?

przem

(18.03.2010, 18:16)

["Myślałem że strumienie są wykorzystywane do zabezpieczania zawartości plików w razie jakiegoś błędu (nagłe wyłączenie komputera itp.)"]

Tak jak napisałem właściwy plik to główny nienazwany strumień, widoczny z explorera. Inne strumienie mają nazwy i te są ukryte np. drugi informujący o bezpieczeństwie. Każdy strumień możesz bez konsekwencji usunąć. Na pewno nie są wykorzystywane do celu, który opisujesz.
Skanując dysk podanymi aplikacjami możesz natrafić na strumienie Zone.Identifier informujące o bezpieczeństwie plików, że plik został ściągnięty z sieci przez przeglądarkę Internet Explorer. Otwierając taki plik otrzymamy komunikat "Otwieranie pliku - ostrzeżenie o zabezpieczeniach.

["Jeżeli dobrze myśle to przeniesienie pliku pod którego podpięte są strumienie np. na FAT32 i ponownie na NTFS również spowoduje wykasowanie strumieni?"]
Tak, powoduje to usunięcie strumienia. Przenosząc plik z NTFS na FAT32 otrzymasz komunikat:
http://i44.tinypic.com/24dg2zt.jpg

Traxter

(19.03.2010, 12:25)
Wyślij do przyjaciół
   
 

Nie znalazłeś interesującego Cię materiału...?
Dodaj temat do POSZUKIWANYCH!!!

Ostatnio zaproponowane tematy:
Windows 8 Consumer Preview - jak naprawić błąd 'brak napędu CD/DVD'
Jak korzystać z usługi GG Dysk?
Procesor z obsługą wirtualizacji - co nam to daje?
Twórz animowane gify z obrazków online - szybko i skutecznie!

Chcesz dodać nowy artykuł?

- zostać redaktorem vortalu VISTA.PL
- pokazać innym swój skrypt
- zarabiać na swoich artykułach

Dołącz do społeczności VISTA.PL