Professional Email Security Assessment Framework
For authorized penetration testing, security research, and educational purposes
EST (Email Spoofing Tool) is a comprehensive, professional-grade framework designed for authorized email security assessments, penetration testing, and cybersecurity education. This tool demonstrates email spoofing vulnerabilities and helps security professionals evaluate the effectiveness of email authentication mechanisms.
EST is intended for authorized security testing and educational purposes only. Users must obtain explicit written permission before testing any systems they do not own or have authorization to test. Unauthorized use of this tool may violate local, state, and federal laws. The developers assume no liability for misuse or damage caused by this program.
- Professional SMTP Server - Multi-threaded, RFC-compliant SMTP server for testing
- Pre-built Attack Scenarios - 5 realistic email spoofing scenarios covering common attack vectors
- Custom Test Creation - Build and execute custom spoofing tests with full control
- Comprehensive Logging - Detailed audit trails for all security tests
- Assessment Reporting - Generate professional security assessment reports
- Real-time Email Relay - Automatic delivery to real email destinations for testing
- Python 3.13+ Compatible - Works with latest Python versions including Kali Linux
| Scenario | Category | Severity | Description |
|---|---|---|---|
| CEO Fraud | Business Email Compromise | π΄ Critical | Executive impersonation for wire transfer fraud |
| IT Helpdesk | Technical Support Fraud | π High | IT support impersonation for credential harvesting |
| PayPal Security | Financial Services Phishing | π High | Payment service spoofing for account compromise |
| Microsoft 365 | Software/License Fraud | π‘ Medium | License expiration scam for credential theft |
| Bank Alert | Financial Institution Fraud | π΄ Critical | Banking institution impersonation |
EST Framework
βββ SMTP Testing Server (Multi-threaded)
βββ Scenario Engine (Pre-built + Custom)
βββ Email Relay System (MX Resolution)
βββ Audit & Logging System
βββ Report Generation Engine
βββ Python Environment Manager (3.13+ compatible)
βββ Professional CLI Interface
- Python 3.8 or higher (including Python 3.13+)
- Linux/macOS/Windows (optimized for Kali Linux)
- Network connectivity for email delivery testing
# Clone the repository
git clone https://github.com/techsky-eh/EST.git
cd EST
# Make installer executable
chmod +x install.sh
# Run the fixed installer (handles Python 3.13+ automatically)
./install.shThe installer will automatically:
- Detect Python 3.13+ and create a virtual environment
- Install system dependencies via apt
- Handle externally-managed-environment issues
- Create isolated Python environment for EST
# Clone the repository
git clone https://github.com/techsky-eh/EST.git
cd EST
# Install dependencies
pip install -r requirements.txt
# Install system-wide (optional)
sudo ./install.sh# Install Python and dependencies
brew install python3 telnet
# Clone and install EST
git clone https://github.com/techsky-eh/EST.git
cd EST
./install.sh# Start SMTP testing server
est server --port 2525
# List available attack scenarios
est list
# Execute CEO fraud scenario
est test 1 target@company.com
# Run custom spoofing test
est custom --from-email "ceo@company.com" \
--from-name "John Smith, CEO" \
--subject "Urgent Request" \
--body "Please handle this immediately" \
--target "employee@company.com"
# View test logs
est logs --lines 50
# Generate assessment report
est report# Start SMTP server (standard port, requires sudo)
sudo est server --port 25
# Start on unprivileged port (recommended)
est server --port 2525
# Bind to specific interface
est server --host 192.168.1.100 --port 2525# List all scenarios with details
est list
# Execute specific scenario by ID
est test <scenario_id> <target_email>
# Execute with custom SMTP server
est test 1 target@company.com --smtp-host mail.company.com --smtp-port 25
# Custom spoofing test
est custom --from-email <sender> \
--from-name <display_name> \
--subject <subject> \
--body <message_body> \
--target <target_email># View recent test logs
est logs
# View more log entries
est logs --lines 100
# Generate comprehensive report
est report
# Generate report to specific file
est report --output /path/to/report.jsonEST stores configuration in ~/.est/config.json:
{
"version": "2.0.1",
"smtp_server": {
"host": "0.0.0.0",
"port": 2525,
"timeout": 30
},
"scenarios": [
{
"name": "Custom CEO Fraud",
"category": "Business Email Compromise",
"from_email": "ceo@yourcompany.com",
"from_name": "Your CEO Name",
"subject": "Urgent Business Matter",
"body": "Custom email body...",
"description": "Custom scenario description",
"severity": "Critical"
}
],
"temp_email_services": [
"guerrillamail.com",
"mailinator.com"
]
}-
Environment Setup
# Start EST server in isolated environment est server --port 2525 -
Baseline Testing
# Test with temporary email addresses first est test 1 test@guerrillamail.com est test 2 test@mailinator.com
-
Target Assessment
# Execute scenarios against target domain est test 1 employee@target-company.com est test 3 finance@target-company.com
-
Custom Attack Simulation
# Company-specific spoofing tests est custom --from-email "ceo@target-company.com" \ --from-name "Target CEO Name" \ --subject "Quarterly Budget Review" \ --body "Please review attached budget..." \ --target "cfo@target-company.com"
-
Results Analysis
# Review logs and generate report est logs --lines 100 est report --output assessment_report.json
EST integrates seamlessly with other security testing tools:
# Use with network analysis
tcpdump -i any port 25 &
est test 1 target@company.com
# Combine with social engineering toolkit
# Use EST for email component of broader campaigns
# Integration with reporting frameworks
est report --output ./reports/email_assessment.jsonπ― Executing Email Spoofing Test
ββββββββββββββββββββββββββββββββββββββββ
π§ Scenario: CEO Fraud - Urgent Wire Transfer
π·οΈ Category: Business Email Compromise
β οΈ Severity: Critical
π€ Spoofed From: John Smith, CEO <ceo@targetcompany.com>
π₯ Target: employee@company.com
π‘ SMTP Server: localhost:2525
π Timestamp: 2024-03-15 14:30:22
π Initiating SMTP connection...
π€ Sending spoofed email...
β
Email spoofing test completed successfully!
π Check target inbox: employee@company.com
π EST Security Assessment Summary
ββββββββββββββββββββββββββββββββββββββββββββββββββ
π Total Tests: 15
β
Successful: 12
β Failed: 3
π Success Rate: 80.0%
π΄ Risk Level: CRITICAL - Immediate action required
π Recommendations: 8 items
β’ π΄ CRITICAL: High email spoofing success rate detected
β’ Implement SPF, DKIM, and DMARC email authentication
β’ Configure email security gateways with spoofing detection
... and 5 more
- Always obtain written authorization before conducting tests
- Use isolated test environments when possible
- Document all testing activities for compliance
- Follow responsible disclosure for any vulnerabilities found
- Respect privacy and confidentiality of all test data
- Isolated network segment for testing
- Virtual machines for server deployment
- Temporary email services for initial validation
- Proper logging and monitoring infrastructure
- Obtain explicit written permission from system owners
- Ensure compliance with local and international laws
- Document the scope and limitations of testing
- Maintain confidentiality of test results
- Follow organizational security policies
Problem: externally-managed-environment error
# Solution 1: Use the fixed installer (automatically creates venv)
./install.sh
# Solution 2: Manual virtual environment
python3 -m venv ~/.est-env
source ~/.est-env/bin/activate
pip install dnspython
# Solution 3: Use system packages
sudo apt install python3-dnspythonProblem: Virtual environment not found
# Solution: Reinstall or recreate environment
rm -rf ~/.est-env
./install.sh
# Or manually recreate
python3 -m venv ~/.est-env
source ~/.est-env/bin/activate
pip install -r requirements.txtPort Permission Denied
# Solution: Use unprivileged port or run as root
est server --port 2525
# OR
sudo est server --port 25DNS Resolution Failures
# Install DNS library
sudo apt install python3-dnspython
# OR in virtual environment
source ~/.est-env/bin/activate
pip install dnspythonEmail Delivery Failures
# Check SMTP server logs
est logs
# Verify target email service is accessible
dig MX target-domain.com
# Test with known working temporary email services
est test 1 test@guerrillamail.comCommand Not Found
# Run directly if not installed system-wide
python3 est.py --help
# Or reinstall
./install.sh
# Check if virtual environment is needed
source ~/.est-env/bin/activate
est --help# Check EST installation
est --help
# Verify Python environment
python3 -c "import dns.resolver; print('DNS module working')"
# Check virtual environment (if used)
echo $VIRTUAL_ENV
# Test basic functionality
est list- Demonstrate realistic email spoofing attacks
- Show participants how phishing emails are crafted
- Test user awareness and response procedures
- Provide hands-on experience with email security
- Study email authentication mechanisms
- Analyze effectiveness of security controls
- Research social engineering techniques
- Develop new detection methods
- Assess organizational email security posture
- Test effectiveness of SPF/DKIM/DMARC policies
- Evaluate user susceptibility to social engineering
- Validate email security gateway configurations
We welcome contributions from the security community:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Follow PEP 8 style guidelines
- Add comprehensive docstrings
- Include unit tests for new features
- Update documentation as needed
- Ensure compatibility with Python 3.8+
- Test with both virtual environments and system Python
EST is specifically optimized for Kali Linux:
- Automatic virtual environment setup for Python 3.13+
- System package integration with apt
- Network interface binding for pentesting environments
- Integration with Kali tools and workflows
# One-command installation on Kali
./install.sh
# Manual method for Kali
sudo apt install python3-dnspython telnet dnsutils
python3 -m venv ~/.est-env
source ~/.est-env/bin/activate
pip install setuptools wheel
python3 est.py --help# Professional pentest workflow
est server --port 2525 &
est test 1 target@victim.com
est report --output /root/pentest-reports/email-assessment.json
# Integration with other tools
tcpdump -i any port 25 &
est test 1 target@example.comThis project is licensed under the MIT License - see the LICENSE file for details.
- Fixed Python 3.13+ compatibility - Automatic virtual environment creation
- Enhanced Kali Linux support - Optimized installation for latest Kali
- Improved error handling - Better externally-managed-environment handling
- Updated documentation - Comprehensive troubleshooting for modern Python
- System package integration - Prefer apt packages over pip when available
- Complete rewrite for professional security testing
- Multi-threaded SMTP server with real-time email relay
- 5 realistic attack scenarios covering major threat vectors
- Professional CLI interface with comprehensive logging
- Cross-platform compatibility and desktop integration
- Security research community for vulnerability insights
- Email authentication standards organizations
- Open source contributors and maintainers
- Educational institutions supporting cybersecurity research
- Kali Linux team for providing excellent penetration testing platform
- Issues: GitHub Issues
- Documentation: Wiki
- Security Reports: contact@techskyhub.com
- General Questions: contact@techskyhub.com
For common issues:
- Python 3.13+ problems: Use
./install.sh(auto-creates venv) - Kali Linux issues: Install via
sudo apt install python3-dnspython - Permission errors: Use
est server --port 2525instead of port 25 - Command not found: Run
source ~/.est-env/bin/activatethen try again
EST v2.0.1 - Professional Email Security Assessment Framework
Compatible with Python 3.8+ including Python 3.13+ and Kali Linux
Made with β€οΈ by the Tech Sky - Security Research Team