
Un framework pour BREACH et autres attaques crypto basées sur la compression
Rupture est un framework pour mener facilement des attaques BREACH et d'autres attaques basées sur la compression.
Rupture est développé par :
Cette recherche est menée au Laboratoire de Cryptographie et Sécurité de l'Université d'Athènes et à l'Université Technique Nationale d'Athènes.
Rupture est sous licence MIT. Voir LICENSE pour plus d'informations.
Vous pouvez installer l'ensemble du framework comme suit :
rupture/ $ ./install all
ou vous pouvez aussi installer chaque module séparément, comme ci-dessous.
Rupture utilise JavaScript pour la communication entre le code client et le serveur temps réel. Le code client est compilé avec babel et le code serveur est exécuté sur Node.js.
rupture$ ./install injection
rupture$ ./install client
Rupture utilise Python pour le serveur de commande et de contrôle. La communication entre le serveur temps réel js et le backend Python est effectuée via un point de terminaison API Django.
rupture/ $ ./install backend
rupture/ $ ./install sniffer
rupture $ ./rupture -s
rupture $ ./rupture --backend
rupture $ ./rupture --realtime
rupture $ ./rupture --sniffer
rupture/ $ sudo ./rupture --attack
Remarque : Le déploiement du sniffer – que ce soit en mode autonome ou avec 'attack' – peut nécessiter des privilèges élevés, car il nécessite l'accès à l'interface réseau.
Le code client se trouve dans le répertoire suivant :
où est l'identifiant de la victime dans la base de données backend.
Ouvrez la page de test HTML suivante dans le navigateur :
ou injectez le code client dans les réponses HTTP :
~/.rupture/client/client_<id> $ ./inject.sh