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é.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
decode-spam-headers — Un script qui vous aide à comprendre pourquoi votre e-mail a atterri dans le spam. | Kitploit
Outils/GitHubGitHub/mgeeky/decode-spam-headers
Outils de PhishingCollecte d'InformationsRed TeamingSécurité des EmailsAnalyse de Journaux
GitHubmgeeky/decode-spam-headers

decode-spam-headers

Un script qui vous aide à comprendre pourquoi votre e-mail a atterri dans le spam.

Voir le dépôt
6989827il y a 7 moisVé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

decode-spam-headers.py

Que vous cherchiez à comprendre pourquoi un e-mail spécifique s'est retrouvé dans les SPAM/Indésirables dans le cadre de vos tâches administratives quotidiennes ou pour vos simulations de Phishing en Red-Team, ce script est là pour vous aider !

L'idée est née lors de la réalisation d'exercices commerciaux de simulation de Phishing contre un parc MS Office365 E5, équipé de MS Defender pour Office365. Comme on peut l'imaginer, une pile de sécurité assez coriace à appréhender du point de vue de la simulation de phishing. Après avoir analysé manuellement tous ces en-têtes SMTP Office365 et tenté d'y dénicher les valeurs SCL, le moment est venu d'écrire un véritable analyseur pour les en-têtes SMTP.

Le temps a passé, j'ai ajouté la prise en charge d'un nombre croissant d'en-têtes SMTP — et voilà le résultat. Un outil qui comprend désormais des dizaines d'en-têtes différents.

Informations

Cet outil accepte en entrée un fichier *.EML ou *.txt contenant tous les en-têtes SMTP. Il extrait ensuite un sous-ensemble d'en-têtes intéressants et, à l'aide de 105+ tests, tente de les décoder autant que possible.

Ce script extrait également toutes les adresses IPv4 et les noms de domaine, et effectue une résolution DNS complète de ceux-ci.

La sortie résultante contiendra des informations utiles sur la raison pour laquelle cet e-mail a pu être bloqué.

Afin d'embellir votre code HTML de Phishing avant de l'envoyer à votre client, vous pouvez également le passer dans mon phishing-HTML-linter.py. Il fait un plutôt bon travail pour détecter les mauvaises odeurs dans votre HTML qui feront augmenter le score de Spam de votre e-mail.

Exemples de captures d'écran

  • Chaîne de serveurs MTA (en-têtes Received proprement analysés) :

1.png

  • Divers en-têtes décodés autant que possible, selon la documentation publique disponible (ici Office365 ForeFront Spam Report) :

2.png

  • Différentes heuristiques personnalisées implémentées pour valider activement et chercher des indices de catégorisation de spam, ici la logique détectant l'Usurpation de domaine (Domain Impersonation) :

3.png

  • Le script tente de rétro-ingénierer et de documenter certaines des règles Anti-Spam d'Office365, et de collecter les connaissances publiques sur d'autres en-têtes Anti-Spam opaques :

4.png

  • Le rapport peut être généré en un joli HTML (utilisation : py decode-spam-headers.py headers.txt -f html -o report.html) :

5.png

En-têtes traités

