Sprytne ukrywanie danych wewnątrz innych plików, czyli praktyczne wykorzystanie strumieni w NTFS
22.08.2015 22:08
Z racji tego, że jest to mój debiut na blogu dobrychprogramów chciałbym na wstępie się z Wami przywitać i zaprosić do lektury mojego pierwszego wpisu.
Istnieją różne sposoby na ukrycie danych (np. zdjęć, filmów) przed niepowołanymi osobami. Niektórzy umieszczają je gdzieś głęboko na dysku gdzie nikt nie zagląda, inni umieszczają je w szyfrowanych kontenerach np. tworzonych w programie TrueCrypt, jeszcze inni umieszczają je w chmurach internetowych. W tym wpisie pokażę nieco inny sposób na ukrycie swoich danych. Jest on szybki oraz dość skuteczny. Dzięki wykorzystaniu obsługi strumieni w systemie plików NTFS sporządzimy plik, który będzie wyglądał jak dokument Worda tzn. będzie posiadał rozszerzenie .doc lub jak kto woli .docx. Po dwukrotnym kliknięciu zostanie otwarty w edytorze tekstu i będzie posiadał zawartość typową dla dokumentu Worda, ale gdy zostanie otwarty w programie graficznym, pojawi się... ukryty obrazek który nie będzie widoczny w edytorze tekstu. Oczywiście jest to tylko jeden z przykładów. Nic nie stoi na przeszkodzie aby stworzyć sobie plik JPG który zawiera w sobie film, a nawet plik HTML który zawiera archiwum skompresowane .zip. Możliwości są praktycznie nieograniczone, jedynym ograniczeniem jest to, że można ukrywać pliki wykonywalne .exe wewnątrz innych plików, ale tak ukrytych plików nie można uruchamiać.
Dlaczego mój pierwszy wpis jest właśnie o tym? Otóż w internecie niewiele się o tym mówi, niewiele jest artykułów na ten temat i myślę, że są tutaj osoby które o tym nie wiedzą, a może im się to przydać. Zatem kończymy wstęp i do dzieła!
Przygotowanie
Na poniższym zrzucie widzimy zawartość folderu "test" utworzonego na pulpicie. Znajduje się tam dokument Worda oraz obrazek zawierający domyślną tapetę Windowsa XP.
Ukryjemy teraz obrazek wewnątrz dokumentu Worda.W tym celu:
1. Otwieramy Wiersz Polecenia 2.Przechodzimy do katalogu gdzie są nasze pliki (w naszym przypadku folder "test" 3.Wklejamy komendę:
type xxx > yyy:zzz gdzie:
xxx - nazwa pliku który MA BYĆ UKRYTY, czyli w naszym wypadku nazwa pliku ze zdjęciem yyy - nazwa pliku W KTÓRYM UKRYWAMY plik xxx zzz - wymyślona przez nas nazwa. Za pomocą powyższej komendy w pliku yyy tworzymy strumień i przez zzz oznaczone jest miejsce gdzie wpisujemy nazwę tego strumienia
W sposób praktyczny zobrazowałem to poniżej:
W pliku "tekst.doc" utworzyłem strumień "ukryte.jpg" i do niego wrzuciłem zawartość pliku "idylla.jpg".
To wszystko! Plik idylla.jpg może już zostać usunięty, ponieważ jest ukryty wewnątrz dokumentu Worda.
Co dalej?
Zobaczmy, jak teraz wygląda nasz dokument:
Jak widać, dokument pozostał tak jak jest, lecz jest jeden ważny szczegół. Skoro w jednym pliku podobno ukryliśmy właśnie drugi, to czy nie powinien on mieć teraz większego rozmiaru? Zgadza się. Plik ma większy rozmiar ale Eksploator Windows nam tego nie pokaże. Pewnie chcielibyście wiedzieć co z tym obrazkiem, jak się do niego dostać? Otóż wystarczy jedna komenda w cmd:
Jak widać powyżej, oryginalny plik idylla.jpg został właśnie usunięty, jednak za pomocą jednej komendy wiersza poleceń można wydobyć go z pliku .doc i wyświetlić np. w programie Paint. Ogólnie komenda otwierająca ukrytą zawartość pliku ma postać:
nazwa_programu nazwa_pliku:nazwa_strumienia
Nic nie stoi na przeszkodzie aby stworzyć wiele strumieni w jednym pliku, czyli zrobić plik będący jednocześnie dokumentem, zdjęciem, filmem, piosenką, i czymś jeszcze.
Jak zdemaskować ukryte pliki?
Wiemy już, że pliki z ukrytą zawartością zwiększają swój rozmiar, ale Eksploator Windows tego nie pokazuje, to kryterium więc odpada. Jednakże są sposoby na zdemaskowanie takich plików. Najprościej wejść we właściwości podejrzanego pliku:
Pole "rozmiar" pokazuje nam wielkość danych jakie są dla nas widoczne po zwykłym dwukrotnym kliknięciu, natomiast pole "Rozmiar na dysku" pokazuje nam rozmiar całego pliku ŁĄCZNIE z ukrytą zawartością. Jeśli wskazania tych dwóch pól się niezbyt pokrywają, możemy podejrzewać że w pliku są dodatkowe strumienie. Co jednak zrobić jeśli chcemy być tego pewni, a nawet chcemy poznać nazwy strumieni w celu dotarcia do ukrytych danych? Jest to równie proste. Dodanie przełącznika /R do komendy dir w wierszu poleceń spowoduje że zdemaskujemy wszystkie pliki w danej lokalizacji.
Myślę, że po lekturze tego wpisu wiecie już dlaczego dwukropek jest znakiem zabronionym w nazwie pliku oraz jaka jest różnica pomiędzy "rozmiarem" a "rozmiarem na dysku" :)
Dziękuję za czas poświęcony na przeczytanie wpisu.