Tutorial de Kali Linux: comandos esenciales, gestión de herramientas Kali y más

Tutorial de Kali Linux: comandos esenciales, gestión de herramientas Kali y más

Como sistema operativo centrado en la seguridad, Kali Linux te permite realizar diversas tareas, como pruebas de penetración, análisis forense digital y análisis de redes. 

Con cientos de herramientas de seguridad, Kali Linux es ideal para especialistas en ciberseguridad y entusiastas que buscan ampliar sus habilidades. Si estás interesado en utilizar Kali Linux pero no sabes por dónde empezar, estás en el lugar adecuado. 

En este artículo, aprenderás cómo ejecutar Kali Linux en un servidor virtual privado (VPS), explorar sus comandos esenciales y gestionar sus potentes herramientas.

También tendrás la oportunidad de adquirir experiencia práctica mediante la realización de evaluaciones de seguridad, desde la ejecución de escaneos de red hasta la explotación de vulnerabilidades en los sistemas de destino. Al final de esta guía, estarás listo para usar Kali Linux para probar y proteger tu entorno con confianza.

Acceso a Kali Linux

El primer paso para empezar a utilizar Kali Linux depende de dónde lo hayas instalado. Por ejemplo, si has instalado Kali Linux en un ordenador de sobremesa, simplemente enciende el dispositivo e inicia sesión directamente. 

Sin embargo, si has instalado el SO en el VPS de Hostinger, sigue estos pasos en su lugar:

  1. Inicia sesión en hPanel con tu cuenta Hostinger y navega a VPS → Administrar.
  2. En el panel de control de tu VPS, selecciona la pestaña de acceso SSH para ver tus datos de acceso.
Panel de control del VPS en hPanel
  1. Abre tu aplicación terminal y ejecuta el siguiente comando, sustituyendo tu_vps_ip_address por la IP real de tu VPS:
ssh root@tu_vps_ip_address

Alternativamente, pulsa el botón Terminal del navegador para acceder directamente a tu VPS sin utilizar ninguna otra aplicación.

  1. Se te pedirá que introduzcas tu contraseña. Escríbela con cuidado y pulsa Intro.

Una vez autenticado, tendrás acceso de línea de comandos al entorno Kali Linux en tu VPS.

Comandos esenciales de Kali Linux

Kali Linux comparte los mismos comandos que otras distribuciones de Linux para la navegación, manipulación de archivos y monitorización del sistema. 

Como distribución basada en Debian, también utiliza comandos de gestión de paquetes similares a los de Ubuntu y otros derivados, incluyendo:

  • apt update: actualiza la lista de paquetes disponibles.
  • apt upgrade: actualiza todos los paquetes instalados.
  • apt install [package_name]: instala un paquete específico.
  • apt remove [package_name]: desinstala un paquete.

Dado que Kali Linux incluye herramientas especializadas en pruebas de seguridad, con el tiempo te interesará explorarlas. Aquí hay algunos comandos esenciales para operar estas herramientas:

HerramientaComandoUso
Nmapnmap [target_ip]Escanea redes, hosts y servicios.
MetasploitmsfconsoleInicia la consola Metasploit para explotar las vulnerabilidades del sistema.
Aircrack-ngaircrack-ng [options]Realiza pruebas de seguridad Wi-Fi.
WiresharkwiresharkAnaliza el tráfico de red.
Hydrahydra [options]Fuerza los inicios de sesión para comprobar la seguridad de las contraseñas.
John the Ripperjohn [file]Descifra hashes de contraseñas.
Niktonikto -h [target_ip]Escanea servidores web para encontrar vulnerabilidades.
SQLmapsqlmap [options]Comprueba las bases de datos en busca de vulnerabilidades de inyección SQL.
Lynislynis audit systemAudita las configuraciones de seguridad del sistema.
Snortsnort [options]Supervisa el tráfico de red en busca de actividades sospechosas.

Para trabajar más eficientemente en Kali Linux, considera aprender estos útiles atajos de línea de comandos:

  • history: enumera los comandos recientes para facilitar su reutilización.
  • ![number]: vuelve a ejecutar un comando por su número de la lista del historial.
  • clear: borra la pantalla del terminal.
  • –help: proporciona información sobre el uso de la mayoría de los comandos.

Gestión de herramientas Kali

