7

Linux FUN: Was ich niemals auf der Shell eingeben sollte

Posted by Thorsten on 10. Juli 2013 in Allgemein, bash, linux, Ubuntu, UPlanet |

Gestern hatte ich das Vergnügen einen kurzen Linux-Übersichtskurs halten zu dürfen. Ganz am Schluss des Kurses war noch etwas Zeit und es kam die Frage auf welche Befehle der root User niemals auf der Shell eingeben sollte wenn er das System nicht zerstören oder crashen lassen möchte.

Also sprich Befehle die ich auf produktiven Maschinen nie eingeben sollte!

Wir sind hier auf ein paar Möglichkeiten die mehr oder weniger gut funktioniert haben:

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

(/dev/urandom kann man auch gerne gegen /dev/zero austauschen 😉 )

Wir überschreiben unsere erste Festplatte mit Zufallszahlen (oder eben mit Nullen). Das kann man natürlich auch beliebig erweitern um z.b. nur den MBR zu überschreiben was wiederrum Probleme beim „normalen“ booten erzeugt:

dd if=/dev/zero of=/dev/sda bs=512 count=1

 

find / -iname *bin* -type d -exec rm -rf {} \;

Löscht alle Ordner mit Executables.

rm -rf /

Eigentlich zu einfach, fast schon langeweilig. Wird aber bei manchen Distributionen abgefangen.

cp /dev/zero /dev/mem

Wir überschreiben das Memorydevice mit Null?! *G*

Mein Persönlicher Favorit ist die Forkbombe die auch in diversen anderen Blogs kursiert:

Fork Bombe

Auch wenn er nur sehr einfach aussieht. Der Befehl hat seine Wirkung 😀

Habt ihr noch ausgefallene Möglichkeiten um ein Linuxsystem zu zerschießen? Natürlich völlig useless 🙂

Schlagwörter: , , , ,

7 Comments

  • chris_blues sagt:

    Was bedeutet diese „forkbombe“ im Klartext? (reine Neugier)

  • Thorsten sagt:

    Wir haben es ausprobiert. Das System friert nach Eingabe des Befehls sofort ein, kann aber wieder gestartet werden.
    Es werden so viele Forks der eigenen Bash Shell erstellt bis das Memory aufgebraucht ist. Parallel beendet der Linux Kernel laufenden Prozesse um Memory zurück zu gewinnen. Allerdings läuft die Forkbombe ja immernoch und allokiert mehr und mehr Memory.
    Bis zum Stillstand des Systems…

  • Chris sagt:

    Danke für die hilfreiche Antwort zur Forkbombe. Die Frage hatte ich mir auch gestellt 😉

  • jeff sagt:

    Du könntest auch einfach deine Mausbewegungen auf die Festplatte schreiben:

    dd if=/dev/input/mouse0 of=/dev/sda

  • Thorsten sagt:

    *GRINS* seeeeehr gut!

  • Tomboy sagt:

    Was könnte man den alles als Input für:
    dd if=/dev/**** of=/dev/sda
    nutzen?
    Da müssten ja alle möglichen System Ereignisse oder Quellen möglich sein.

    Sagen wir mal ich würde ein Video so auf die Platte schreiben könnte ich darauf auch wieder zugreifen?

    also etwa so?
    dd if=/dev/sda of=/home/user/Videos/meinvideo.mpeg

  • Thorsten sagt:

    Als InputFile für dd kann man eigentlich alles nutzen. Angefangen von Device Files über alle blockbasierenden Geräte usw.
    Bei deinem Beispiel würde dein erstes Festplattendevice /dev/sda blockweise ausgelesen und in eine Datei /home/user/Videos/meinvideo.mpeg ausgelesen. Sprich du würdest ein Backup deiner eigenen Festplatte machen.
    Falls /home/user/Videos allerdings auf deiner lokalen Festplatte liegt würde diese ja bevor das Backup fertig ist volllaufen.
    Wenn du allerdings z.b. eine CDROM, einen USB Stick oder eine andere Festplatte welche kleiner ist als dein Device unterhalb von /home/user/* benutzt um daraus aus zu lesen kannst du das Resultat anschließend mounten und auf die Dateien zugreifen.
    Beispiel:
    * Man lege eine CDROM in sein Laufwerk, anschließend erstellt man ein Abbild dieses CDROM mit hilfe folgenden Befehls:
    dd if=/dev/cdrom of=/daten/ISO/cdromxyz.iso
    * Auf den Festplattenplatz achten. (Während der dd läuft kann man übrigens eine Statusinformation von dd abrufen indem man ein „kill -10 sendet. Dann weiss man auch wie weit dd fortgeschritten ist)
    * Anschließend Mountpoint erstellen: mkdr /mnt/meineCD
    * Und mounten des Iso: mount -o ro,loop /daten/ISO/cdromxyz.iso /mnt/meineCD

    Gruß
    Thorsten

Schreibe einen Kommentar

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

*

Copyright © 2009-2017 linux-voodoo.de All rights reserved.
This site is using the Desk Mess Mirrored theme, v2.4, from BuyNowShop.com.