Blog

Conociendo Meterpreter – Parte X – Railgun Básico

Para ver la serie completa pulsa aqui. Habrá conceptos que se den por obvios ya que están explicados en artículos anteriores.

Buenas a todos! En este nuevo post de la serie “Conociendo Meterpreter” vamos a ver como podemos utilizar el comando IRB de meterpreter. Este comando nos permite utilizar railgun para poder realizar una llamada a cualquier función que se encuentre en las DLLs de Windows, por lo que podemos llevar a cabo la acción que queramos sin limites siempre que sepamos como 😉

Un dato importante es que por defecto meterpreter únicamente tiene declaradas una serie de llamadas a funciones estandar como pueden ser bloquear el escritorio o eliminar un usuario (Son las que vamos a ver en este post), pero es posible añadir todas las que nosotros queramos, es decir, en siguientes post veremos que es posible introducir cualquier función y DLL que queramos siempre y cuando se encuentre en el ordenador de la victima, ya que lo que haremos nosotros sera declararla desde el meterpreter para que este pueda desde el ordenador de la victima realizar la llamada a la función y devolvernos los resultados o llevar a cabo la acción deseada.

Bueno, para empezar con las pruebas como en todos los post tenemos nuestro objetivo que sera un Windows XP vulnerable al exploit ms08_067_netapi con la siguiente configuración de red…

railgun_basic_1

 

Ahora vamos a configurar el exploit en Metasploit para poder obtener la shell de meterpreter y poder comenzar a probar cosas con IRB…

railgun_basic_2

 

Ya tenemos abierto meterpreter, ahora tenemos que estar muy pendientes del usuario con el que estemos actualmente ya que sera con ese con el que realizaremos las llamadas a las funciones de las DLLs, y dependerá de los permisos nos dejara unas, otras o todas. En este caso nosotros estamos como Administrador que tiene funciones de administrador por lo que no tendremos problemas. Así que una vez comprobado eso utilizamos el comando “irb” para acceder a la shell de IRB desde donde lanzaremos las consultas con railgun.

railgun_basic_3

 

Para realizar las llamadas a las funciones de las DLLs necesitamos seguir siempre la siguiente estructura:

cliente.railgun.[ nombre de la DLL ].[ nombre de la funcion ](   [ Parametros necesario ]   )

 

Vamos a ver como primer ejemplo uno muy sencillo que lo que nos permite es bloquear el escritorio del usuario, concretamente es la función “LockWorkStation” que carece de parámetros y que se encuentra dentro de la DLL “user32”, una de las principales. A continuación os dejo con el ejemplo y lo que aparece en el equipo de la victima al ejecutar el comando…

railgun_basic_4 railgun_basic_5 railgun_basic_6

 

Como veis es relativamente sencillo y muy potente ya que vamos a ver a lo largo de estos post como podemos realizar llamadas mucho mas avanzadas que esta.

Ahora vamos a ver como realizaríamos una llamada a una función que contenga parámetros, en este segundo ejemplo veremos la función “NetUserDel”, la cual nos va a permitir borrar un usuario del sistema. Un detalle importante es que hay algunos parámetros como veremos mas adelante que pueden pasarse como “null”, pues bien en esos parámetros tendremos que poner “nil” en vez de “null”.

En este ejemplo vemos que tenemos un usuario llamado “pepe” con su password y demás, pues al tener permisos de Administrado no vamos a tener ningún problema al borrar una cuenta aunque tenga contraseña…

railgun_basic_7 railgun_basic_8 railgun_basic_9

 

Bueno y hasta aquí llega el post de hoy, donde hemos visto que con el comando “irb” y con railgun podemos ejecutar las funciones que queramos dentro de las DLLs de Windows, en los siguiente post veremos como listar todas las DLLs, como añadir nuevas funciones que no contenga el meterpreter por defecto e incluso como añadir nuevas DLLs para poder realizar muchas mas acciones. Por si le queréis ir echando un ojo aquí os dejo algunas funciones de las DLLs de Windows que nos podrían ser útiles.

A partir de ahora para que no sea tan monótono siempre hablando de meterpreter voy a ir alternándolo con otros post que haga, así el siguiente post sera muy posiblemente sobre que es un SIEM (Security Information and Event Management) y sobre como montártelo a modo de POC en tu casa.

Un saludo,

Eduardo – eduardo@highsec.es – @_Hykeos

  1. Alberto
    Alberto01-06-2014

    ¡Muy didáctica la serie de meterpreter!
    ¿Para cuando esa serie de SIEM (Security Information and Event Management)? 😉

Leave a Reply

*

    No Twitter Messages