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].
0 comentarios:
Publicar un comentario