Skip to content

Cybersecurity lab project: vulnerability assessment in a simulated internal network using Nmap and Nessus. Includes scanning, technical reporting, and incident response.

Notifications You must be signed in to change notification settings

JohanMV/vulnerability-analysis-lab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 

Repository files navigation

🌐 Español

🔐 Proyecto: Análisis de Vulnerabilidades en Red Interna

Este laboratorio simula un escenario real donde un atacante tiene acceso a una red interna compartida con una máquina objetivo. Desde una máquina Kali Linux (atacante), se ejecuta un análisis de vulnerabilidades sobre una máquina Metasploitable 2 (víctima) utilizando herramientas y técnicas comunes en pruebas de penetración internas.

El objetivo es identificar un servicio vulnerable, explotarlo y obtener acceso no autorizado, documentando cada paso con comandos, explicaciones y evidencia técnica validada.

🧰 Herramientas utilizadas

  • Kali Linux
  • Nmap
  • Metasploit Framework
  • Metasploitable 2

🔍 Metodología aplicada

  1. Verificación de conectividad entre atacante y víctima
  2. Escaneo de puertos TCP abiertos (nmap -p-)
  3. Identificación de versiones y servicios (nmap -sCV)
  4. Búsqueda y análisis de exploits públicos (Rapid7, Metasploit)
  5. Ejecución del exploit (vsftpd_234_backdoor)
  6. Validación del acceso remoto (whoami, ls, uname)
  7. Análisis post-explotación y medidas correctivas

📄 Informe final

El informe incluye capturas de pantalla, comandos ejecutados, resultados técnicos detallados y recomendaciones de remediación alineadas con buenas prácticas de ciberseguridad (CIS Benchmarks).


🌍 English

🔐 Project: Internal Network Vulnerability Assessment

This project simulates a security assessment of an internal network using tools such as Nmap and Nessus Essentials. The goal was to identify exposed services and critical vulnerabilities on a vulnerable machine (Metasploitable 2) and propose mitigation measures.

🧰 Tools

  • Nmap
  • Nessus Essentials
  • Kali Linux
  • Metasploitable 2

🔍 Methodology

  1. Network discovery (nmap -sn)
  2. Port and service scanning (nmap -sS -sV -O)
  3. Vulnerability scanning with Nessus
  4. Analysis of detected CVEs
  5. Final report with recommendations

📄 Final Report

Includes screenshots, scan results, and corrective measures based on CIS Benchmarks.

🧭 Flujo Técnico del Proyecto

Paso Acción Herramienta Resultado esperado
1️⃣ Verificar conexión entre Kali y Metasploitable ping, ifconfig Confirmar visibilidad entre máquinas
2️⃣ Escanear todos los puertos de la máquina víctima nmap -p- -T4 --open Identificar puertos abiertos
3️⃣ Identificar servicios y versiones nmap -sCV -pXX Detectar servicios vulnerables como vsftpd 2.3.4
4️⃣ Buscar exploit adecuado Exploit-DB, Rapid7 Encontrar CVE y exploit compatible
5️⃣ Ejecutar el exploit msfconsole Obtener shell remoto de la víctima
6️⃣ Validar privilegios obtenidos whoami, id Confirmar acceso como usuario root
7️⃣ Evidencia técnica y conclusiones Markdown (README.md) Evidencia técnica y concluciones

1️⃣ Verificación de conectividad entre las máquinas


Figura 1 - Verificación de conectividad entre Kali y Metasploitable

Resumen:

Rol Nombre Dirección IP Resultado de ping desde Kali
Atacante Kali Linux 192.168.0.107
Víctima Metasploitable 2 192.168.0.100 ✅ 3/3 paquetes recibidos, tiempo promedio ≈ 16.26 ms

2️⃣ Escanear todos los puertos de la máquina víctima


Una vez confirmada la conectividad, se realizó un escaneo completo de los 65535 puertos TCP de la máquina víctima (Metasploitable 2) desde la máquina atacante (Kali Linux). El objetivo de este paso es descubrir todos los servicios potencialmente accesibles desde la red interna, lo cual es esencial en la fase de reconocimiento de una auditoría de seguridad.

