En este laboratorio, aprenderás a navegar y utilizar las herramientas de seguridad esenciales en Kali Linux para tareas de ciberseguridad y pruebas de penetración. Esta sesión práctica te guiará a través de la visualización de herramientas preinstaladas con dpkg -l, el inicio del framework Metasploit usando msfconsole, la realización de escaneos de red con nmap, el análisis de servidores web con nikto, el acceso a la documentación de herramientas mediante páginas man y el guardado de los resultados de los comandos en archivos. Diseñado para principiantes, este laboratorio ofrece una introducción paso a paso a Kali Linux dentro de un entorno de contenedores controlado en la VM de LabEx. Al abrir la terminal, te conectarás automáticamente a la shell del contenedor de Kali Linux, listo para comenzar a practicar.
Este es un Laboratorio Guiado, que proporciona instrucciones paso a paso para ayudarte a aprender y practicar. Sigue las instrucciones cuidadosamente para completar cada paso y ganar experiencia práctica. Los datos históricos muestran que este es un laboratorio de nivel principiante con una tasa de finalización del 96%. Ha recibido una tasa de valoraciones positivas del 97% por parte de los alumnos.
Visualización de herramientas preinstaladas con dpkg -l
En este primer paso, aprenderás a visualizar las herramientas y paquetes preinstalados en tu sistema Kali Linux utilizando el comando dpkg -l. Esta es una habilidad básica pero esencial para comprender qué software tienes disponible para realizar pruebas de penetración y gestión del sistema.
Al abrir la terminal en el entorno de la VM de LabEx, te conectarás automáticamente a la shell del contenedor de Kali Linux. No es necesario iniciar manualmente el contenedor ni entrar en la shell; el entorno ya está configurado para ti.
Comencemos ejecutando el comando para listar todos los paquetes instalados. Escribe el siguiente comando en la terminal y presiona Enter:
dpkg -l
Este comando muestra una lista detallada de todos los paquetes instalados, incluyendo sus nombres, versiones, arquitecturas y descripciones breves.
Salida esperada (ejemplo, la salida real puede variar):
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-==============================-====================-============-========================================================
ii adduser 3.118 all add and remove users and groups
ii apt 2.2.4 amd64 commandline package manager
ii base-files 11.1+deb11u7 amd64 Debian base system miscellaneous files
...
Esta salida muestra el estado de cada paquete (ii significa instalado), junto con otros detalles. Dado que la lista es larga, se desplazará por la terminal. Puedes usar las teclas de flecha arriba y abajo o la rueda del ratón para navegar por ella.
Para que la salida sea más manejable, puedes filtrarla para buscar herramientas específicas. Por ejemplo, para encontrar paquetes relacionados con apt, escribe el siguiente comando y presiona Enter:
dpkg -l | grep apt
Salida esperada (ejemplo, la salida real puede variar):
ii apt 2.2.4 amd64 commandline package manager
Esto filtra la lista para mostrar solo los paquetes que contienen apt en su nombre o descripción. Esta técnica te ayuda a localizar rápidamente las herramientas que utilizarás en pasos posteriores. Comprender qué herramientas están disponibles en tu sistema es un paso fundamental antes de profundizar en tareas de seguridad específicas.
Instalación e inicio de Metasploit con msfconsole
Ahora que has visto las herramientas disponibles en Kali Linux, pasemos a iniciar uno de los frameworks de pruebas de penetración más potentes, Metasploit, utilizando el comando msfconsole. Este paso se basa en tu conocimiento de las herramientas del sistema y te introduce a una plataforma clave para las pruebas de seguridad.
Metasploit es un framework utilizado para desarrollar, probar y ejecutar exploits contra sistemas de destino. El msfconsole es su interfaz de línea de comandos, que te permite interactuar con el framework, configurar ajustes y lanzar diversas tareas de seguridad.
Primero, asegúrate de que Metasploit esté instalado actualizando la lista de paquetes e instalando el paquete necesario. Escribe los siguientes comandos en la terminal del contenedor de Kali Linux, presionando Enter después de cada uno:
apt update
apt install -y metasploit-framework
Estos comandos actualizan la lista de paquetes e instalan Metasploit si aún no está presente. Espera a que se complete la instalación; puede tardar unos minutos dependiendo del sistema.
Una vez instalado, inicia la consola de Metasploit escribiendo el siguiente comando y presionando Enter:
msfconsole
La primera vez que ejecutes este comando, puede tardar un momento en inicializarse mientras configura la base de datos y carga los módulos. Ten paciencia durante este proceso.
Salida esperada (ejemplo, la salida real puede variar):
Metasploit Framework
...
msf6 >
El prompt msf6 > indica que ahora estás dentro de la consola de Metasploit, listo para interactuar con el framework. El número (por ejemplo, 6) representa la versión de Metasploit.
Por ahora, no necesitas realizar ninguna tarea específica en Metasploit. Sal de la consola escribiendo el siguiente comando en el prompt msf6 > y presionando Enter:
exit
Esto te devolverá al prompt estándar de la terminal. Iniciar y salir de msfconsole te familiariza con el acceso a esta herramienta, lo cual es crucial para muchas actividades de pruebas de penetración que explorarás en futuros aprendizajes.
Instalación y ejecución de un escaneo básico de Nmap
Tras haber iniciado Metasploit, centrémonos ahora en el escaneo de redes utilizando nmap, una herramienta versátil para el descubrimiento de redes y la auditoría de seguridad. Este paso te introduce en la identificación de puertos y servicios abiertos en un sistema, una habilidad crítica en las pruebas de penetración.
nmap, abreviatura de Network Mapper, se utiliza para descubrir hosts y servicios en una red mediante el envío de paquetes y el análisis de las respuestas. Ayuda a identificar vulnerabilidades potenciales al mostrar qué es accesible en un sistema de destino.
Primero, asegúrate de que nmap esté instalado en tu contenedor de Kali Linux. Escribe el siguiente comando en la terminal y presiona Enter para actualizar la lista de paquetes e instalar nmap:
apt install -y nmap
Espera a que la instalación finalice; debería tardar solo unos segundos. Una vez instalado, estarás listo para realizar un escaneo básico. Dado que escanear sistemas externos sin permiso no es ético, escanearemos localhost (tu propio contenedor) como un objetivo seguro.
Vamos a ejecutar un servidor web básico en el contenedor.
apt install -y apache2
service apache2 start
Escribe el siguiente comando y presiona Enter:
nmap localhost
Este comando realiza un escaneo por defecto para detectar puertos y servicios abiertos en tu sistema local.
Salida esperada (ejemplo, la salida real puede variar):
Starting Nmap 7.91 ( https://nmap.org ) at ...
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00010s latency).
Not shown: 997 closed ports
PORT STATE SERVICE
80/tcp open http
...
Nmap done: 1 IP address (1 host up) scanned in 0.05 seconds
En esta salida, Host is up confirma que el objetivo es alcanzable. La tabla enumera los puertos abiertos (como el 80/tcp para HTTP), su estado (open significa accesible) y el servicio asociado. Esta información es vital para entender qué servicios se están ejecutando en un sistema. Al escanear localhost, has practicado el uso de nmap de forma segura, preparándote para tareas de reconocimiento de red más avanzadas en pasos futuros.
Instalación y escaneo con Nikto para vulnerabilidades web
Basándote en tus habilidades de escaneo de red con nmap, este paso te introduce a nikto, una herramienta para escanear servidores web con el fin de identificar vulnerabilidades y configuraciones incorrectas. Esta es una parte esencial de las pruebas de seguridad web.
nikto es una herramienta de código abierto que comprueba servidores web en busca de problemas conocidos como software desactualizado, archivos inseguros y otros fallos de seguridad potenciales. Es ampliamente utilizada por profesionales de la seguridad para evaluar la seguridad de las aplicaciones web.
Primero, asegúrate de que nikto esté instalado en tu contenedor de Kali Linux. Escribe el siguiente comando en la terminal y presiona Enter para instalarlo:
apt install -y nikto
Espera a que se complete la instalación; debería tardar solo unos segundos. Una vez instalado, escanearás localhost como un objetivo seguro para demostrar la funcionalidad de nikto. Si no hay ningún servidor web ejecutándose en localhost, la herramienta mostrará de todos modos cómo intenta conectarse, lo cual es valioso para el aprendizaje. Escribe el siguiente comando y presiona Enter:
nikto -h localhost
La opción -h especifica el host a escanear, en este caso, localhost, apuntando al puerto predeterminado del servidor web (normalmente el 80).
Salida esperada (ejemplo, la salida real puede variar):
Esta salida muestra a nikto intentando conectarse a un servidor web en localhost. Si no hay ningún servidor en ejecución, informará de la imposibilidad de conectar, como se muestra arriba. Si un servidor estuviera activo, enumeraría las vulnerabilidades potenciales o las configuraciones incorrectas. Este paso te ayuda a comprender cómo usar nikto para el escaneo de vulnerabilidades web, una habilidad clave para identificar debilidades de seguridad en aplicaciones web.
Acceso a la documentación de herramientas con páginas man
Ahora que has utilizado herramientas como nmap y nikto, es importante saber cómo acceder a su documentación para seguir aprendiendo. En este paso, aprenderás a usar las páginas man para explorar información detallada sobre comandos y herramientas en Kali Linux.
Las páginas man, abreviatura de manual pages (páginas de manual), son guías completas para la mayoría de las herramientas y comandos de Linux. Proporcionan descripciones detalladas, opciones, ejemplos e instrucciones de uso, lo que las hace invaluables para comprender cómo utilizar una herramienta de manera efectiva.
Instala man si aún no está instalado.
apt install -y man
Accedamos a la página man de nmap como ejemplo. Escribe el siguiente comando en la terminal y presiona Enter:
man nmap
Esto abre la página del manual de nmap en una interfaz de paginación, como less, donde puedes leer la documentación detallada.
Salida esperada (ejemplo, la salida real puede variar):
NMAP(1) Nmap Reference Guide NMAP(1)
NAME
nmap - Network exploration tool and security / port scanner
SYNOPSIS
nmap [Scan Type...] [Options] {target specification}
DESCRIPTION
Nmap ("Network Mapper") is an open source tool for network exploration and
security auditing. It was designed to rapidly scan large networks, although
it works fine against single hosts. Nmap uses raw IP packets in novel ways
to determine what hosts are available on the network, what services (application name and version) those hosts are offering, what operating systems (and
OS versions) they are running, what type of packet filters/firewalls are in
use, and dozens of other characteristics.
...
Usa las teclas de flecha arriba y abajo para navegar por la documentación. Verás secciones sobre el uso, las opciones y ejemplos. Para salir de la página man, presiona q para volver al prompt de la terminal.
Aprender a usar las páginas man te dota de la capacidad de explorar las funciones de cualquier herramienta de forma independiente. Esto es especialmente útil en Kali Linux, donde las herramientas tienen numerosas opciones que podrías necesitar consultar durante las tareas de seguridad.
Redirección de la salida de Nmap a un archivo
En este paso final, aprenderás a guardar la salida de un comando en un archivo para futuras consultas. Esto se basa en el uso previo de nmap e introduce la redirección de salida, una habilidad fundamental de Linux para documentar resultados.
La redirección de salida en Linux te permite guardar los resultados de un comando en un archivo en lugar de mostrarlos en la terminal. Esto se hace utilizando el símbolo >, que escribe la salida en un archivo especificado, sobrescribiéndolo si ya existe.
Realicemos otro escaneo de nmap en localhost y guardemos los resultados en un archivo llamado nmap_scan.txt. Escribe el siguiente comando en la terminal y presiona Enter:
nmap localhost > /root/nmap_scan.txt
El símbolo > redirecciona la salida del comando nmap localhost al archivo /root/nmap_scan.txt. No verás los resultados del escaneo en la terminal porque se están guardando en el archivo.
Para confirmar que la salida se ha guardado, visualiza el contenido del archivo escribiendo el siguiente comando y presionando Enter:
cat /root/nmap_scan.txt
Salida esperada (ejemplo, la salida real puede variar):
Starting Nmap 7.91 ( https://nmap.org ) at ...
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00010s latency).
Not shown: 997 closed ports
PORT STATE SERVICE
80/tcp open http
...
Nmap done: 1 IP address (1 host up) scanned in 0.05 seconds
Esto confirma que los resultados del escaneo se guardaron correctamente en /root/nmap_scan.txt. Guardar las salidas en archivos es una forma práctica de documentar los hallazgos durante las pruebas de penetración, permitiéndote revisar o compartir los resultados más tarde sin necesidad de volver a ejecutar los comandos.
Resumen
En este laboratorio, has aprendido a explorar y utilizar herramientas de seguridad esenciales en Kali Linux para pruebas de penetración. Comenzaste visualizando las herramientas preinstaladas con dpkg -l, instalaste e iniciaste Metasploit usando msfconsole, realizaste escaneos de red con nmap, buscaste vulnerabilidades web con nikto, accediste a la documentación de las herramientas a través de las páginas man y guardaste los resultados de los comandos en archivos. Estas habilidades fundamentales proporcionan una base sólida para seguir aprendiendo sobre ciberseguridad y análisis de redes dentro de un entorno controlado.