Kali Linux utiliza metapaquetes para instalar grupos de herramientas relacionadas para tareas de seguridad específicas. Si necesitas Kali Linux para un propósito particular, puedes instalar un metapaquete adaptado a esa tarea en lugar de instalar todo el conjunto de herramientas.

Al configurar Kali Linux en su VPS, sólo se ha recibido el paquete kali-linux-core que contiene las herramientas básicas esenciales. Para verificar qué metapaquetes y herramientas ya están instalados, ejecuta:

apt list --installed | grep kali

Aquí está la salida esperada:

Uso de apt list --installed | grep kali en terminal

Si quieres instalar paquetes adicionales, primero actualiza el sistema para mantener la compatibilidad y evitar problemas de dependencias:

sudo apt update

sudo apt -y full-upgrade

A continuación, instala el metapaquete que desees. En este ejemplo, usaremos kali-linux-default, que incluye varias herramientas populares de Kali Linux:

sudo apt install -y kali-linux default

También puedes instalar otros metapaquetes en función de tus necesidades. Aquí tienes algunas opciones:

  • kali-linux-headless: herramientas básicas sin interfaz gráfica, ideal para configuraciones VPS.
  • kali-linux-arm: herramientas optimizadas para dispositivos basados en ARM.
  • kali-linux-nethunter: para pruebas de penetración en móviles.
  • kali-tools-information-gathering: para recopilar datos sobre los objetivos.
  • kali-tools-vulnerability: para detectar y analizar vulnerabilidades.
  • kali-tools-web: para pruebas de seguridad de aplicaciones web.
  • kali-tools-passwords: para probar y descifrar contraseñas.
  • kali-tools-database: para evaluar la seguridad de las bases de datos.
  • kali-tools-wireless: para probar la seguridad de la red inalámbrica.
  • kali-tools-reverse-engineering: para deconstruir y analizar programas maliciosos.
  • kali-tools-exploitation: para explotar las vulnerabilidades del sistema.
  • kali-tools-social-engineering: para escenarios de ingeniería social.
  • kali-tools-sniffing-spoofing: para detectar e imitar tráfico de red sospechoso.
  • kali-tools-post-exploitation: para asegurar el acceso tras la explotación.
  • kali-tools-forensics: para la investigación forense digital.
  • kali-tools-reporting: documentar y comunicar los resultados.

Si lo prefieres, también puedes instalar herramientas individuales. Por ejemplo:

sudo apt install nmap

Por el contrario, si consideras innecesarias ciertas herramientas y quieres liberar espacio, puedes eliminarlas individualmente:

sudo apt remove [tool_name]

O si ya no necesitas un metapaquete entero, elimínalo con:

sudo apt remove [metapackage_name]

Uso de Kali Linux para pruebas de seguridad

Esta sección demuestra cómo realizar pruebas de seguridad utilizando nuestro VPS Kali Linux como máquina de ataque y otro VPS con Ubuntu 24.04 como sistema de destino.

Para ambos servidores, utilizamos planes de Hostinger.

Para la máquina de ataque, elegimos el plan KVM 1 de Kali VPS hosting, que ofrece 4 GB de RAM y 50 GB de almacenamiento NVMe por 4.99 €/mes, cumpliendo con los requisitos mínimos de Kali Linux.

Puedes elegir cualquier plan para el sistema de destino, pero nosotros optamos por un plan VPS KVM 1 normal.

¡Atención! Asegúrate siempre de que tienes permiso para probar cualquier servidor o red. Las pruebas no autorizadas son ilegales y poco éticas. En nuestro caso, podemos practicar libremente ya que somos propietarios de ambas instancias VPS.

Ejecutar escaneos de red con Nmap

Nmap es una herramienta de escaneo de red para la evaluación de vulnerabilidades. Dado que utilizas dos servidores separados como máquina de ataque y sistema objetivo, estás perfectamente preparado para el descubrimiento y mapeo de red utilizando Nmap. He aquí cómo:

Escaneo básico de Nmap

Para empezar con un escaneo simple, ejecuta:

nmap [target_ip]

Reemplaza [target_ip] con la dirección IP de tu VPS de destino. Para los usuarios de Hostinger, puedes encontrar la IP del servidor en hPanel navegando a VPS → Administrar → Ajustes → Dirección IP.

Sección de dirección IP en hPanel

Cuando se ejecuta, este comando puede:

  • Descubrir puertos abiertos en el objetivo.
  • Identificar los servicios activos.
  • Proporcionar información preliminar sobre los servicios.
