Linux – ISO Image brennen

Aus gegebenem Anlass heute das Thema, wie man eine ISO Datei auf einen USB Stick „brennt“.

Die einfache Antwort lautet natürlich: Genau so wie auf eine DVD, aber das ist natürlich nicht hilfreich, daher folgt eine bebilderte Anleitung.

Methode 1

Schritt 1 : Das Laufwerke Tool starten ( aka. Gnome-Disks )

Schritt 2 : Den USB Stick reinstecken und auswählen

Laufwerketool

Schritt 3 : Im Menu ( oben in der Fensterleiste ) „Laufwerksabbild wiederherstellen“ auswählen ( kommt der Kontext oben im Bild )

Schritt 4 : mit dem Dateirequester das ISO Image auswählen

Schritt 5 : Wiederherstellen anklicken

Wirklich brennen?

Schritt 6 : Die Rückfrage beantwortet und abwarten bis der Vorgang beendet ist.

Methode 2

  1. Im Nemo/Nautilus die ISO Datei rechts anklicken.

2. Öffnen mit „Schreiber von Laufwerksabbildern“ ( ganz unten )

Alternative Methode

3. Als Ziel den USB Stick auswählen

4. Wiederherstellung starten und bestätigen

5. Abwarten und Tee trinken gehen!

Fedora 24: Wenn Automount nicht mehr geht

Wenn man einen USB-Stick in seinen Rechner steckt, erwartet man eigentlich, daß er als Laufwerk auftaucht. Seitdem Update auf Fedora 24 passierte das bei mir nicht mehr.

Schuld dürfte das unterbrochene Upgrade von F23 auf F24 sein, aber wer weiß.  Erstmal die Lage feststellen…

Werden die Drives gefunden ?

Als erstens schauen wir ins .. ups.. das gibt bei Euch nicht ja gar nicht mehr… /var/log/messages (Pech, ich habs noch 🙂 ) Wenn Ihr /v/l/m nicht mehr habt, dann könnt Ihr z.B. „dmesg“ befragen.

Steckt man einen USB Stick rein, muß sowas im Log erscheinen:

Nov  2 15:51:07 eve kernel: usb-storage 3-2:1.0: USB Mass Storage device detected
Nov  2 15:51:07 eve kernel: scsi host4: usb-storage 3-2:1.0
Nov  2 15:51:08 eve kernel: scsi 4:0:0:0: Direct-Access     Intenso  Rainbow Line     8.07 PQ: 0 ANSI: 4
Nov  2 15:51:08 eve kernel: sd 4:0:0:0: Attached scsi generic sg4 type 0
Nov  2 15:51:08 eve kernel: sd 4:0:0:0: [sdd] 7907328 512-byte logical blocks: (4.05 GB/3.77 GiB)
Nov  2 15:51:08 eve kernel: sd 4:0:0:0: [sdd] Write Protect is off
Nov  2 15:51:08 eve kernel: sd 4:0:0:0: [sdd] Write cache: disabled, read cache: enabled, doesn’t support DPO or FUA
Nov  2 15:51:08 eve kernel: sdd: sdd1
Nov  2 15:51:08 eve kernel: sd 4:0:0:0: [sdd] Attached SCSI removable disk

Merkt GVFS, daß ein Gerät angeschlossen wurde ?

In einer Bash als normaler User führt Ihr mal „gvfs-mount -o -i“ aus:

Da müßte dann sowas stehen :

Drive changed:      'Intenso Rainbow Line'
  Drive(0): Intenso Rainbow Line
    Type: GProxyDrive (GProxyVolumeMonitorUDisks2)
    ids:
     unix-device: '/dev/sdd'
    themed icons:  [drive-removable-media-usb]  [drive-removable-media]  [drive-removable]  [drive]
    symbolic themed icons:  [drive-removable-media-usb-symbolic]  [drive-removable-media-symbolic]  [drive-removable-symbolic]  [drive-symbolic]  [drive-removable-media-usb]  [drive-removable-media]  [drive-removable]  [drive]
    is_media_removable=1
    has_media=1
    is_media_check_automatic=1
    can_poll_for_media=0
    can_eject=1
    can_start=0
    can_stop=0
    start_stop_type=shutdown
    sort_key=01hotplug/1478096885644198

Volume added:       'Daten'
  Volume(0): Daten
    Type: GProxyVolume (GProxyVolumeMonitorUDisks2)
    ids:
     class: 'device'
     unix-device: '/dev/sdd1'
     uuid: '227C9F0E7E06FAF9'
     label: 'Daten'
    themed icons:  [drive-removable-media-usb]  [drive-removable-media]  [drive-removable]  [drive]
    symbolic themed icons:  [drive-removable-media-usb-symbolic]  [drive-removable-media-symbolic]  [drive-removable-symbolic]  [drive-symbolic]  [drive-removable-media-usb]  [drive-removable-media]  [drive-removable]  [drive]
    can_mount=1
    can_eject=1
    should_automount=1
    sort_key=gvfs.time_detected_usec.1478096885851240

d.b. das GVFS Kenntnis von dem neuen Gerät hat und nun an den Filemanager melden kann, daß DER es einhängen soll.