Comando utilizado:

nmap -p- -T4 --open -v -n -Pn <IP_OBJETIVO> 

En este caso:

nmap -p- -T4 --open -v -n -Pn 192.168.0.100

Escaneo de puertos TCP abiertos en Metasploitable 2

Escaneo de puertos TCP abiertos en Metasploitable 2.2

📌 Servicios relevantes encontrados en el escaneo
Puerto Servicio Descripción técnica
21 FTP Transferencia de archivos. Posible mal configuración.
22 SSH Acceso remoto seguro. Peligro si se permiten contraseñas débiles.
23 Telnet Obsoleto e inseguro. Tráfico sin cifrar.
25 SMTP Servidor de correo. Riesgo de envío no autenticado.
80 HTTP Página web accesible. Posible vector de entrada.
139 / 445 NetBIOS / SMB Compartición de archivos. Potencial para exploits o acceso lateral.
3306 MySQL Base de datos. Riesgo de extracción de datos.
5432 PostgreSQL Otra base de datos. Potencial objetivo si hay credenciales débiles.
5900 VNC Acceso de escritorio remoto. Puede permitir toma de control visual.
6667 IRC Canal de comunicación. Potencial uso como servidor C2.
8009 AJP13 Apache JServ. Vulnerable al exploit Ghostcat.
Otros (8180, 8787, ...) Unknown Requieren identificación manual (pueden ser personalizados o servicios ocultos).

3️⃣ Paso 3 - Identificación de servicios y versiones


Una vez identificados los puertos abiertos, el siguiente paso consiste en determinar los servicios específicos y sus versiones que se ejecutan en cada uno de esos puertos.

Para lograr esto, se utilizó nmap con los parámetros -sCV, que permiten:

  • -sV: Detecta versiones de servicios (banner grabbing).
  • -sC: Ejecuta scripts NSE comunes para obtener más detalles.

Comando utilizado:

nmap -sCV -p<PUERTOS> <IP_OBJETIVO>

En este caso:

nmap -sCV -p21,22,23,25,53,80,111,139,445,512,513,514,1099,1524,2049,2121,3306,3632,5432,5900,6000,6667,8009,8180,8787,34402,43180,52427,53881 192.168.0.100

El escaneo reveló múltiples servicios antiguos y potencialmente vulnerables, como vsftpd 2.3.4, Apache 2.2.8, MySQL 5.0.51a, entre otros.

Figura 3 - Escaneo con Nmap -sCV

🧪 Resultados destacados del escaneo con -sCV
Puerto Servicio Versión identificada Notas de seguridad
21/tcp FTP vsftpd 2.3.4 🚨 Vulnerable (CVE-2011-2523)
22/tcp SSH OpenSSH 4.7p1 Versión antigua, posible brute force
23/tcp Telnet Linux telnetd ⚠️ Servicio obsoleto, sin cifrado
25/tcp SMTP Postfix smtpd SSLv2 habilitado, certificado vencido
80/tcp HTTP Apache 2.2.8 Servidor web desactualizado
445/tcp SMB Samba 3.0.20 Vulnerable a exploits como EternalBlue
3306/tcp MySQL 5.0.51a Base de datos antigua, sin cifrado
5432/tcp PostgreSQL 8.3.0 - 8.3.7 Exposición de base de datos interna
5900/tcp VNC Protocol 3.3 Acceso gráfico remoto, versión antigua
8009/tcp AJP13 Apache JServ 💥 Posible CVE-2020-1938 (Ghostcat)
8180/tcp HTTP Apache Tomcat 5.5 Servidor con panel de administración

Nota: Solo se listan aquí los puertos más relevantes para evaluación de vulnerabilidades. El reporte completo contiene más de 25 servicios abiertos.

4️⃣ Paso 4 - Búsqueda del exploit para vsftpd 2.3.4


Se identificó el servicio vsftpd 2.3.4 en el puerto 21/tcp, conocido por su vulnerabilidad crítica (CVE-2011-2523). El exploit fue localizado en la base de datos de Rapid7.

Figura 4 - Exploit vsftpd 2.3.4 en Rapid7

