Listing plików w systemie Windows¶
Listing plików pozwala zabezpieczyć metadane wszystkich plików dostępnych na badanym urządzeniu, pełne ścieżki, rozmiary oraz znaczniki czasu utworzenia, ostatniego dostępu i ostatniej modyfikacji. Analiza listingu może ujawnić niepożądane pliki obecne na badanym urządzeniu.
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 administratora
Wymagane narzędzia¶
- Urządzenie docelowe (nośnik USB, dysk zewnętrzny), na które zostaną zabezpieczone dane.
Opis poleceń wykorzystanych w procedurze
| Polecenie | Opis |
|---|---|
Get-Volume |
Polecenie programu PowerShell zwracające wszystkie wolumeny widoczne w systemie wraz z literą dysku, typem i systemem plików. Służy do wyznaczenia stałych wolumenów, na których ma zostać wykonany listing. |
Get-ChildItem -Recurse -File -Force |
Polecenie cmdlet programu PowerShell wypisujące pliki we wskazanym katalogu. Parametr -Recurse włącza rekurencyjne przeszukiwanie podkatalogów, -File ogranicza wynik do plików, a -Force uwzględnia pliki ukryte i systemowe, które domyślnie są pomijane, a które atakujący może wykorzystać do ukrycia narzędzi. |
Select-Object |
Polecenie programu PowerShell wybierające wskazane właściwości obiektów. |
Export-Csv |
Polecenie cmdlet programu PowerShell zapisujące obiekty w postaci pliku CSV. |
-ErrorVariable |
Wspólny parametr poleceń PowerShell zapisujący rekordy błędów do zmiennej. W procedurze służy do zebrania błędów dostępu do chronionych katalogów, które są zapisywane osobno w dzienniku błędów error.log. |
Przed rozpoczęciem procedury należy spełnić poniższe warunki:
- Terminal powłoki powershell jest uruchomiony z uprawnieniami administratora. Najszybsza metoda uruchomienia terminala to użycie skrótu klawiszowego Win + X i wybranie Windows Terminal (Administrator) i wykonanie polecenia
powershell. - Na nośniku docelowym utworzony został katalog o nazwie badanego urządzenia np.
Sekretariat-PC. - Zmienna
$nosnikwskazuje na katalog docelowy na zewnętrznym nośniku, w przeciwnym wypadku należy przypisać ją poniższym poleceniem
Procedura¶
Zabezpieczenie listingu plików¶
Poniższe polecenia zabezpieczają metadane plików na stałych wolumenach urządzenia, zasoby sieciowe, napędy oraz urządzenia przenośne są pomijane. Wynik zapisywany jest w postaci pliku CSV, co umożliwia późniejsze sortowanie, filtrowanie i budowanie osi czasu. Błędy dostępu do chronionych plików i katalogów zapisywane są osobno w dzienniku błędów error.log.
$err = @(); $files = foreach($d in (Get-Volume | Where-Object {$_.DriveLetter -and $_.DriveType -eq 'Fixed'}).DriveLetter){ Get-ChildItem -Path "${d}:\" -Recurse -File -Force -ErrorAction SilentlyContinue -ErrorVariable +err }; $files | Select-Object FullName, Length, CreationTime, LastAccessTime, LastWriteTime, Attributes | Export-Csv -Path "$nosnik\lista_plikow.csv" -NoTypeInformation -Encoding UTF8; $err | Out-File -FilePath "$nosnik\error.log" -Encoding utf8
Ostatnia aktualizacja artykułu: 2026-09-02.