Torniamo nella nostra rubrica dedicata ai tool di sicurezza, oggi vogliamo focalizzare la nostra attenzione sugli attacchi man-in-the-middle e su un framework open source dedicato ad essi: evilginx2. Questo tool, erede del progetto evilginx rilasciato nel 2017, usa una versione personalizzata dell'nginx HTTP server per agire come una sorta di proxy tra un browser Web e un sito Web coinvolto da un'attività di phishing.
evilginx2 usa tale tipologia di attacco che ha l'obbiettivo di sottrarre credenziali di accesso sfruttando i cookie di sessione, in modo da bypassare anche il maggior livello di protezione offerto dalla verifica a due fattori. Il progetto è realizzato in Go e si presenta come una standalone application che implementa al suo interno un proprio HTTP/DNS server. Tale caratteristica lo rende estremamente versatile e semplice da configurare per effettuare test di sicurezza sulle pagine Internet.
Un attacco di tipo man-in-the-middle avviene quando un'entità terza ritrasmette o altera la comunicazione tra due parti che credono di comunicare direttamente tra di loro, come avviene appunto nel caso di un browser e un server Web.
Quest'azione malevola è solitamente effettuata all'interno di reti WIFI pubbliche non criptate o magari in presenza di un sito Web che nonostante offra una connessione HTTPS rimanda a contenuti non criptati, esponendo dunque l'utente al rischio che l'interscambio di dati venga intercettato. Per prevenire un attacco del genere è necessario sfruttare in ogni contesto una forma di crittografia.
Quasi tutti i protocolli di crittografia includono infatti una forma di autenticazione endpoint, implementata per prevenire attacchi man-in-the-middle, ad esempio TLS può autenticare una o entrambe le parti di una trasmissione utilizzando una Certificate authority reciprocamente attendibile.
evilginx2 è un framework sviluppato per eseguire test di sicurezza o comunque per scopi didattici ed è dedicato a tutti coloro che vogliono mettere alla prova i protocolli e le contromisure di sicurezza implementate sul proprio sito web. Gli sviluppatori consigliano di inserirlo all'interno di un container da poter avviare su qualsiasi piattaforma software.
Di base l'installazione è molto semplice visto che il team offre dei comodi binari precompilati:
chmod 700 ./install.sh
sudo ./install.sh
sudo evilginx
Mentre per creare un'immagine Docker sono necessarie le seguenti istruzioni:
docker build . -t evilginx2
docker run -it -p 53:53/udp -p 80:80 -p 443:443 evilginx2
Via evilginx2