Menu Zamknij

USB persistence w Kali Linux, który ma ręce i nogi

Kali Linux to następca BackTracka – uznana dystrybucja wyposażona w narzędzia do pentestingu i te z kategorii forensic. Podstawowym trybem pracy jest Live DVD, jest opcja zainstalowania na twardym dysku (dzięki Debian-Installer). Według twórców można też łatwo i wygodnie używać trybu persistence, czyli zgrać ISO na pendrive’a za pomocą DD lub Win32 DiskImager i dodać jedną partycję, która będzie zbierać zmiany w stosunku do oryginalnego obrazu. Jest jeden szkopuł – Add the word “persistence” to the end of the boot parameter line each time you want to mount your persistent storage – czyli za każdym rozruchem trzeba dodawać parametr jądra "z palca"…

Jeśli skorzystamy z metody DD mamy taką sytuację:
  Menadżer rozruchu, w tym wypadku isolinux, znajduje się na pierwszej partycji urządzenia z systeme plików iso9660 (ok. 2.5GB; flagi: hidden, boot). Oznacza to, że nie zmienimy NIC – w żaden sposób – systemy po zamontowaniu zinterpetują to jak napęd CD. Można teoretycznie próbować zmienić źródłowe iso przed "wypaleniem", ale nie udało mi się zachować oryginalnych danych o układzie partycji i bootsectorze korzystając z wielu różnorakich programów – ISO master, K3B, Daemon Tools, Alcohol 120%, Magic ISO – wszystko przepadało. A próby delikatnego dopisywania kawałków informacji przez dd z offsetami skazane było z góry na porażkę…

Szybki sposób jednak istnieje! A oto on:
  Partycjonujemy nośnik USB na samym początku tak, że pierwsza partycja to FAT32 o rozmiarze pliku iso plus kilka mega (dla wersji 1.0.5, która waży ok. 2600MB dałem dla pewności wszelkiej 2700MB) i reszta (czyli do końca) to ext4 nazwany dokładnie persistence.
  Używając klasycznego Universal USB Installer‚a do popbrania np. stąd postępujemy jak dla każdej instalacji – wybieramy dystrybucję z listy, wskazujemy plik ISO, wybieramy dysk (Windows widzi jedynie pierwszą partycję więc wskazujemy tą, która ma 2,5GB) i klikamy Create. Metoda ta polega na wypakowaniu ISO na FATa i zaplikowaniu właściwego bootsectora.
  Kolejny krok musimy podjąć na Linuksie – trzeba utworzyć plik persistence.conf i wpisać do niego co następuje: / union.
  Last but not the least – uczynienie rozruchu z flagą presistence automatycznym. Na pierwszej partycji w katalogu isolinux znajduje się plik live.cfg – najlepiej dodać w nim drugi wpis dla trybu persistence i ustawić go jako domyślny:

#nowa sekcja
label persistence-686-pae #nazwa dowolna
	menu label ^PERSISTENT (686-pae) #znowuż dowolna nazwa
	menu default #wpis czyniący tą sekcję domyślnie wybieraną
	linux /live/vmlinuz
	initrd /live/initrd.img
	append boot=live noconfig=sudo username=root hostname=PC persistence #ostatnia flaga
	
#oryginalna zawartość pliku, powinna zostać poniżej
label live-686-pae
	menu label ^Live (686-pae)
	#menu default #tą linię kasujemy lub komentujemy
	linux /live/vmlinuz
	initrd /live/initrd.img
	append boot=live noconfig=sudo username=root hostname=kali

label live-686-pae-failsafe
	menu label ^Live (686-pae failsafe)
	linux /live/vmlinuz
	initrd /live/initrd.img
	append boot=live config memtest noapic noapm nodma nomce nolapic nomodeset nosmp nosplash vga=normal

label live-forensic
	menu label Live (^forensic mode)
	linux /live/vmlinuz
	initrd /live/initrd.img
	append boot=live noconfig=sudo username=root hostname=kali noswap noautomount

3 Komentarze

  1. DeckTone

    Gwoli uściślenia: ” Kolejny krok musimy podjąć na Linuksie – trzeba utworzyć plik persistence.conf i wpisać do niego co następuje: / union”

    Podaną frazę należy umieścić w: /mnt/usb/persistence.conf

      • Daniel Skowroński

        Z jednej strony – tak, z drugiej jeśli ktoś ma drugi dysk twardy to te polecenia nie będą działały! Zawsze trzeba uważać z przeklejaniem komend używających /dev/sdXY na ślepo – to może się źle skończyć.

Dodaj komentarz