netanelcyber / netanelcyber/AdPentestAI-Python

Email: Advanced MX record discovery and port scanning

Open
#18 1 comment 0 reactions 1 assignee View on GitHub

@tenten48tenten is already working on this.

Since Sep 16, 2026.

email-enumeration enhancement help-wanted v1.1.0
Dominant language
Python
Stars
5
Forks
2
Avg merge
22h 25m
Merged PRs (30d)
7

Description

Description

Enhance email server discovery with comprehensive MX record resolution and multi-port scanning.

Enhancements

  1. MX Record Discovery

    • Query MX records for domain
    • Follow MX priorities
    • Resolve MX hostnames to IPs
    • Handle MX chains (backup servers)
    • Detect cloud email providers (Office365, Google Workspace)
  2. Port Scanning

    • Standard SMTP ports: 25, 465, 587
    • POP3 ports: 110, 995
    • IMAP ports: 143, 993
    • EWS endpoint detection (443)
    • ActiveSync (443)
  3. Service Fingerprinting

    • Banner grabbing for each port
    • TLS certificate inspection
    • Service version detection
    • Capabilities detection (SMTP EHLO, POP3 CAPA, IMAP CAPABILITY)
  4. Cloud Detection

    • Office365 identification (outlook.office365.com)
    • Google Workspace detection
    • Other cloud providers
    • Hybrid configurations

Implementation

  • Enhance: discover_email_servers() function
  • Add: MX resolution and prioritization
  • Add: Concurrent port scanning
  • Add: Service fingerprinting functions

Files to Update

  • adpentest/core.py - Email discovery functions

Success Criteria

  • MX record discovery accurate for 99% of domains
  • Port scanning complete in < 30 seconds
  • Accurate cloud provider detection
  • Service version identification

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.