Przejdź do treści

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

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 $nosnik wskazuje na katalog docelowy na zewnętrznym nośniku, w przeciwnym wypadku należy przypisać ją poniższym poleceniem
    $nosnik = "<katalog docelowy na zewnętrznym nośniku>" # Przykład: $nosnik="F:\Sekretariat-PC"
    

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.

Zabezpieczenie listingu plików
$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.