martes, 16 de enero de 2018

Screenshot remoto sobre la página que visita un usuario, a través de un MITM


La semana pasada estuvimos hablando de Bettercap y cómo usar sus características avanzadas tales como la customización de parsers y la inyección de código en peticiones HTTP interceptadas. Ahora comenzaremos a ver MITMf, otra herramienta para realizar ataques de Sniffing/MITM.

Si bien mi herramienta preferida para esto es Bettercap por diversos motivos, MITMf tiene algunos plugins extremadamente interesantes, iremos viendo algunos de ellos. Hoy trataremos “ScreenShotter”.

Como es la primera nota sobre MITMf, a continuación explicaremos cómo descargarla y ejecutarla correctamente. 

DESCARGA Y EJECUCIÓN
Hacemos un git clone del siguiente repositorio: https://github.com/byt3bl33d3r/MITMf.
Instalamos las dependencias con el siguiente comando:
sudo apt-get install python-dev python-setuptools libpcap0.8-dev libnetfilter-queue-dev libssl-dev libjpeg-dev libxml2-dev libxslt1-dev libcapstone3 libcapstone-dev libffi-dev file
Finalmente instalamos las dependencias propias de python, si tenemos pip, nos movemos a la carpeta descargada de MITMf y ejecutamos: sudo pip install -r requirements.txt
Si todo salió bien ya podemos hacer sudo python mitmf.py --help


Como podemos observar, si ejecutamos el comando, la ayuda es bastante larga. MITMf posee muchos plugins. Si buscamos entre ellos, encontraremos ScreenShotter.


Pero antes de poner manos a la obra con este plugin, debemos conocer los parámetros básicos requeridos por MITMf.

Para empezar, MITMf nos pide que sí o sí especifiquemos la IP del gateway, la/s IP de los targets y la interfaz que estamos utilizando. Estos parámetros son: --gateway <ip_gateway>, --targets <ip_targets> y -i <interfaz>.

Luego, como mínimo necesitamos ejecutar un ataque de MITM, para ello le sumaremos a los anteriores, los siguientes dos parámetros: --spoof y --arp.

Dicho esto, un ataque de MITM básico hecho con MITMf nos quedaría así:

sudo python mitmf.py --spoof --arp --gateway 192.168.43.1 --targets 192.168.43.209 -i wlp1s0


Con ello, podremos ver las peticiones HTTP realizadas por el usuario, el contenido POST de las mismas, así como también la información de otros protocolos.
Tal como he mencionado, ahora haremos foco sobre el plugin ScreenShotter, para utilizarlo, simplemente debemos añadir al comando anterior el siguiente parámetro: --screen.


Como vemos, cuando el usuario ingresa a un sitio web vía HTTP, el payload del plugin es inyectado en la respuesta dirigida al usuario. De esta manera se carga en su navegador, permitiéndole al atacante ver la página que está visitando (esto incluye ver lo que está tipeando en los formularios si aplicara el caso).

Por defecto ScreenShotter toma capturas cada 10 segundos.


Podemos alterar este tiempo utilizando el parámetro --interval <segundos> si así lo quisiéramos.
Todas las capturas de pantalla son almacenadas en la carpeta “Logs” dentro de la carpeta de MITMf. Así que nos dirigimos allí y abrimos las capturas con cualquier visor de imágenes.



¿Interesante verdad? Espero que les sea de utilidad!
Hasta el próximo plugin! 😉.

Author: Sheila A. Berta.
Tw: @UnaPibaGeek.
Web: www.semecayounexploit.com.

No hay comentarios.:

Publicar un comentario