Listing plików w systemie Linux¶
Listing plików pokazuje pliki obecne na systemie oraz informacje o tym, kiedy były modyfikowane. Pozwala zbudować oś czasu zmian dotyczących systemu plików oraz zlokalizować niepożądane pliki, takie jak narzędzia atakującego.
Listing obejmuje katalogi /root, /home, /var oraz /tmp – to w nich najczęściej pojawiają się pliki utworzone lub zmodyfikowane przez atakującego (narzędzia, pobrane payloady, dane eksfiltrowane). Pozostałe katalogi systemowe zabezpiecza się w ramach innych artefaktów (np. /etc poprzez kopie plików konfiguracyjnych).
NIE URUCHAMIAJ WYŁĄCZONEGO URZĄDZENIA
Jeżeli urządzenie było połączone z zaatakowaną domeną lub siecią, mogło zostać skompromitowane. W takim przypadku nie jest zalecane uruchomienie go przed ustaleniem zakresu incydentu. Należy uznać je za skompromitowane i poddać analizie. Uruchomienie takiego urządzenia może spowodować zaszyfrowanie danych przez szkodliwe oprogramowanie, nawet jeśli urządzenie jest odłączone od sieci wewnętrznej instytucji.
Jeżeli urządzenie nie jest objęte atakiem ransomware, samo uruchomienie systemu operacyjnego może nadpisać kluczowe dla analizy dane, takie jak dzienniki zdarzeń czy pliki usunięte przez atakującego.
Zalecanym rozwiązaniem jest przekazanie dysków z takiego urządzenia lub całego urządzenia do wyspecjalizowanej instytucji, która zabezpieczy dane znajdującie się na dyskach w sposób nie nadpisujący ich zawartości, bez uruchamiania systemu.
Wymagania¶
- Uruchomione urządzenie
- Dostęp do konta z uprawnieniami root
Wymagane narzędzia¶
- Czysty nośnik zewnętrzny przygotowany na zaufanym urządzeniu, zgodnie z instrukcją Przygotowanie nośnika
Opis poleceń wykorzystanych w procedurze
| Polecenie | Opis |
|---|---|
find /root /home /var /tmp -printf '%D\t%i\t%s\t%M\t%u\t%g\t%A@\t%T@\t%C@\t%y\t%p\n' |
Przeszukuje katalogi /root, /home, /var oraz /tmp. Dla każdego pliku wypisuje: numer urządzenia systemu plików (%D), numer inode (%i), rozmiar w bajtach (%s), uprawnienia (%M), właściciela (%u), grupę (%g), czas ostatniego dostępu (%A@), czas modyfikacji (%T@), czas zmiany inode (%C@), typ pliku (%y) oraz ścieżkę (%p), oddzielone tabulatorami. |
date -u +%Y%m%dT%H%M%S-UTC |
Generuje bieżący znacznik czasu w strefie UTC. |
echo "..." >> $nosnik/error.log |
Dopisuje komunikat o rozpoczęciu i zakończeniu procedury do dziennika błędów na nośniku zewnętrznym. |
2>> $nosnik/error.log |
Przekierowuje strumień błędów polecenia do dziennika błędów na nośniku zewnętrznym. |
Procedura¶
Przed uruchomieniem polecenia należy spełnić poniższe warunki:
- powłoka systemowa jest uruchomiona z uprawnieniami roota.
- zmienna
$nosnikwskazuje na katalog docelowy na zewnętrznym nośniku, w przeciwnym wypadku należy przypisać ją poniższym poleceniem
Poniższe polecenie zabezpiecza metadane plików z katalogów /root, /home, /var oraz /tmp. Wynik zapisywany jest w pliku filelist_.tsv.
echo "Rozpoczęcie zabezpieczania listingu plików $(date -u +%Y%m%dT%H%M%S-UTC)" >> "$nosnik/error.log"
find /root /home /var /tmp -printf '%D\t%i\t%s\t%M\t%u\t%g\t%A@\t%T@\t%C@\t%y\t%p\n' 2>>"$nosnik/error.log" > "$nosnik/filelist_.tsv"
echo "Zakończenie zabezpieczania listingu plików $(date -u +%Y%m%dT%H%M%S-UTC)" >> "$nosnik/error.log"
Ostatnia aktualizacja artykułu: 2026-09-02.