Ukrywanie danych w ukrytych katalogach
Napisał: Patryk Krawaczyński
04/07/2017 w Bezpieczeństwo Brak komentarzy. (artykuł nr 622, ilość słów: 535)
Co nie pasuje w poniższym listingu?
root@darkstar:~/bmap-1.0.20# ls -al total 488 drwxr-xr-x 6 root root 4096 Jul 4 20:52 . drwx------ 22 root root 4096 Jul 4 20:46 .. drwxr-xr-x 2 root root 4096 Jul 4 20:52 .. -rwxr-xr-x 1 root root 46996 Jul 4 20:47 bclump -rw-r--r-- 1 root root 10364 May 30 2000 bclump.c -rw-r--r-- 1 root root 0 Jul 4 20:48 bclump-invoke.sgml -rw-r--r-- 1 root root 17592 Jul 4 20:47 bclump.o -rwxr-xr-x 1 root root 61130 Jul 4 20:46 bmap -rw-r--r-- 1 root root 13030 May 15 2000 bmap.c -rw-r--r-- 1 root root 0 Jul 4 20:48 bmap-invoke.sgml -rw-r--r-- 1 root root 27264 Jul 4 20:46 bmap.o -rw-r--r-- 1 root root 12811 May 30 2000 bmap.sgml.m4 -rw-r--r-- 1 root root 824 May 15 2000 bmap.spec -rw-r--r-- 1 root root 266 Jul 4 20:46 config.h
Jeśli nadal nie widzimy nic podejrzanego wykonajmy polecenie:
find . -type d -name ".*" -print0 | xargs -0 ls -l
.: total 476 -rwxr-xr-x 1 root root 46996 Jul 4 20:47 bclump -rw-r--r-- 1 root root 10364 May 30 2000 bclump.c -rw-r--r-- 1 root root 0 Jul 4 20:48 bclump-invoke.sgml -rw-r--r-- 1 root root 17592 Jul 4 20:47 bclump.o -rwxr-xr-x 1 root root 61130 Jul 4 20:46 bmap -rw-r--r-- 1 root root 13030 May 15 2000 bmap.c -rw-r--r-- 1 root root 0 Jul 4 20:48 bmap-invoke.sgml -rw-r--r-- 1 root root 27264 Jul 4 20:46 bmap.o -rw-r--r-- 1 root root 12811 May 30 2000 bmap.sgml.m4 -rw-r--r-- 1 root root 824 May 15 2000 bmap.spec -rw-r--r-- 1 root root 266 Jul 4 20:46 config.h ./.. : total 0 -rw-r--r-- 1 root root 0 Jul 4 22:13 rootkit
No właśnie. Skąd wziął się plik rootkit? W Linuksie istnieje kilka dziwnych nazw katalogów, które mogą zostać użyte do ukrywania danych. Jeśli stworzymy podkatalog o nazwie "..."
(trzy kropki) oraz ".. "
(dwie kropki i spacja) w dowolnym katalogu:
mkdir "..." mkdir ".. "
to bardzo łatwo będą mogły one zostać pominięte wzrokowo przy listowaniu plików. W dodatku nie widać białego znaku spacji na listingu dlatego niedoświadczony użytkownik próbujący się dostać do tej ścieżki raczej, cofnie się o katalog wyżej niż odkryje zawartość “skrytki”:
root@darkstar:~/bmap-1.0.20# cd ".." root@darkstar:~# cd bmap-1.0.20/ /root/bmap-1.0.20 root@darkstar:~/bmap-1.0.20# cd ".. " /root/bmap-1.0.20/.. root@darkstar:~/bmap-1.0.20/.. #
Dodatkowo katalog ten będzie niewidzialny dla poleceń listujących tylko katalogi:
root@darkstar:~/bmap-1.0.20# echo */ include/ man/ mft/ root@darkstar:~/bmap-1.0.20# ls -d */ include/ man/ mft/ root@darkstar:~/bmap-1.0.20# ls -l | grep "^d" drwxr-xr-x 2 root root 4096 Jul 4 20:45 include drwxr-xr-x 3 root root 4096 Jul 4 20:45 man drwxr-xr-x 3 root root 4096 Jul 4 20:46 mft
Jako administratorzy systemu możemy okresowo sprawdzać istnienie ukrytych katalogów np. poprzez zadanie cron zawierające podobne polecenie wyszukiwania – jednak polecenie to nie znajdzie katalogów z nazwami, które nie zaczynają się od kropki, a zostały ukryte w rzadko “uczęszczanej” części systemu. Dlatego być może najlepszą metodą dla administratorów systemu jest przeciwdziałanie tego typu ukrytym katalogom za pomocą narzędzi sprawdzających integralność systemu pliku, jak na przykład Advanced Intrusion Detection Environment.
Więcej informacji: Hidden file and hidden directory