En-têtes traités (plus de 85+ en-têtes sont analysés) :

  • X-forefront-antispam-report
  • X-exchange-antispam
  • X-exchange-antispam-mailbox-delivery
  • X-exchange-antispam-message-info
  • X-microsoft-antispam-report-cfa-test
  • Received
  • From
  • To
  • Subject
  • Thread-topic
  • Received-spf
  • X-mailer
  • X-originating-ip
  • User-agent
  • X-forefront-antispam-report
  • X-microsoft-antispam-mailbox-delivery
  • X-microsoft-antispam
  • X-exchange-antispam-report-cfa-test
  • X-spam-status
  • X-spam-level
  • X-spam-flag
  • X-spam-report
  • X-vr-spamcause
  • X-ovh-spam-reason
  • X-vr-spamscore
  • X-virus-scanned
  • X-spam-checker-version
  • X-ironport-av
  • X-ironport-anti-spam-filtered
  • X-ironport-anti-spam-result
  • X-mimecast-spam-score
  • Spamdiagnosticmetadata
  • X-ms-exchange-atpmessageproperties
  • X-msfbl
  • X-ms-exchange-transport-endtoendlatency
  • X-ms-oob-tlc-oobclassifiers
  • X-ip-spam-verdict
  • X-amp-result
  • X-ironport-remoteip
  • X-ironport-reputation
  • X-sbrs
  • X-ironport-sendergroup
  • X-policy
  • X-ironport-mailflowpolicy
  • X-remote-ip
  • X-sea-spam
  • X-fireeye
  • X-antiabuse
  • X-tmase-version
  • X-tm-as-product-ver
  • X-tm-as-result
  • X-imss-scan-details
  • X-tm-as-user-approved-sender
  • X-tm-as-user-blocked-sender
  • X-tmase-result
  • X-tmase-snap-result
  • X-imss-dkim-white-list
  • X-tm-as-result-xfilter
  • X-tm-as-smtp
  • X-scanned-by
  • X-mimecast-spam-signature
  • X-mimecast-bulk-signature
  • X-sender-ip
  • X-forefront-antispam-report-untrusted
  • X-microsoft-antispam-untrusted
  • X-sophos-senderhistory
  • X-sophos-rescan
  • X-MS-Exchange-CrossTenant-Id
  • X-OriginatorOrg
  • IronPort-Data
  • IronPort-HdrOrdr
  • X-DKIM
  • DKIM-Filter
  • X-SpamExperts-Class
  • X-SpamExperts-Evidence
  • X-Recommended-Action
  • X-AppInfo
  • X-Spam
  • X-TM-AS-MatchedID
  • X-MS-Exchange-EnableFirstContactSafetyTip
  • X-MS-Exchange-Organization-BypassFocusedInbox
  • X-MS-Exchange-SkipListedInternetSender
  • X-MS-Exchange-ExternalOriginalInternetSender
  • X-CNFS-Analysis
  • X-Authenticated-Sender
  • X-Apparently-From
  • X-Env-Sender
  • Sender

La plupart de ces en-têtes ne sont pas entièrement documentés ; le script ne peut donc pas identifier tous les détails, mais il collecte au moins tout ce que j'ai pu trouver à leur sujet.

Efforts de rétro-ingénierie

Je fournis des efforts significatifs pour repérer et comprendre les différentes règles Anti-Spam Office365 ForeFront (SFS, ENG) bien qu'elles ne soient pas documentées publiquement.```

(5) Test: X-Forefront-Antispam-Report

HEADER: X-Forefront-Antispam-Report

VALUE: CIP:209.85.167.100;CTRY:US;LANG:de;SCL:5;SRV:;IPV:NLI;SFV:SPM;H:mail-lf1-f100.google.com;PTR:mail-l f1-f100.google.com;CAT:DIMP;SFTY:9.19;SFS:(4636009)(956004)(166002)(6916009)(356005)(336012)(19 625305002)(22186003)(5660300002)(4744005)(6666004)(35100500006)(82960400001)(26005)(7596003)(7636003)(554460 02)(224303003)(1096003)(58800400005)(86362001)(9686003)(43540500002);DIR:INB;SFTY:9.19;

[...]

    - Message matched 24 Anti-Spam rules (SFS):           <============ opaque anti-spam rules
            - (1096003)
            - (166002)
            - (19625305002)
            - (22186003)
            - (224303003)
            - (26005)
            - (336012)
            - (356005)
            - (35100500006)         - (SPAM) Message contained embedded image.
Le processus est purement manuel et consiste à envoyer des e-mails spécialement conçus aux serveurs de messagerie Office365, puis à examiner et corréler manuellement les règles collectées.

Ayant déjà envoyé plus de 60 e-mails, voici ce que je peux dire à présent sur les règles de Microsoft :```py

    #
    # Below rules were collected solely in a trial-and-error manner or by scraping any 
    # pieces of information from all around the Internet.
    #
    # They do not represent the actual Anti-Spam rule name or context and surely represent 
    # something close to what is understood (or they may have totally different meaning).
    # 
    # Until we'll be able to review anti-spam rules documention, there is no viable mean to map
    # rule ID to its meaning.
    #

    Anti_Spam_Rules_ReverseEngineered = \
    {
        '35100500006' : logger.colored('(SPAM) Message contained embedded image.', 'red'),
Télécharger l’outil