Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
espoofer — Un outil de test d'usurpation d'e-mails qui vise à contourner SPF/DKIM/DMARC et à forger des signatures DKIM.🍻 | Kitploit
Outils/GitHubGitHub/chenjj/espoofer
Outils de PhishingAnalyse des VulnérabilitésTests d'IntrusionArticles et RechercheApprentissage et ÉducationSécurité des Emails
GitHubchenjj/espoofer

espoofer

Un outil de test d'usurpation d'e-mails qui vise à contourner SPF/DKIM/DMARC et à forger des signatures DKIM.🍻

Voir le dépôt
1.7k28141il y a 4 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Site web

espoofer

espoofer est un outil de test open source pour contourner l'authentification SPF, DKIM et DMARC dans les systèmes de messagerie. Il aide les administrateurs de serveurs de messagerie et les testeurs d'intrusion à vérifier si le serveur de messagerie cible et le client sont vulnérables aux attaques d'usurpation d'e-mail ou peuvent être abusés pour envoyer des e-mails d'usurpation.


Figure 1. Un cas de nos attaques d'usurpation sur Gmail (Corrigé, Vidéo de démonstration)

Pourquoi construire cet outil ?

L'usurpation d'e-mail est une grande menace tant pour les particuliers que pour les organisations (Violation Yahoo, John Podesta). Pour résoudre ce problème, les services de messagerie modernes et les sites Web utilisent des protocoles d'authentification -- SPF, DKIM et DMARC -- pour empêcher la falsification des e-mails.

Nos dernières recherches montrent que la mise en œuvre de ces protocoles souffre d'un certain nombre de problèmes de sécurité, qui peuvent être exploités pour contourner les protections SPF/DKIM/DMARC. La figure 1 illustre l'une de nos attaques d'usurpation contournant DKIM et DMARC dans Gmail. Pour plus de détails techniques, veuillez consulter notre présentation Black Hat USA 2020 (avec vidéo de présentation) ou l'article USENIX Security 2020.

  • Diapositives Black Hat USA 2020 (PDF) : You have No Idea Who Sent that Email: 18 Attacks on Email Sender Authentication
  • Article USENIX Security 2020 (PDF) : Composition Kills: A Case Study of Email Sender Authentication
    • Prix du meilleur article distingué

Dans ce dépôt, nous résumons tous les cas de test que nous avons trouvés et les intégrons dans cet outil pour aider les administrateurs et les professionnels de la sécurité à identifier et localiser rapidement ces problèmes de sécurité.

Veuillez utiliser la citation suivante si vous faites de la recherche scientifique (Cliquez-moi).

Version Latex :

@inproceedings{chen-email,
author = {Jianjun Chen and Vern Paxson and Jian Jiang},
title = {Composition Kills: A Case Study of Email Sender Authentication},
booktitle = {29th {USENIX} Security Symposium ({USENIX} Security 20)},
year = {2020},
isbn = {978-1-939133-17-5},
pages = {2183--2199},
url = {https://www.usenix.org/conference/usenixsecurity20/presentation/chen-jianjun},
publisher = {{USENIX} Association},
month = aug,
}

Version Word :

Jianjun Chen, Vern Paxson, and Jian Jiang. "Composition kills: A case study of email sender authentication." In 29th USENIX Security Symposium (USENIX Security 20), pp. 2183-2199. 2020.

Installation

  • Télécharger cet outil
git clone https://github.com/chenjj/espoofer
  • Installer les dépendances
sudo pip3 install -r requirements.txt

Version Python : Python 3 (>=3.7).

Utilisation

espoofer a trois modes de travail : serveur ('s', mode par défaut), client ('c') et manuel ('m'). En mode serveur, espoofer fonctionne comme un serveur de messagerie pour tester la validation dans les services de réception. En mode client, espoofer fonctionne comme un client de messagerie pour tester la validation dans les services d'envoi. Le mode manuel est utilisé à des fins de débogage.


Figure 2. Trois types d'attaquants et leurs modes de travail

Mode serveur

Pour exécuter espoofer en mode serveur, vous devez avoir : 1) une adresse IP (1.2.3.4) dont le port sortant 25 n'est pas bloqué par le FAI, et 2) un domaine (attack.com).

  1. Configuration du domaine
  • Définir la clé publique DKIM pour attack.com
selector._domainkey.attacker.com TXT  "v=DKIM1; k=rsa; t=y; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDNjwdrmp/gcbKLaGQfRZk+LJ6XOWuQXkAOa/lI1En4t4sLuWiKiL6hACqMrsKQ8XfgqN76mmx4CHWn2VqVewFh7QTvshGLywWwrAJZdQ4KTlfR/2EwAlrItndijOfr2tpZRgP0nTY6saktkhQdwrk3U0SZmG7U8L9IPj7ZwPKGvQIDAQAB"
  • Définir l'enregistrement SPF pour attack.com
attack.com TXT "v=spf1 ip4:1.2.3.4 +all"
  1. Configurer l'outil dans config.py
config ={
	"attacker_site": b"attack.com", # attack.com
	"legitimate_site_address": b"[email protected]", # legitimate.com
	"victim_address": b"[email protected]", # [email protected]
	"case_id": b"server_a1", # server_a1
}

Vous pouvez lister l'ID de cas (case_id) de tous les cas de test en utilisant l'option -l :

python3 espoofer.py -l
  1. Exécuter l'outil pour envoyer un e-mail d'usurpation
python3 espoofer.py

Vous pouvez changer case_id dans config.py ou utiliser l'option -id dans la ligne de commande pour tester différents cas :

python3 espoofer.py -id server_a1

Mode client

Pour exécuter espoofer en mode client, vous devez avoir un compte sur les services de messagerie cibles. Cette attaque exploite l'absence de validation suffisante par certains services de messagerie des e-mails reçus des MUAs locaux. Par exemple, [email protected] tente d'usurper [email protected].

  1. Configurer l'outil dans config.py
config ={
	"legitimate_site_address": b"[email protected]",  
	"victim_address": b"[email protected]", 
	"case_id": b"client_a1",

	"client_mode": {
		"sending_server": ("smtp.gmail.com", 587),  # Adresse et port du serveur SMTP d'envoi
		"username": b"[email protected]", # Nom d'utilisateur et mot de passe de votre compte
		"password": b"your_passward_here",
	},
}

Vous pouvez lister l'ID de cas (case_id) de tous les cas de test en utilisant l'option -l :

python3 espoofer.py -l

Remarque : sending_server doit être l'adresse du serveur SMTP d'envoi, pas l'adresse du serveur de réception.

  1. Exécuter l'outil pour envoyer un e-mail d'usurpation
python3 espoofer.py -m c

Vous pouvez changer case_id dans config.py et l'exécuter à nouveau, ou utiliser l'option -id dans la ligne de commande :

python3 espoofer.py -m c -id client_a1

Mode manuel

Voici un exemple de mode manuel :

python3 espoofer.py -m m -helo attack.com -mfrom <[email protected]> -rcptto <[email protected]> -data raw_msg_here -ip 127.0.0.1 -port 25

Captures d'écran

  1. Un aperçu rapide des cas de test.

Bugs découverts avec cet outil

Télécharger l’outil