Wieso werden die dann nicht gemountet ?

Um das zu beantworten muß man etwas über Prozesskommunikation wissen. Die im OS dafür zuständige Komponente heißt D-BUS . Über den D-BUS kann Anwendung A Informationen an Anwendung B senden. Damit das auch bei Desktopanwendungen funktioniert, braucht es eine Spezialversion D-BUS X11 .

Die hatte es wohl bei meinem unterbrochenen Upgrade nicht sauber installiert, also holen wir das nach:

dnf reinstall dbus-x11

Reinstall simuliert das Entfernen und erneute Installieren in einem Rutsch. Danach noch Nautilus oder Nemo neu starten:

killall nautilus; nautilus --force-desktop

und schon tauchen die Laufwerke auch wieder auf dem Desktop und im Nautilus auf.

So leicht das hier auch klingt, in Realität hat es Stunden gedauert, bis ich das gefunden hatte.

WinSec: Zugangsdatenhash in unter 2 Sekunden geklaut

Der Rechnerarbeitsplatz ist verwaist, der Screensaver mit Passworteingabe saved so vor sich in, und doch sind die Logindaten jetzt bei jemand anderem?

Was nach Magie klingt, ist lediglich das Ausnutzen von aktuellen Mechanismen unter Windows, MacOs und vielleicht auch Linux. Der Angreifer ist dabei ein kleiner USB Stick, der sich als Netzwerkkarte ausgibt und eine schnellere und bessere Netzwerkanbindung verspricht, als die Netzwerkkarte zu bieten hat. Akzeptiert das Betriebssystem die neue Netzwerkkarte als besser, trennt es die bisherigen Netzwerkverbindungen auf und erstellt über den neuen Link sofort neue Verbindungen.  (DHCP ist da nicht ganz schuldlos dran.)

Was kann dabei schon schief gehen, ist doch alles verschlüsselt !

Ja, was kann da schon schief gehen, wenn man sich als SMB Client, Unixern besser bekannt als Samba, als ein Netzwerklaufwerk neu an einem Netzwerkgerät anmeldet ? Na, das Passwort wird erneut übertragen, was im Fall von Samba ein Passwordhash ist und der ist bei Nativem Windows, wer hätte es erraten, nicht sicher. Deswegen Blocken Router Samba auch per Default, damit es keine Passwörter und Usernamen verrät. Ja, der Username wird in Klartext übermittelt 😀

Der Gag am Rande, SMB schickt den Usernamen und Hash unaufgefordert zum Netzwerkgerät, selbst wenn man da noch nie angemeldet war, weil es könnte ja einen User mit dem Passwort dort geben und dann soll der verdammt nochmal auch gleich das Laufwerk benutzen können.

SMB Entwickler: Laßt Euch von der Marketingabteilung nicht immer alles  gefallen, Ihr Weicheier ! Steht auch mal für ein „Nein, ist uns zu unsicher.“ ein !

Wer wars, was benutzte er dazu ?

Hacker Mubix beschreibt in seinem Beitrag wie er mit einer 50 US$ Hardware den Angriff in 15 Sekunden durchführt. Dazu läuft auf dem USB Stick ein Minicomputer mit Linux der einen Sambashare simuliert und einfach alle IPs bedient.

Besser verständlich ist allerdings ein Video von Hak5 über einen anderen Angriff, der die gleiche Lücke von SMB ausnutzt, aber nur funktioniert, wenn der User eingeloggt ist. Dafür braucht er nur 1,5 Sekunden dafür, und dafür reicht schon ein simples Ablenkungsmanöver.

Gegenmaßnahmen

So leid es mir tut, dies zu sagen, aber außer Ausschalten hilft da nichts, weil aus einem Standby könnte der Angreifer den Rechner rausholen, die Netzwerkkarte zu deaktivieren und damit das Netz lahmlegen nutzt auch nichts, weil das USB Gerät ist ja eine Netzwerkkarte und genau die will das OS haben.  Man müßte schon in Windows das automatische akzeptieren von USB Geräten abschalten. Lustigerweise wird das für Storage-Sticks auch gemacht, aber eine USB-Ethernetkarte ist halt kein Storage-Stick 😀  Mal sehen ob M$ ein Einsehen hat und einen Patch rausbringt, daß wenn der Screensafer läuft, keine Automatismen greifen.

Mit LUKS einen USB Stick verschlüsseln

Was alles so passiert, wenn man sich langweilt… da kommt man auf die komischsten Ideen, z.b. einen USB-Stick mit LUKS zu verschlüsseln und davon ein „Tutorial“ zu schreiben.

Als erstes brauchen wir das bei Fedora schon beiliegende Laufwerke Tool. Wir suchen uns den USB Stick aus und formatieren diesen über das obere Menü am Fensterrand!

Crypto-1Damit das für das Tutorial schneller geht, denn der USB Port ist nicht der schnellste, habe ich QUICK Format ausgewählt. Das ist insofern ein Problem, als das dies einen Angriff auf die Verschlüsselung zuläßt, wenn man nicht gleich große Datenmengen darauf spielt. Da dies Tutorial nur die Basis für einen anderen Artikel ist, kann ich davon ausgehen, daß gleich große Datenmengen auf den Stick kommen. SIE zu hause werden die Methode „Langsam“ auswählen.

