Wprowadzenie
ProTipy¶
- Zawsze warto sprawdzać otrzymane pliki komendą
file <filename>
! Jeśli zawartość pliku widnieje jako "data
" to należy użyć innych narzędzi do wyciągnięcia naszych cennych informacji; - Sprawdzaj metadane EXIF przy użyciu komendy
exiftool <filename>
; - Używaj
strings
dla dodatkowych podpowiedzi;
- Do filecarvingu/wyciągania plików z plików można użyć:
binwalk <filename>
- samo polecenie tylko wyświetla możliwą zawartość pliku na podstawie znalezionychmagic numbers
(1)foremost <filename>
- znajduje i ekstraktuje pliki do folderuoutput
w tej samej lokalizacjisteghide
zsteg
-
Jeśli plik ma rozszerzenie
.img
oznacza to, że jest to zrzut obrazu całego dysku - plik zawiera w sobie bootloader i tabelę partycji & należy znaleźć odpowiednioffset
partycji, żeby móc ją zamontować i przeglądać dane w niej zawarte. Do tego zadania najłatwiej jest użyć narzędziafdisk
. - Wpisując
fdisk -l <path/to/image>
otrzymujemy informacje o dumpie przechowywanym w pliku - Przykładowo możemy odczytać block-size i start-block interesującej nas partycji.
-
Można też w łatwy sposób odczytać offset konkretnej partycji.
- Np. offset dla partycji pierwszej (będącej też partycją bootowania btw.) wyliczamy poprzez pomnożenie bajtów na sektor/blok z offsetem sektora/bloku (kolumna Start):
512 * 2048 = 1048576
- Dla partycji trzeciej (będącej jednocześnie największą - więc też pewnie zawierającą najwięcej interesujących danych):
512 * 731136 = 374341632
- Z tymi informacjami możemy przejść do montowania obrazu za pomocą komendy
mount
:!! Lokalizacja montowania musi być wcześniej stworzona (mkdir...)mount -o loop,offset=374341632 <file> <mount_location>
!! polecenie mount należy uruchamiać z prawami admina 1. Na szczęście nie trzeba samemu wyliczać potrzebnego offsetu, część offsetową komendy można zapisać jako
offset=$((512*731136))
(shell sam sobie wyliczy wartość i przekaże do komendy) - Np. offset dla partycji pierwszej (będącej też partycją bootowania btw.) wyliczamy poprzez pomnożenie bajtów na sektor/blok z offsetem sektora/bloku (kolumna Start):
-
check
Ciekawe stronki¶
- https://gchq.github.io/CyberChef/ - Cyberchef
- https://www.dcode.fr/xor-cipher - Przetwarzanie XOR tekstu
- https://www.base64decode.org - Base64 decoder
Programy¶
Lista skryptów i komend¶
Lista mniejszych programów i skryptów (wraz z najczęściej używanymi flagami/argumentami)
file <filename>
- określa rodzaj plikuexiftool <filename>
- wyświetla metadane EXIFstrings
- wyszukuje tekst w pliku i wylistowuje wszystkie rekordy w kolejnych wierszachforemost <filename>
- filecarving/wyciąganie plików z plikówfdisk
- obsługa dyskowej tablicy partycjimount
- montowanie obrazów
Cyberchef - wielozadaniowe narzędzie internetowe¶
- Za pomocą cyberchefa mamy możliwość przetworzenia danych na wszelkie sposoby, a jednocześnie możemy tworzyć "przepisy", czyli sekwencje przetwarzające po kolei konkretne dane wejściowe.
Volatility - analiza zrzutów pamięci¶
- aktualnie bardziej zaawansowana wersja istnieje na Pythona 2 - i ma bardzo dużo poradników!
- Na Pythonie 3 wersja jest ciągle w fazie rozwojowej - dużo funkcji nie działa...
Volatility - użycie¶
Autopsy - analiza obrazów dysków¶
Process Monitor¶
Narzędzie do monitorowania i analizy aktywnych procesów w systemie. Przedstawia w czasie rzeczywistym informacje o systemie plików, rejestrze i aktywnych procesach.
ProcDump¶
Narzędzie do tworzenia dumpów pamięci i nie tylko.
G'MIC - program do obróbki obrazów¶
- przydatny np. przy XORowaniu obrazów
gmic <img_1> <img_2> -blend xor -o <result_img>
Słowniczek¶
magic numbers¶
- początkowe bajty pliku jednoznacznie identyfikujące konkretny typ, przykładowa lista, druga lista;
offset¶
- pozycja danego pola, nagłówka lub innych danych w pliku lub pamięci operacyjnej względem wybranego punktu odniesienia[1];