27 abr 2016

Hookeando navegadores con Metasploit para robar tus contraseñas

En la pasada Defcon 23 se liberó una aplicación denominada NetRipper. Esta aplicación es una herramienta de post-explotación que permite interceptar el tráfico de red y, por ejemplo, es capaz de capturar tanto el tráfico en plano y el cifrado. En otras palabras, podremos hookear los navegadores de la máquina y robar las credenciales de Gmail, Facebook, Twitter, Outlook, ya que estamos en un nivel inferior, antes de que el HSTS haga su juego. También podremos extraer cookies de sesión, por lo que si la víctima tiene algún servicio al que se conecta con cookie persistente se podría sustraer.

La herramienta tiene una versión para Windows con un binario o .EXE, una versión para PowerShell y otra versión en forma de módulo de Metasploit. A mí me llamó la atención tanto el script de PowerShell, ya que se podría utilizar con el Powershell Empire y utilizarlo como script de post-explotación y la versión de Metasploit, ya que junto a una sesión de Meterpreter podríamos hacer grandes cosas. Para este artículo decidí orientarlo hacia el caso de Metasploit.

Instalación de NetRipper en Metasploit

Tal y como se puede leer en el Github de la herramienta, su instalación es básica, simplemente descargar los ficheros, por ejemplo, con un git clone https://github.com/NytroRST/NetRipper.git. Después, hay que seguir los pasos que se detallan a continuación:


Cómo se puede ver el proceso de instalación o de adición al framework es sencillo. Antes de continuar con el artículo vamos a pararnos a visualizar la siguiente imagen sobre dónde NetRipper se inyecta y cómo funciona.



Se puede consultar más detalles sobre la charla de la Defcon y sobre el funcionamiento de la herramienta en la dirección URL de las diapositivas de Ionut Popescu, autor de la investigación y de la herramienta.

PoC: Hookeando navegadores y obteniendo contraseñas de Gmail o Facebook

La prueba de concepto la comenzamos en el estado en el que el auditor o el atacante ya tienen la sesión de Meterpreter conseguida. Sin perder la sesión ejecutamos el comando background y, posteriormente, cargamos el módulo de netripper con la instrucción use post/windows/gather/netripper. Tal y como se puede ver en la imagen, el módulo ofrece diferentes opciones, a través de sus atributos.


Hay varios atributos que tenemos que configurar. El primero, y el requerido sí o sí, es el identificador de sesión. Tenemos que indicar por cual sesión queremos ejecutar el módulo de post-explotación. En esta prueba de concepto utilizaremos la sesión número 1 conseguida previamente para ejecutar el código. Por otro lado, hay que configurar el atributo PROCESSNAMES, indicando cual es el nombre del proceso al que NetRipper debe hacer el hook. Para este ejemplo, utilizaremos iexplore.exe, para ello ejecutamos set PROCESSNAMES iexplore.exe. Podríamos separar por comas e intentar hacer hooking a más procesos que nos interesasen.

Una vez configurado se puede ejecutar el comando run y el módulo será ejecutado a través de la sesión de Meterpreter. El módulo listará los procesos y se quedará con los procesos que encajen con los valores indicados en el atributo PROCESSNAMES, tal y como se puede ver en la imagen.


En este instante vemos que tenemos 2 procesos de Internet Explorer hookeados. En la siguiente ruta de la máquina comprometida se comenzará a escribir ficheros de texto con las peticiones HTTP que el navegador envía, justo antes de que se cifren.


Si echamos un ojo, por ejemplo al fichero que comienza con el PID_iexplore.exe_EncryptMessage.txt podemos ver las peticiones en texto plano. La máquina víctima es un Windows 8.1, se puede ver en la petición a través del User-Agent. La petición POST queda al descubierto con NetRipper y obtenemos el usuario y contraseña.


Es cierto que un KeyLogger podría darnos un resultado similar, y Metasploit también tiene esta posibilidad. Lo que no lograríamos sería la limpieza y todos los datos que obtenemos con NetRipper, ya que como se mencionó anteriormente, quizá solo podamos robar una cookie y eso ya es mucho.

Si la víctima visita Facebook y se loguea o simplemente tiene una sesión abierta, le podríamos robar la cookie de sesión. En la siguiente imagen vemos cómo robar la contraseña de Facebook, lo único que tenemos que hacer es visualizar el fichero indicado anteriormente. Como nota aclaratoria, con Meterpreter podremos descargar los ficheros de texto con esta información que NetRipper genera en la máquina comprometida. El comando que debemos utilizar es download [ruta origen] [ruta destino].


NetRipper es una potente herramienta integrada con el framework de Metasploit, lo cual hace que un proceso complejo o que pueda llevarnos más tiempo en una auditoría podemos realizarlo rápidamente. Interesante herramienta que debemos llevar en la mochila en una auditoría interna.

No hay comentarios:

Publicar un comentario