viernes, marzo 18, 2016

Metasploit: Hookear con NetRipper los navegadores para robar las contraseñas de Facebook, Gmail o Twitter

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.

Metasploit: Cómo hookear con NetRipper los navegadores para robar las contraseñas

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. Después, hay que seguir los pasos que se detallan a continuación:

Figura 2: Instalación de NetRipper en Metasploit

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.

Figura 3: Esquema de hooking de NetRipper

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.

Figura 4: Opciones de NetRipper

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.

Figura 5: Hooking en Internet Explorer

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.

Figura 6: Ficheros con peticiones HTTP realizadas

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.

Figura 7: Fichero con petición HTTP que almacena usuario y contraseña de Google

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 hace login o simplemente tiene una sesión abierta, le podríamos robar la cookie de sesión.

Figura 8: Credenciales de Facebook en sesión HTTP

En la siguiente anterior 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].

Una PoC de NetRipper para robar cuentas de Facebook en vídeo

En el siguiente vídeo tienes un ejemplo de cómo un Windows 8.1 es vulnerado con Metasploit a través de una versión vulnerable de Easy File Sharing FTP. Una vez que el equipo con Windows 8.1 es controlado con Meterpreter, se utiliza el módulo de post-explotación de NetRipper para hookear Internet Explorer y robar las credenciales de un inicio de sesión en Facebook.

Figura 9: Robo de cuenta de Facebook con NetRipper

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.

Autor: Pablo González Pérez (@pablogonzalezpe)
Escritor de los libros "Metasploit para Pentesters", "Ethical Hacking" y “Pentesting con Powershell

4 comentarios:

Inseguro y Navegando dijo...

Muchas gracias por la info!
Saludos!

eSono Eliot Ramos dijo...

Y lamentablemente Youtube quitó el video ¿nos quedaremos con la curiosidad? :)

Anónimo dijo...

Nos han quitado el video, pero nos quedará el post!!

Maligno dijo...

El vídeo ha sido atacado por el mismo grupo que atacó el vídeo de hackear facebook. He contactado con Google para que me lo arregle y espero que el lunes o martes esté resuelto.

Saludos!

Entradas populares