The DMARC-SPF-Checker is a Python-based application designed to analyze DMARC and SPF records for a list of domains. The tool provides insights into the email security policies of domains, logs the results for future reference, and offers options for sending spoofed emails for testing purposes. The application aims to enhance email security by ensuring domains are correctly configured with DMARC and SPF policies. To run the program:
python3 mailwatch.py
The output will be:
Please enter the domains you want to check (comma-separated): {domain1}, {domain2}, {domain3}
- You need to add your own SMTP server in python_email_sender.py
- You need to modify the receiver email address in mailwatch.py
- If you need a temporal testing SMTP server, or assistance of any kind reach out to me on LinkedIn
- Email Sending Option:
- Users can choose whether they want to send out a spoofed email.
- If the user selects to send an email, the application prompts to execute
smtp.py
.
- Logging Mechanisms:
- A comprehensive log is maintained of all records collected, including:
- Timestamp
- Domain
- DMARC Record
- SPF Record
- A comprehensive log is maintained of all records collected, including:
-
DNS Collector Checks:
- Every time the DNS collector runs, it checks the logs for existing records.
- If a matching record is found that is less than one day old, it will not be re-recorded. If the record is older, it will be executed again.
-
Record Management:
- Allows users to add new records as needed.
-
Flask Web Application:
- A Flask app is available to visualize all scanned records.
- Users can select whether the scan was reported or not.
-
Bounty Highlighting:
- The application allows users to highlight if a bounty was received for any reported vulnerabilities.
-
Spoof Email Feature:
- Users can send a spoofed email directly from the Flask web application.
-
SMTP Configuration:
- The web application allows users to configure SMTP settings for sending emails.
This project aims to continuously improve email security analysis and visualization features. The following enhancements are planned:
- Complete the implementation of the logging system with timestamps for each recorded action.
- Develop user-friendly interfaces in the Flask application for managing and visualizing scanned records.
- Enhance the email spoofing feature to support more customizable options.
- Implement a notification system for highlighting bounties received based on reported vulnerabilities.
Contributions are welcome! Please feel free to submit a pull request or open an issue for any enhancements or bugs you may encounter.
Feel free to create a new issue if you have problems with the tool, or, would like to request an additional feature.