Salida del terminal nmap

Detección de servicios y versiones

Para obtener información adicional sobre los servicios que se ejecutan en los puertos abiertos, utiliza lo siguiente:

nmap -sV [target_ip]

Este comando activa la detección de versiones para cada servicio, ayudándote a identificar posibles vulnerabilidades en versiones de software específicas.

Uso de nmap -sV [target_ip] en el terminal

Detección SO 

Para determinar el sistema operativo que se ejecuta en el objetivo, ejecuta:

nmap -O [target_ip]

El indicador -O activa la detección de SO, que adivina el sistema operativo basándose en las respuestas del objetivo. Recuerda que Nmap puede que no siempre adivine correctamente, ya que sólo proporciona un porcentaje de probabilidad para cada coincidencia de SO.

Uso de nmap -O [target_ip] en el terminal

Escaneo completo con servicio, sistema operativo y tiempos agresivos

Para un escaneo completo que incluya puertos comunes, servicios en ejecución y detección del sistema operativo, ejecuta:

nmap -A [target_ip]

Este comando es más agresivo, ya que envía más paquetes personalizados llamados sondas para recopilar información, lo que podría activar cortafuegos o sistemas de detección de intrusiones.

La opción -A permite:

  • Detección de sistema operativo.
  • Detección de versiones.
  • Escaneo de scripts.
  • Traceroute.
Uso de nmap -A [target_ip] en el terminal

Escaneo sigiloso para evitar la detección

Por el contrario, si prefieres un escaneado sutil con menos probabilidades de ser detectado por cortafuegos o sistemas de detección de intrusiones, prueba con un escaneado TCP SYN:

nmap -sS [target_ip]

El indicador -sS realiza un escaneo SYN, también llamado escaneo “semiabierto”, que no establece completamente una conexión TCP, por lo que es menos probable que active alarmas.

Escanear puertos específicos

Puedes especificar un rango si sólo necesitas escanear ciertos puertos. Por ejemplo:

nmap -p 1-100 [target_ip]

Esto sólo escanea los puertos del 1 al 100. Ajusta el rango según sea necesario para ahorrar tiempo.

Guardar los resultados del escaneado

Puedes guardar los resultados del escaneo en archivos para analizarlos más tarde:

  • Salida normal, útil para revisiones rápidas:
nmap -oN scan_results.txt [target_ip]
  • Formato XML, ideal para importar los resultados en otras herramientas:
nmap -oX scan_results.xml [target_ip]

Forzar las credenciales de inicio de sesión con Hydra

También puedes utilizar Kali Linux para probar las credenciales de inicio de sesión utilizando Hydra. Es una potente herramienta para descifrar contraseñas que funciona en varios protocolos, incluyendo SSH, FTP y HTTP.

Ten en cuenta que debes conocer el nombre de usuario de tu objetivo para utilizar Hydra de forma efectiva. En nuestro caso, el nombre de usuario por defecto es root. Sigue estos pasos:

Extraer la lista de palabras

Una lista de palabras es importante para Hydra, ya que intenta encontrar cada contraseña de la lista hasta que encuentra una coincidencia. Kali Linux incluye una popular lista de palabras, rockyou.txt, que puedes encontrar en:

/usr/share/wordlists/rockyou.txt.gz

Si rockyou.txt.gz está presente, extraerlo con:

sudo gunzip /usr/share/wordlists/rockyou.txt.gz

Esto creará el archivo rockyou.txt en el mismo directorio.

Uso de sudo gunzip /usr/share/wordlists/rockyou.txt.gz en el terminal

Sin embargo, si falta el archivo rockyou.txt.gz, deberás instalar el paquete wordlists:

sudo apt update

sudo apt install wordlists

Esto debería instalar el archivo rockyou.txt.gz, y luego puedes extraerlo como se explicó anteriormente.

Alternativamente, puedes crear tu propia lista de palabras si quieres un conjunto de contraseñas más pequeño y específico.

Ejecutar Hydra

Ahora que todo está listo, utiliza el siguiente comando para iniciar sesión SSH por fuerza bruta en tu VPS de destino:

hydra -l root -P /usr/share/wordlists/rockyou.txt ssh://[target_ip]

