Fork en inglés significa tenedor o bifurcación. En informática se utiliza el segundo significado hablando de procesos, es decir, cuando un proceso ejecuta la llamada al sistema fork() se está bifurcando, está creando una copia de si mismo que también se pone en ejecución. Esto es lo que se llama sistemas multiproceso. Actualmente está en desuso ya que se tienden a utilizar más los hilos (threads).
Pero el fork() se sigue utilizando en aplicaciones antiguas e incluso en aplicaciones portadas del UNIX original y que no han cambiando demasiado a lo largo del tiempo. Por ejemplo en BASH. Y este uso del fork() hace que sea potencialmente peligroso:
#!/bin/bash
) { : | : & }; :
Al principio me costó descifrar lo que era esto, pero es que estoy acostumbrado a otros lenguajes de programación y no sabía que los dos puntos (:) podían ser nombre de función por sí solos en BASH. Así que esto se traduciría, como comenta Vicente Navarro, en una función recursiva que no termina nunca:
#!/bin/bash
forkbomb() {
forkbomb | forkbomb &
}
forkbomb
Esto es lo que se llama una Bomba fork y la verdad es que no es nuevo. Ya lo habíamos visto cuando estudiaba en la carrera la programación de sistemas UNIX en un IRIX que teníamos como servidor. Un día llegó nuestro profesor diciendo que alguien había cargado el sistema demasiado. No nos quería decir el qué, pero al final se lo sacamos, y no era más que:
#include <unistd.h>
void main() {
while(1)
fork();
}
Lógicamente, el «culpable» apareció (aunque esto sí que no nos lo dijo) porque para hacer las prácticas cada uno teníamos nuestra cuenta con nuestra contraseña a la que se accedía por telnet (¡qué tiempos!) y tampoco es que supiésemos más allá del fork() como técnica de hacking. De todas formas no le hizo nada… vamos, casi hasta lo felicita por su inventiva
.
Por cierto, nosotros para trabajar podíamos usar una estación de trabajo SGI Indy mientras que el servidor (creo recordar) que era un SGI Indigo.






Si, todavia me acuerdo yo de esa, nuestros primeros contactos con el cracking… Si es que en el fondo Foces era un buenazo…
¿En que promoción no se ha colgado el servidor al menos tres veces por un while(1) fork();?
¿Y por qué nunca se ha limitado el numero de procesos por usuario en ese servidor?
JAJAJAJJAJAJAJA.
Joder en serio, vaya cachondeo… p00r shannon (hey, no por los fork-bombs, si no por la mierda de sysadmin, que por cierto, existía??)
Luego lo probé en en F2 en una redhat pero estaba limitao : (, aunque enfoqué mi odio creando archivos con nombres con espacios tipo ” ” que ocupaban varios lligas (:P), ocultos por ahí, y de varios lligas.
Que tiempos aquellos…