Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
decode-spam-headers — Un script que te ayuda a entender por qué tu correo electrónico terminó en Spam | Kitploit
Herramientas/GitHubGitHub/mgeeky/decode-spam-headers
Herramientas de PhishingRecopilación de InformaciónRed TeamingSeguridad de Correo ElectrónicoAnálisis de Registros
GitHubmgeeky/decode-spam-headers

decode-spam-headers

Un script que te ayuda a entender por qué tu correo electrónico terminó en Spam

Ver Repositorio
6989827hace 7 mesesRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

decode-spam-headers.py

Ya sea que estés tratando de entender por qué un correo electrónico específico terminó en SPAM/Correo no deseado para tus tareas administrativas diarias o para tus propósitos de simulación de phishing Red-Team, ¡este script está ahí para ayudarte!

La idea surgió al realizar ejercicios comerciales de simulación de phishing contra un entorno MS Office365 E5, equipado con MS Defender for Office365. Como uno puede imaginar, un stack de seguridad bastante difícil de manejar desde una perspectiva de simulación de phishing. Después de revisar manualmente todos estos encabezados SMTP de Office365 e intentar seleccionar los valores SCL, llegó el momento de escribir un parser adecuado para encabezados SMTP.

El tiempo pasó y fui añadiendo soporte para más y más encabezados SMTP - y aquí lo tenemos. Una herramienta que ahora comprende decenas de encabezados diferentes.

Información

Esta herramienta acepta como entrada un archivo *.EML o *.txt con todos los encabezados SMTP. Luego extraerá un subconjunto de encabezados interesantes y, mediante 105+ pruebas, intentará decodificarlos tanto como sea posible.

Este script también extrae todas las direcciones IPv4 y nombres de dominio, y realiza una resolución DNS completa de los mismos.

La salida resultante contendrá información útil sobre por qué este correo electrónico podría haber sido bloqueado.

Para embellecer tu código HTML de phishing antes de enviarlo a tu cliente, es posible que también quieras pasárselo a mi phishing-HTML-linter.py. Hace un trabajo bastante decente encontrando malos olores en tu HTML que harán que tu correo tenga un aumento en la puntuación de spam.

Capturas de ejemplo

  • Cadena de servidores MTA (encabezados Received correctamente analizados):

1.png

  • Diversos encabezados decodificados tanto como fue posible, según la documentación disponible públicamente (aquí Office365 ForeFront Spam Report):

2.png

  • Diferentes heurísticas personalizadas implementadas para validar activamente y buscar pistas de categorización de spam; aquí, la lógica que detecta suplantación de dominio:

3.png

  • El script intenta realizar ingeniería inversa y documentar algunas de las reglas Anti-Spam de Office365, así como recopilar conocimiento público sobre otros encabezados Anti-Spam opacos:

4.png

  • El informe se puede generar en un HTML de buen aspecto (uso: py decode-spam-headers.py headers.txt -f html -o report.html ):

5.png

Encabezados procesados

Encabezados procesados (se analizan más de 85+ encabezados):

  • 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 mayoría de estos encabezados no están completamente documentados, por lo que el script no puede precisar todos los detalles, pero al menos recopila todo lo que pude encontrar sobre ellos.

Esfuerzos de ingeniería inversa

Estoy haciendo esfuerzos significativos para detectar y comprender diferentes reglas Anti-Spam de Office365 ForeFront (SFS, ENG) a pesar de que no están documentadas públicamente.```

(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.
El proceso es puramente manual y recurre al envío de correos diseñados específicamente a los servidores de correo de Office365, y luego a la revisión y correlación manual de las reglas recopiladas.

Habiendo enviado ya más de 60 correos, esto es lo que puedo decir hasta ahora sobre las reglas 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'),
Descargar herramienta