Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
decode-spam-headers — Ein Skript, das dir hilft zu verstehen, warum deine E-Mail im Spam gelandet ist. | Kitploit
Tools/GitHubGitHub/mgeeky/decode-spam-headers
Phishing-ToolsInformationsbeschaffungRed TeamingE-Mail-SicherheitLog-Analyse
GitHubmgeeky/decode-spam-headers

decode-spam-headers

Ein Skript, das dir hilft zu verstehen, warum deine E-Mail im Spam gelandet ist.

Repository anzeigen
6989827vor 7 MonatenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

decode-spam-headers.py

Ob Sie versuchen zu verstehen, warum eine bestimmte E-Mail für Ihre täglichen administrativen Aufgaben im SPAM-/Junk-Ordner gelandet ist, oder für Ihre Red-Team-Phishing-Simulationszwecke – dieses Skript hilft Ihnen dabei!

Die Idee entstand während der Durchführung einer kommerziellen Phishing-Simulationsübung gegen eine MS Office365 E5-Umgebung, die mit MS Defender für Office365 ausgestattet war. Wie man sich vorstellen kann, ein ziemlich hartnäckiger Sicherheits-Stack aus der Perspektive der Phishing-Simulation. Nachdem ich manuell alle diese Office365-SMTP-Header durchgesehen hatte und versuchte, die SCL-Werte herauszupicken, war es an der Zeit, einen ordentlichen Parser für SMTP-Header zu schreiben.

Die Zeit verging, ich fügte Unterstützung für immer mehr SMTP-Header hinzu – und hier haben wir es. Ein Tool, das jetzt dutzende verschiedener Header versteht.

Info

Dieses Tool akzeptiert als Eingabe eine *.EML- oder *.txt-Datei mit allen SMTP-Headern. Es extrahiert dann einen Teil der interessanten Header und versucht, diese mit 105+ Tests so weit wie möglich zu dekodieren.

Dieses Skript extrahiert außerdem alle IPv4-Adressen und Domänennamen und führt eine vollständige DNS-Auflösung durch.

Die resultierende Ausgabe enthält nützliche Informationen darüber, warum diese E-Mail möglicherweise blockiert wurde.

Um Ihren Phishing-HTML-Code zu verschönern, bevor Sie ihn an Ihren Kunden senden, können Sie ihn auch in mein phishing-HTML-linter.py einspeisen. Es macht einen ziemlich guten Job beim Finden von bad smells in Ihrem HTML, die dazu führen, dass Ihre E-Mail einen erhöhten Spam-Score erhält.

Beispiel-Screenshots

  • Kette von MTA-Servern (sauber geparste Received-Header):

1.png

  • Verschiedene Header werden so weit wie möglich dekodiert, gemäß öffentlich verfügbarer Dokumentation (hier Office365 ForeFront Spam Report):

2.png

  • Verschiedene benutzerdefinierte Heuristiken, die implementiert wurden, um aktiv Hinweise auf Spam-Kategorisierung zu validieren und zu suchen, hier Logik zur Erkennung von Domain Impersonation:

3.png

  • Das Skript versucht, einige der Office365-Anti-Spam-Regeln zu reverse-engineeren und zu dokumentieren, sowie öffentliches Wissen über andere undurchsichtige Anti-Spam-Header zu sammeln:

4.png

  • Der Bericht kann in ein gut aussehendes HTML generiert werden (Verwendung: py decode-spam-headers.py headers.txt -f html -o report.html ):

5.png

Verarbeitete Header

Verarbeitete Header (mehr als 85+ Header werden geparst):

  • 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

Die meisten dieser Header sind nicht vollständig dokumentiert, daher ist das Skript nicht in der Lage, alle Details zu ermitteln, aber es sammelt zumindest alles, was ich darüber finden konnte.

Reverse-Engineering-Bemühungen

Ich unternehme erhebliche Anstrengungen, um verschiedene Office365 ForeFront Anti-Spam-Regeln (SFS, ENG) zu erkennen und zu verstehen, obwohl sie nicht öffentlich dokumentiert sind.```

(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.
Der Prozess ist rein manuell und besteht darin, speziell entworfene E-Mails an die Office365-Mailserver zu senden und anschließend die gesammelten Regeln manuell zu überprüfen und abzugleichen.

Da ich bereits mehr als 60 E-Mails gesendet habe, kann ich inzwischen Folgendes über Microsofts Regeln sagen:```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'),
Tool herunterladen