12 nov 2013

Metasploit y PowerShell, mis queridos amigos

Es cierto que en su día tuve la oportunidad de escribir un libro sobre Metasploit y el cual ha tenido buena acogida, quizá ayuda que sea el único (que yo conozca, decidme si no es así) libro en castellano. Por otro lado, el primer libro que tuve la oportunidad de escribir fue sobre PowerShell y lo que esta potente línea de comandos puede llegar a realizar. Cuando escribí el libro de Metasploit estudié mucho, y vi muchas cosas que el framework podía hacer, pero una que me llamó la atención, quizá influenciado porque PowerShell fue mi primer libro, fue que podían juntarse para realizar el mal, y eso es algo que siempre gusta.
Existen varias formas de interactuar entre el framework de Metasploit y una PowerShell, la que hoy os mostraré es una sencilla pero muy muy efectiva, inclusive porque es capaz de evadir AVs e IDS. Bien, la idea es sencilla, generaremos un script, en formato PS1 el cual estará encodeado (lectura no legible ya veréis) y el cual nos permitirá obtener una sesión inversa, en este caso de un Meterpreter.
Este vector de ataque lo explotaremos mediante SET, el gran amigo de Metasploit de la Ingeniería Social, con el que crearemos el script final. Ya podéis intuir que es realmente sencillo realizar esta prueba y que el potencial de lo que podemos obtener no tiene límite. Hay otras configuraciones de scripts con los que podemos ejecutar "otras shellcodes", las cuales nos pueden permitir obtener, por ejemplo, info de la SAM de la máquina dónde lanzamos dicho script. Lógicamente, esto sólo se logrará si tenemos privilegios en la máquina para lograrlo.
Manos a la obra, primero vamos a utilizar PowerShell Alphanumeric Shellcode Injector, válido para 32 y 64 bits. En la ruta reports donde SET se encuentre instalado se almacenará el código generado, eso sí en formato TXT. Este formato podemos renombrarlo a PS1, o simplemente copiar el contenido y ejecutarlo (saltándose la política restrictiva de PowerShell de no permitir ejecución de scripts, fácil eh?). Una vez se ejecute el script en la máquina víctima, el handler que se configura automáticamente recibirá la sesión de Meterpreter otorgando el control de la máquina remota al atacante.
En la imagen se puede visualizar el aspecto que tiene el script generado y los parámetros necesarios, los cuales son generados también por SET, para su ejecución.
Queda claro que esta es una vía favorable si tenemos acceso a la máquina físicamente, para conseguir una sesión remota en un handler que tuviéramos configurado en un lugar remoto.

No hay comentarios:

Publicar un comentario