En este comando, sustituir:

  • root: el nombre de usuario real que quieres probar.
  • /usr/share/wordlists/rockyou.txt: la ruta a tu lista de palabras personalizada si utilizas una.
  • [target_ip]: la dirección IP de tu VPS de destino.

Interpretar los resultados

Hydra comenzará a probar cada contraseña de la lista de palabras. Si hay un intento con éxito, Hydra lo mostrará en el terminal, mostrando qué contraseña era correcta. Por ejemplo:

Salida del terminal Hydra

Recuerda que la fuerza bruta puede tardar desde unos minutos hasta varios días, dependiendo del tamaño de tu lista de palabras y de la complejidad de la contraseña objetivo.

Explotar sistemas objetivo con Metasploit

Como herramienta popular de pruebas de penetración, Metasploit Framework ofrece módulos para explotar vulnerabilidades, probar la seguridad, entregar cargas útiles y mantener el acceso a los sistemas objetivo.

He aquí cómo empezar con Metasploit:

Ejecutar Metasploit

Abre Metasploit escribiendo:

msfconsole

Esto mostrará la consola de Metasploit, donde puedes buscar y ejecutar exploits y payloads.

Consola del terminal metasploit

Buscar un exploit

Basándote en lo que descubriste con Nmap, como puertos y servicios abiertos, busca exploits relevantes en Metasploit. Por ejemplo, si tu objetivo tiene un servicio SSH en ejecución, busca los relacionados con SSH:

search ssh

Metasploit devolverá una lista de exploits coincidentes que puedes utilizar.

Uso de search ssh en el terminal metasploit

Seleccionar y configurar un exploit

Elige un exploit de la lista. Para este ejemplo, utilizaremos sshexec, un módulo que ejecuta comandos en un sistema de destino a través de SSH. 

Este módulo no es técnicamente un exploit en el sentido tradicional; es una herramienta de post-autenticación que requiere credenciales SSH válidas.

Dado que ya conocemos la contraseña del objetivo después de forzarla con Hydra, podemos utilizar este módulo para interactuar con el objetivo. 

Si bien es similar a iniciar sesión directamente a través de un terminal, el uso de sshexec añade más flexibilidad, ya que ofrece algunas características de post-explotación.

Carga el módulo sshexec:

use exploit/multi/ssh/sshexec

Tras cargar el exploit, comprueba las opciones necesarias:

show options
Uso de use exploit/multi/ssh/sshexec en el terminal Metasploit

Presta atención a los campos obligatorios con valores en blanco que indican que debes configurarlos manualmente. En nuestro caso, debemos establecer la IP de destino y la contraseña:

set RHOSTS [target_ip]

set PASSWORD [target_password]

Interactuar con el objetivo

Una vez configurado todo, ejecuta el exploit:

run

Esto abre una sesión de Meterpreter, que proporciona un potente control sobre el sistema de destino. Para entender el entorno en el que estás trabajando, empieza con estos comandos:

  • Comprueba la información del sistema:
sysinfo
  • Comprueba el usuario actual:
getuid
Terminal Meterpreter

De forma similar a la navegación por tu servidor, Meterpreter proporciona comandos para interactuar con el sistema de archivos del objetivo:

  • Lista los archivos del directorio actual:
ls
  • Cambia de directorio:
cd /path/to/directory
  • Descarga un archivo del destino a tu sistema local:
download /path/to/target/file
  • Carga un archivo en el sistema de destino, como un script o una utilidad:
upload /path/to/local/file

También puedes obtener detalles sobre las conexiones de red y las interfaces del objetivo:

  • Muestra interfaces de red:
ifconfig
  • Comprueba las conexiones de red activas mediante el comando netstat:
netstat
Uso del comando netstat en terminal

Cuando termines, recuerda limpiar para no dejar rastros:

clearev

A continuación, finaliza la sesión de Meterpreter con:

exit

Seguridad de Kali Linux

Utilizar Kali Linux para tareas de seguridad significa que debes priorizar la protección de tu propio sistema, ya que un sistema comprometido podría exponer datos confidenciales, interrumpir tu trabajo o incluso ser utilizado para lanzar ataques contra otros.

Kali Linux sigue las mejores prácticas de seguridad VPS Linux estándar, tales como:

Actualizar regularmente

Mantener Kali Linux actualizado es una de las formas más eficaces de protegerlo:

sudo apt update && sudo apt -y upgrade

