Skip to content

sumedhmhatre01/PhishSentinel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ›‘οΈ PhishSentinel

A modular, terminal-based phishing detection and cybersecurity analysis toolkit built with Python.

PhishSentinel is a defensive cybersecurity project that analyzes URLs, websites, emails, domains, and files for common phishing indicators using rule-based detection techniques. The application runs entirely in the terminal and is designed with a modular architecture for maintainability and future expansion.


✨ Features

🌐 URL Scanner

  • HTTPS verification
  • IP address URL detection
  • Long URL detection
  • URL shortener detection
  • Suspicious keyword detection
  • Suspicious TLD detection
  • Brand impersonation (typosquatting) detection
  • Overall phishing risk score

🌍 Website Scanner

  • HTML download and parsing
  • Login form detection
  • Password field detection
  • Hidden iframe detection
  • JavaScript redirect detection
  • External JavaScript detection
  • Suspicious HTML element detection

πŸ“§ Email Scanner

  • Parse .eml files
  • Sender and subject analysis
  • URL extraction
  • SPF header presence check
  • DKIM signature presence check
  • DMARC(Authentication-Results) header check
  • Suspicious attachment detection
  • Phishing keyword detection

🌐 Domain Scanner

  • WHOIS lookup
  • Domain age analysis
  • Domain expiration check
  • Registrar information
  • DNS record lookup
  • MX record lookup
  • SSL certificate validation

πŸ“ File Scanner

  • SHA-256 hash generation
  • MD5 hash generation
  • File type detection
  • Double extension detection
  • Macro-enabled Office document detection
  • Executable file detection
  • Suspicious filename detection

πŸ—οΈ Project Structure

PhishSentinel/
β”‚
β”œβ”€β”€ scanners/
β”‚   β”œβ”€β”€ base_scanner.py
β”‚   β”œβ”€β”€ brand_detector.py
β”‚   β”œβ”€β”€ domain_scanner.py
β”‚   β”œβ”€β”€ email_scanner.py
β”‚   β”œβ”€β”€ file_scanner.py
β”‚   β”œβ”€β”€ url_scanner.py
β”‚   └── website_scanner.py
β”‚
β”œβ”€β”€ utils/
β”‚   β”œβ”€β”€ cli.py
β”‚   β”œβ”€β”€ helpers.py
β”‚   β”œβ”€β”€ logger.py
β”‚   β”œβ”€β”€ risk_engine.py
β”‚   └── validators.py
β”‚
β”œβ”€β”€ models/
β”‚
β”œβ”€β”€ samples/
β”‚   β”œβ”€β”€ emails/
β”‚   β”œβ”€β”€ files/
β”‚   └── phishing_test.html
β”‚
β”œβ”€β”€ logs/
β”‚
β”œβ”€β”€ main.py
β”œβ”€β”€ config.py
β”œβ”€β”€ requirements.txt
β”œβ”€β”€ README.md
└── .gitignore

βš™οΈ Technologies Used

  • Python 3.12+
  • Requests
  • BeautifulSoup4
  • tldextract
  • validators
  • dnspython
  • python-whois
  • colorama

Python Standard Libraries

  • ssl
  • socket
  • hashlib
  • email
  • pathlib
  • logging
  • argparse
  • re
  • json

πŸš€ Installation

Clone the repository

git clone https://github.com/YOUR_USERNAME/PhishSentinel.git

Go to the project directory

cd PhishSentinel

Create virtual environment

python -m venv venv

Activate virtual environment

Windows

venv\Scripts\activate

Linux / macOS

source venv/bin/activate

Install dependencies

pip install -r requirements.txt

▢️ Run

python main.py

πŸ–₯️ Terminal Menu

=========================================================
                PHISHSENTINEL
     Defensive Phishing Detection Toolkit
=========================================================

[1] URL Scanner
[2] Website Scanner
[3] Email Scanner
[4] Domain Scanner
[5] File Scanner
[0] Exit

πŸ“Š Example Scan Result

=========================================================
SCAN RESULT
=========================================================

Status      : SUCCESS
Scanner     : URL Scanner
Target      : https://paypa1-login.xyz

Risk Score  : 60
Risk Level  : High

Findings

[HIGH]
Category : Brand
Message  : Brand impersonation detected.

[HIGH]
Category : TLD
Message  : Suspicious TLD detected (.xyz)

[MEDIUM]
Category : Keyword
Message  : Suspicious keyword detected: login

πŸ“ Logging

Every scan is automatically recorded in

logs/phishsentinel.log

Logged information includes:

  • Scanner name
  • Target
  • Risk score
  • Risk level
  • Findings count
  • Timestamp

πŸ›‘οΈ Defensive Purpose

PhishSentinel is developed solely for defensive cybersecurity education and phishing analysis.

It is intended to help users identify suspicious characteristics in URLs, websites, emails, domains, and files. The project does not exploit systems, bypass security controls, or perform offensive security operations.


πŸ‘¨β€πŸ’» Author

Sumedh Mhatre


πŸ“„ License

This project is licensed under the MIT License.

About

A modular Python-based phishing detection toolkit for analyzing URLs, websites, emails, domains, and files using rule-based security analysis.

Topics

Resources

License

Code of conduct

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors

Languages