Kali Linux mit verschlüsselter USB Persistenz

Dieser Eintrag ist veraltet. Nutzen Sie für das aktuelle Kali Linux diese Anleitung.

Die Live-Version von Kali Linux verfügt im Standard-Boot-Menü über zwei Persistenz-Optionen, die den permanenten Erhalt von Daten ermöglichen. Somit können alle während eines Penetrationstests gesammelten Dokumente, Testergebnisse und Konfigurationen auf dem USB-Stick erhalten bleiben und stehen nach einem Neustart erneut zur Verfügung. Diese Daten werden in einer eigenen Partition auf dem USB-Laufwerk gespeichert.

Da es sich bei Penetrationstest oftmals um sehr sensible Daten handelt, lassen sie sich zusätzlich durch LUKS verschlüsseln. Diese Anleitung zeigt die notwendigen Schritte, um einen USB-Stick für die Live-Version von Kali Linux zu erzeugen, eine zusätzliche Partition für die permanenten Daten einzurichten und diese zu verschlüsseln.

Sie benötigen einen USB-Sick (ab 8 GB). Nachdem Sie die Live-Version von Kali Linux erstellt haben, müssen noch einige Einstellungen vorgenommen werden, die man am besten auf einem Linux-System ausführt.

So geht man Schritt für Schritt vor:

Schritt 1 – Aktuelle Version von Kali herunterladen und auf USB-Sick übertragen

Die jeweils aktuelle Version von Kali Linux finden Sie immer auf der Webseite der Entwickler.

Grundsätzlich haben Sie mehrere Möglichkeiten Kali auf den USB-Stick zu übertragen.  Wer Windows nutzen möchte, den empfehle ich den Win32 DiskImager. Er kann u.a. hier heruntergeladen werden. Die Übertragung geht damit problemlos vonstatten.

Wer Linux nutzen möchte, der muss zunächst feststellen, welche Partitionen auf dem USB-Stick erzeugt wurden. In der Regel sind das /dev/sdb1 und  /dev/sdb2. Das folgende Bild zeigt die Ausgabe des Befehls fdisk –l.

Bevor Sie den nächsten Schritt ausführen, sollten Sie die weitere Vorgehensweise verstehen. Der Befehl dd dient zum bit-genauen Kopieren. Somit werden Daten Bit-für-Bit bzw. Byte-für-Byte ausgelesen und wieder geschrieben. In unserem speziellen Fall wird die ISO-Datei (if=) gelesen und auf den USB-Datenträger in die Partition /dev/sdb (of=) geschrieben. Dies erfolgt in unserem Beispiel in  512k Blöcken (bs=512k). Zum Ausführen benötigen Sie root-Rechte.

Der vollständige Befehl lautet:

dd if=kali-linux-2018.1-amd64.iso of=/dev/sdb bs=512k
									

Die Erstellung des USB-Laufwerks kann einige Zeit in Anspruch nehmen Leider liefert der dd-Befehl keine Rückmeldung bis er abgeschlossen ist. Wenn Ihr Laufwerk jedoch über eine Zugriffsanzeige verfügt, wird es wahrscheinlich von Zeit zu Zeit flackern. Sobald dd das Laufwerk fertiggestellt hat, wird eine Zusammenfassung ausgegeben.

Schritt 2 – Persistenz einrichten und Partition verschlüsseln

Nachdem der USB-Stick mit Kali beschrieben wurde, empfehle ich ein Linux-System zu nutzen, um die Persistenz-Option einzurichten. Im Video nutze ich z.B.  Ubuntu, um eine verschlüsselte Partition (in der Regel /dev/sdb3/) zu erstellen.

Das folgende Bash-Skript (setup.sh) soll helfen, den Vorgang zu automatisieren. In den Kommentaren finden Sie die entsprechenden Erläuterungen. Wenn ein Nutzer dieses Skript ausführt, muss er weitere Eingaben am Bildschirm tätigen und eine Passphrase festlegen. Ein Zugriff auf das verschlüsselte Laufwerk wird dann zukünftig nur noch über dieses Kennwort möglich sein.

Im Grunde muss der Anwender nur drei Anpassungen vornehmen. In Zeile 8 wird die heruntergeladene Kali iso-Datei angegeben. Zeile 11 enthält die Bezeichnung der Partiotion auf dem USB-Stick. Diese ist in der Regel /dev/sdb/. In Zeile 14 wird die Größe des USB-Sticks in GB angegeben.

[code]
#!/bin/bash
# This script creates the Kali persitence option including
# LUKS encryption on a USB flash drive
# See https://docs.kali.org/ for more information
# Pentestit.de 2017/12/20, Update 2018/04/06

# Kali Linux iso-File – change if necessary
kali_iso=’kali-linux-2018.1-amd64.iso’

# USB flash drive partition – change if necessary
partition=’/dev/sdb’

# USB flash drive size – change if necessary
size=8gb

# create new partition in the empty space above the Kali
# Live partitions
end=$size
read start _ < <(du -bcm $kali_iso | tail -1); echo $start
parted $partition mkpart primary $start $end

# install cryptsetup
apt-get -y install cryptsetup

# encrypt partition, you will be ask for a passphrase
# make sure to remember it 😉
cryptsetup –verbose –verify-passphrase luksFormat $partition”3″
cryptsetup luksOpen $partition”3″ my_usb

# format device and change label
mkfs.ext3 -L persistence /dev/mapper/my_usb
e2label /dev/mapper/my_usb persistence

# create directory, mount device, configure persistence
mkdir -p /mnt/my_usb
mount /dev/mapper/my_usb /mnt/my_usb
echo “/ union” > /mnt/my_usb/persistence.conf
umount /dev/mapper/my_usb

# closing mapped device
cryptsetup luksClose /dev/mapper/my_usb
[/code]

 

Schritt 3 – Kali mit persistent Funktion starten

Nun sollte ein PC mit den angefertigten USB-Stick gestartet werden. Stellen Sie sicher, dass die Bootreihenfolge entsprechend umgestellt wurde und wählen Sie nach dem Start von Kali die entsprechende Funktion im Boot-Menü aus. Beachten Sie auch hier, dass beim Hochfahren des Systems die Passphrase für die verschlüsselte Partition abgefragt wird.

Es hat alles funktioniert, wenn die gemachten Änderungen z.B. im Verzeichnis /Documents beim Neustart erhalten bleiben. Viel Spaß beim Testen!

Das nachfolgende Video zeigt die Vorgehensweise Schritt für Schritt.

2 Gedanken zu „Kali Linux mit verschlüsselter USB Persistenz“

  1. Hallo,
    bei mir ist der USB-Stick /dev/sdg. Du schreibst, dass man in Zeite 11 die Bezeichnung der Partiotion des Sticks anpassen muss. Ich gehe davon auc, dass ich das in Zeile 24 und 25 auf machen muss. Ist das richtig?

    Antworten
    • Klar, das habe ich übersehen. Die Zeilen müssen natürlich auch angepasst werden. In Deinem speziellen Fall wäre es
      /dev/sdg3.

      Ich würde aber hier auch die Variable nehmen, die auch schon verwendet wurde. Ich würde dies wie folgt abändern:

      $partition”3″

      Antworten

Schreibe einen Kommentar

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.

Diese Seite verwendet Cookies, um die Nutzerfreundlichkeit zu verbessern. Mit der weiteren Verwendung stimmst du dem zu.

Datenschutzerklärung