Kategorien
Linux

Hilfe, ich habe kein uuencode!!!

xxd als ersatz für uuencode nutzen.

Ich wollte mir vor kurzem Schadcode zur Analyse von einem Computer ohne Netzwerk über die Serielle Console kopieren, musste jedoch leider feststellen das kein uuencode auf dem Server vorinstalliert war.

Nach einer kurzen suche suche bin ich auf xxd gestoßen, mit dem sich Binärdaten in hexadezimalcodes, und wieder zurück, umwandeln lässt.

Eine Datei „Datei“ kann mit dem folgenden Aufruf in Hex-Dump gewandelt werden.:

xxd -p Datei > Datei.txt

Ich schalte bei der Seriellen Console im anschluss das Logging ein, schreibe die Ausgaben also in eine Datei. und gebe mit „cat Datei.txt“ die Hex-Dump-Datei aus.

Nach dem die überzähligen Zeilen aus dem Mitschnitt entfernt wurden kann mit dem folgenden Befehl der Hex-Dump wieder in die Ursprungsdatei zurück umgewandelt werden.

xxd -p -r Datei.txt > Datei-eins

Die beiden Dateien „Datei-eins“ und die auf dem ursprünglichen Computer liegende Datei „Datei“ sind identisch. Der Dateiname und die Dateirechte werden bei dieser Methode jedoch im gegensatz zu uuencode nicht übernommen.

Bei einem Größenvergleich mit uuencode schneidet xxd erwartungsgemäß nicht besonders gut ab,

Test zum Speicherbedarf:

  • Anlegen einer binären Testdatei mit:
dd if=/dev/urandom of=bintest bs=1024 count=1024
  • Erzeugen der Testdateien für uuencode, xxd, base32 und base64:
uuencode bintest bintest > bintest-1.txt
xxd -p bintest > bintest-2.txt
base32 bintest > bintest-3.txt
base64 bintest > bintest-4.txt

Die Sicherung der Datei ist als Hex-Dump, xxd deutlich größer als mit uuencode oder base64, sogar noch größer als eine Umwandlung in ASCII via base32:

~$ ls -lhA bintest*
-rw-r----- 1 metzger users 1,0M Apr 25 19:19 bintest
-rw-r----- 1 metzger users 1,4M Apr 25 19:27 bintest-1.txt
-rw-r----- 1 metzger users 2,1M Apr 25 19:37 bintest-2.txt
-rw-r----- 1 metzger users 1,7M Apr 26 16:32 bintest-3.txt
-rw-r----- 1 metzger users 1,4M Apr 26 16:32 bintest-4.txt

 

Von der_metzger

Hi, ich bin Jan Kuehnel - Fachinformatiker für Systemintegration ,Linux-Benutzer und Blogger. Seit 2019 arbeite ich als Systemadministrator bei einem beliebten deutschen Fahrradverleih und zuvor über 10 Jahren bei einem großen deutschen Provider. Ich folge seit meiner Kindheit dem Hobby, technische Rätsel zu lösen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

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