Esto te asegura tener los últimos parches de seguridad para Kali Linux y todas las herramientas instaladas.

Desactivar el inicio de sesión root

Iniciar sesión como root a través de SSH es arriesgado. En su lugar, crea un usuario separado con privilegios sudo:

sudo adduser <new_user>

sudo usermod -aG sudo <new_user>

A continuación, edita el archivo de configuración SSH:

sudo nano /etc/ssh/sshd_confi

Encuentra la línea PermitRootLogin y establécela en no para deshabilitar el acceso directo de root a través de SSH. Guarda el archivo y reinicia el servicio SSH:

sudo systemctl restart ssh

Utilizar un cortafuegos

Un cortafuegos limita el acceso a tu VPS y bloquea el tráfico no deseado. Como otras distribuciones, Kali Linux soporta Uncomplicated Firewall (UFW) que es simple de configurar.

Instala y habilita UFW:

sudo apt install ufw

sudo ufw enable

Permite sólo servicios esenciales, como SSH, en tu puerto personalizado:

sudo ufw allow 2222/tcp

Puedes ajustar las reglas en función de otros servicios que tengas previsto ejecutar. Una vez hecho esto, comprueba el estado del cortafuegos:

sudo ufw status

Instalar Fail2Ban

Fail2Ban supervisa los registros y bloquea automáticamente las direcciones IP con actividad sospechosa, como repetidos intentos fallidos de inicio de sesión. Instálalo con:

sudo apt install fail2ban

Fail2Ban está configurado para proteger SSH de forma predeterminada, pero puedes ajustar su configuración en /etc/fail2ban/jail.conf para supervisar otros servicios. Reinicia Fail2Ban después de realizar los cambios:

sudo systemctl restart fail2ban

Limitar los permisos sudo

Para cualquier usuario adicional que añadas, restringe sus privilegios sudo sólo a los comandos necesarios. Utiliza el comando visudo para configurar cuidadosamente los permisos sudo:

sudo visudo

Esto te permite especificar estrictamente qué comandos puede ejecutar cada usuario con sudo.

Conclusión

En este tutorial, hemos cubierto los fundamentos del uso de Kali Linux con fines de seguridad. 

Hemos descrito cómo acceder a su entorno Kali Linux, ejecutar comandos esenciales, gestionar herramientas especializadas y realizar evaluaciones utilizando Nmap, Hydra y Metasploit.

También destacamos la importancia de asegurar tu propio sistema Kali Linux actualizándolo regularmente, deshabilitando el inicio de sesión de root y configurando herramientas como un cortafuegos y Fail2Ban.

Kali Linux tiene cientos de herramientas para pruebas de penetración, evaluación de vulnerabilidades y descubrimiento de redes. Sigue explorando sus capacidades para profundizar en tus habilidades de ciberseguridad. 

Si tienes preguntas o quieres compartir tu experiencia con Kali Linux, no dudes en utilizar el cuadro de comentarios a continuación.

Preguntas frecuentes sobre el tutorial de Kali Linux

¿Cómo ejecuto un escaneo de red utilizando Kali Linux?

Utiliza Nmap para realizar un escaneo de red. Ejecuta nmap [target_ip] para descubrir puertos abiertos y servicios activos. 

Para detectar servicios, ejecuta nmap -sV [target_ip], que detalla las versiones que se ejecutan en los puertos abiertos.

¿Puedo ejecutar aplicaciones gráficas en Kali Linux?

Sí, puedes ejecutar aplicaciones gráficas instalando Kali Linux en un ordenador de sobremesa o configurándolo como una máquina virtual utilizando VirtualBox. 

Si instalas Kali Linux en un VPS, habilita el acceso gráfico mediante el reenvío X11 o configura un servidor VNC con un entorno de escritorio ligero como XFCE.

¿Cómo puedo automatizar tareas en Kali Linux?

Automatiza tareas en Kali Linux usando simples scripts bash para comandos repetitivos. Prográmalos con cron editando el archivo crontab (crontab -e) para establecer tiempos de ejecución para que tus scripts se ejecuten automáticamente en intervalos especificados.

Author
El autor

Diego Boada

Diego es comunicador social, especialista en publicidad digital que trabaja constantemente en mejorar sus conocimientos de marketing digital, enfocándose en contenido y SEO. Idiomas, series, libros y cursos en internet son sus hobbies principales, además de los deportes. Este es su perfil de LinkedIn.