Este módulo permite obtener una shell remota aprovechando una puerta trasera activa en el servicio, ejecutando comandos de forma remota en la máquina víctima cuando se activa la puerta trasera incorporada al binario comprometido de vsftpd.

Y también está disponible en Metasploit como:

exploit/unix/ftp/vsftpd_234_backdoor

Para buscarlo en Metasploit:

msfconsole
search vsftpd

Figura 4 - Metasploit search 1 Figura 4 - Metasploit search 2

5️⃣ Paso 5 - Ejecución del exploit y obtención de shell remota


Una vez localizado el módulo exploit/unix/ftp/vsftpd_234_backdoor en Metasploit, se procedió a su ejecución. Este exploit permite obtener una shell remota en la máquina víctima a través de una puerta trasera activa en el servicio vsftpd 2.3.4, sin necesidad de autenticación.

El objetivo de este paso es confirmar la explotación exitosa validando el acceso remoto y los privilegios obtenidos.

Figura 3 - Escaneo con Nmap -sCV

6️⃣ Paso 6 - Validación de privilegios y cierre de la explotación


Para confirmar que la explotación fue exitosa, se accedió a la sesión remota abierta en Metasploit mediante sessions -i 1 y se ejecutó el comando whoami. El sistema remoto respondió root, lo cual demuestra que se obtuvo control total sobre la máquina víctima.

Este tipo de validación es esencial en pruebas de penetración para verificar el impacto real de una vulnerabilidad explotada.

Figura 6 - whoami = root tras explotación

Comando uname -a mostrando información del kernel Linux, seguido de la navegación al directorio /home y visualización de los usuarios disponibles.

Figura 6 - whoami = root tras explotación 2

Tras obtener una shell remota, se confirma el acceso como root y se ejecuta ls -la para listar el contenido del directorio raíz /. Esta acción permite identificar la estructura del sistema, directorios críticos y posibles rutas de interés para fases posteriores de post-explotación.

Figura 6.1 - Acceso root y estructura del sistema

7️⃣ Paso 7 - Conclusiones técnicas y medidas correctivas


Este laboratorio simuló un escenario real de ataque interno, permitiendo identificar, explotar y obtener acceso como root a una máquina vulnerable. Se demostró cómo un servicio obsoleto y mal configurado como vsftpd 2.3.4 puede comprometer por completo un sistema si no se aplican controles adecuados.

Conclusiones técnicas:

  • Se realizó un escaneo completo de puertos y servicios expuestos.
  • Se detectó vsftpd 2.3.4 vulnerable (CVE-2011-2523) y se explotó exitosamente mediante Metasploit.
  • Se obtuvo una shell remota con privilegios de root en la máquina víctima.
  • Se ejecutaron acciones de reconocimiento posteriores, validando usuarios, estructura del sistema y versión del kernel.

Lecciones aprendidas:

  • Uso efectivo de herramientas como nmap y msfconsole en auditorías internas.
  • Comprensión del ciclo de explotación: reconocimiento → identificación → ejecución → validación → post-explotación.
  • Importancia de validar privilegios obtenidos y mantener una documentación técnica clara del proceso.

Medidas correctivas recomendadas (alineadas con CIS Benchmarks):

  • CIS 5.2.x – Deshabilitar servicios FTP inseguros: Eliminar vsftpd si no es necesario o reemplazar por alternativas seguras.
  • CIS 1.1.1 – Desinstalar paquetes innecesarios: Auditar y remover servicios obsoletos del sistema.
  • CIS 3.x – Configurar firewall interno: Restringir el acceso al puerto 21 solo a direcciones IP autorizadas.
  • CIS 4.x – Habilitar monitoreo de logs: Auditar intentos de conexión, sesiones FTP anónimas y comandos sospechosos.
  • CIS 9.x – Realizar escaneos periódicos: Usar herramientas como Nessus u OpenVAS para detectar servicios inseguros.

Estas acciones permiten reducir significativamente el riesgo de explotación en entornos reales y alinearse con estándares reconocidos de ciberseguridad.

About

Cybersecurity lab project: vulnerability assessment in a simulated internal network using Nmap and Nessus. Includes scanning, technical reporting, and incident response.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published