Ist der Stick frisch formatiert, richten wir eine LUKS Partition ein. Dazu drücken wir auf das Zahnrädericon unter der Partitionsanzeige und legen eine neue Partition an :

Crypto-2Offensichtlich habe ich mich bei den Namen der Partition vertan, aber macht nichts, das wird im nachfolgenden Artikel der Serie ohnehin überschrieben. Der Name hier ist für die automatisch erstellte Ext4 Formatierung der (später) entschlüsselten Partition wichtig und die wird in Teil 2 der Serie gleich wieder vernichtet. Passphrasen sollten min. 20 Zeichen lang sein, Groß- und Kleinbuchstaben und natürlich Zahlen beinhalten. Ich hoffe, daß niemand auf die Idee kommt, dieses Passwort ernsthaft zu benutzen 😉

Wenn das Laufwerketool mit der Partitionierung fertig ist, sieht das so aus:

Crypto-3und was wir danach mit dem Stick machen, gibt es morgen zu lesen in … Die Rachel von Kryptistan – Eine Saga um Bits und Bytes.

Probleme beim Formatieren von USB Sticks ?

Wenn Euch diese Fehlermeldung bekannt vorkommt, Ihr aber keine Lösung gefunden habt, dann ist der Artikel genau das, was Ihr sucht:

„Error creating partition on /dev/sdd: Command-line `parted –align optimal –script „/dev/sdd“ „mkpart primary ext2 1487MiB 3958374399b“‚ exited with non-zero exit status 1: Warnung: Der Treiberdeskriptor sagt, dass die physische Blockgröße 2048 Bytes ist. Linux sagt, dass es 512 Bytes sind.
 (udisks-error-quark, 0)“

Das Laufwerkstool hat Euch im Stich gelassen ?
GParted weigert sich überhaupt mit der Partition zu reden ?
sfdisk weigert sich eine neue Partition für das Drive anzulegen ?

Ok, es wird Zeit in die Steinzeit von Linux zurück zugehen und ein Tool rauszukramen, daß dank GParted aus der Mode kommen ist: fdisk .

Wer sich die mit Sfdisk die Daten des USBSticks ansieht, wird feststellen, daß logisch 2048 Byte, per physikalisch nur 512 Byte als Sektorgröße angegeben sind. Das führt zu einem logischen Dilemma, weil der Block nicht passen kann.

Modell: Intenso Rainbow Line (scsi)
Festplatte  /dev/sdd:  15,8GB
Sektorgröße (logisch/physisch): 2048B/512B
Partitionstabelle: mac
Disk-Flags:

fdisk dagegen liest es mit 512 Byte logisch wie physikalisch ein und damit paßt es dann wieder.

Festplatte /dev/sdd: 3,7 GiB, 3958374400 Bytes, 7731200 Sektoren
Einheiten: Sektoren von 1 * 512 = 512 Bytes
Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes
E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes
Festplattenbezeichnungstyp: dos
Festplattenbezeichner: 0x537ee902

Der Stick ist nur in Wirklichkeit nur 4 GB groß, also ist die Sektorgröße 512. 1:0 für fdisk.

ruft man als root folgendes auf : fdisk /dev/sdd

kann man sich im fdisk eine neue Partition wie folgt anlegen:

Befehl (m für Hilfe): n
Partitionstyp
   p   Primär (3 primär, 0 erweitert, 1 frei)
   e   Erweitert (Container für logische Partitionen)
Wählen (Vorgabe e): p

Partition 4 ausgewählt
Erster Sektor (3010560-7731199, Vorgabe 3010560):
Letzter Sektor, +Sektoren oder +Größe{K,M,G,T,P} (3010560-7731199, Vorgabe 7731199):

Eine neue Partition 4 des Typs „Linux“ und der Größe 2,3 GiB wurde erstellt.

Befehl (m für Hilfe): w
Die Partitionstabelle wurde verändert.
ioctl() wird aufgerufen, um die Partitionstabelle neu einzulesen.

Jetzt hat man eine neue Partition auf dem Stick, die man noch formatieren muß, was im Detail etwas dauern kann:

# mkfs.ntfs /dev/sdd4
Cluster size has been automatically set to 4096 bytes.
Initializing device with zeroes: 100% – Done.
Creating NTFS volume structures.

und ein paar Stunden später , kein Witz, kommt einem wie Stunden vor… kann man die Partition dann benutzen:

mkntfs completed successfully. Have a nice day.

Das Filesystem ntfs habe ich genommen, damit Linux und Windows Daten austauschen können.

Achtung: steckt man den USB Stick im selben Slot nochmal rein, kann es passieren, daß die neue Partitionstabelle nicht eingelesen wird und man seine Partition nicht sieht. Lösung: (Wieder kein Witz) Steckt den Stick in einen anderen Slot, damit bekommt er intern ein anderes Device zugewiesen, das umgeht das Kernel Cache 😀 (:facepalm:)