Mysteriöser Befehl

Scarecraft

Scarecraft

Mitglied
Halli hallo,
Ich bin manchmal im Irc und stell da abundzu mal fragen über Ubuntu, da ich da noch net so bewandert bin.
Und so scherzkekse sagen dann immer : "mach einfach " : (){ :|:& };:" oder " mach : (){ :|:& };: und es öffnet sich nen geheimes untermenü" ich wüßte nun mal gerne was der befehl bewirkt. Wird sicherlich etwas systemcrashendes oder so sein....
Danke schonmal

PS:Trau mich net es selbst zu probieren
 
Dabei handelt es sich um eine Fork-Bombe

Ein Prozess verdoppelt sich selber, und dessen doppelgänger tun das selbe - Durch die ganzen Prozesse wird das System dann sehr langsam.
 
Ah danke , wusste ich doch das es nix gutes sein kann ;) danke für die schnelle antwort und schönen Tag noch!
 
Achso , danke garnicht gemerkt das ich das da falsch stehen hatte. Naja ich würd sagen meine sig is ja noch ne nummer schlimmer ;)
 
Dann solltest du deine Signatur mal bitte ändern, wenn du selber schon nicht sowas erleben möchtest!
 
dd if=/dev/urandom of=/dev/hda1

Btw. kann mir jemand die Hieroglyphen da oben bitte erklären?
 
Zuletzt bearbeitet:
Btw. kann mir jemand die Hieroglyphen da oben bitte erklären?

Wenn du damit die Funktion meinst:

": (){ :|:& };:"

:() {*} definiert eine Funktion : die beim aufrufen den Code * ausführt.
:|:& lädt die Funktion : in sich selber im Hintergrund
(Technisch: Rekrusiver aufruf, wird z.B. bei einigen Sortieralgorythmen benutzt, der einfachste davon wäre Quicksort, auch sehr häufig in XML Parsern zu finden)
;: schließ den letzten Befehl ab, bzw. gibt dem Interpreter zu verstehen das etwas neues kommt. : ruf die Funktion auf.

Dagegen kann man sich aber relativ leicht mit sichern in dem man die Prozesse der Benutzer begrenzt.
 
im wiki steht dazu auch :
Pseudocode:
ProgrammX {
Rufe ProgrammX auf;
Rufe ProgrammX auf;
Warte bis ProgrammX beendet wurde;
}

Und das unverschleierte :

f
unction f() {
f | f&
}
f
 
Ich hab mir grad den Spaß gemacht mein System zum absturz zu bringen :)

http://tomekk228.dyndns.org/gallery/index.php?bild=18668.png

"Virus":
Code:
#!/bin/bash

while [ true ]
do 

xterm
sh fork.sh

done

Als ich bei 400 Prozessen Sorgen bekommen habe, habe ich ein "anti-virus" dagegen geschrieben (natürlich nciht ernst gemeint ;) ) >

Code:
#!/bin/bash
while [ true ]
do

pkill fork.sh

done

Das wirkte sogar, es wurden keine neuen Programme bzw Forks gestartet. Es blieb konstant bei ca 400 Prozessen.

Aber da ich die ja weg haben wollte, hab ich noch es ein wenig erweitert:

Code:
#!/bin/bash
while [ true ]
do

pkill fork.sh
sh antipill.sh

done

Das schluß endlich startete über 5000 Prozesse und legte mein System total lahm :D

Man merke:

Niemals die Red und Bluepill gleichzeitig einwerfen! *scnr
 
Das hier ist mir mal (Schlafentzug sei Dank) "passiert":
Code:
ls -l|perl -ane 'push @lines, [@F]; END { print sort {$lines[$a][4] <=> $lines[$b][4]} @lines; }'
Spammte recht effektiv meinen RAM zu.
Erklärung
 
Sag mal tomekk was für ein top Programm ist das mit den schicken Bargraph-Anzeigen in der Konsole??
.
.
.
EDIT (autom. Beitragszusammenführung) :
.

http://de.wikipedia.org/wiki/Forkbomb

Da sind noch ein paar Varianten.
Ist es nicht sogar so, das die aktuellen Kernel Default gegen solche Attacken geschützt sind?

Gratuliere zum Kopieren des Links von weiter oben...

EDIT: Und nein die Kernel nicht, aber man kann seit Ewigkeiten mit PAM was dagegen tun, das wurde aber auch schon viel weiter oben beschrieben..
 
Zuletzt bearbeitet:
http://de.wikipedia.org/wiki/Forkbomb
Ist es nicht sogar so, das die aktuellen Kernel Default gegen solche Attacken geschützt sind?
Jain. Theoretisch hat das System einen Schutz, aber dieser muss halt in der /etc/security/limits.conf erstmal konfiguriert werden. Sowas per Default einzuschränken dürfte wohl den meisten Admins ziemlich auf die Nerven gehen. Ich jedenfalls will mir nicht von meinem System-Kernel vorschreiben lassen wieviele Kindprozesse ein Elternprozess erzeugen darf oder wieviele Prozesse ein User offen haben darf. Diese Einstellungen sollten abhängig von der verfügbaren Rechenleistung (und vor allem dem verfügbaren RAM) gemacht werden.
 

Ähnliche Themen

Virtualisieren einer Samba Domäne mit OpenLDAP und Sanfte Migration

Alternative zu Ubuntu gesucht + Mängelliste

GIT basics

Heimserver Konfiguration für Ubuntu Server?!

Internetfreigabe unter Ubuntu Netbook Remix

Zurück
Oben