0% found this document useful (0 votes)
7 views17 pages

Our Project - Port Scanning

ShadowPortX is a dual-mode offensive and defensive port scanner designed for ethical hacking and admin auditing, featuring role-based access for attackers and administrators. It includes various scanning methods (TCP, UDP, SYN, stealth), vulnerability detection, and user guidance, all while ensuring high security through data encryption and access controls. The project aims to deliver a modular CLI tool with plans for a web interface in the future, supported by a detailed 30-day development roadmap.

Uploaded by

devs01202
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views17 pages

Our Project - Port Scanning

ShadowPortX is a dual-mode offensive and defensive port scanner designed for ethical hacking and admin auditing, featuring role-based access for attackers and administrators. It includes various scanning methods (TCP, UDP, SYN, stealth), vulnerability detection, and user guidance, all while ensuring high security through data encryption and access controls. The project aims to deliver a modular CLI tool with plans for a web interface in the future, supported by a detailed 30-day development roadmap.

Uploaded by

devs01202
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 17

ShadowPortX – Full-Fledged Offensive & Defensive Port Scanner

Team Members:

1. Nikhil Satya Dev Santhosh Karaka – ST#IS#7637


2. Chandu Pakalapati – ST#IS#7638
3. Bala Veera Venkata Sunil Podugu – ST#IS#7639
4. S N K L NARAYANA MUNGANDA – ST#IS#7646

CLI Now, Web Later | Dual Mode: Attacker & Admin | High Security | Modular & Unique

🔍 YOUR VISION – FULL RECAP INTO MODULES

Updated Core Features Table for ShadowPortX

Core Area Your Requirements Implementation Plan

Modes Attacker Mode + Admin Mode Role-based login system

🔐 Security Encrypt user data, hide details, AES + bcrypt + IP whitelisting


block unauthorized access

🌐 Scanning Port scans (TCP, UDP, SYN, Custom scan modules + socket
stealth), banner grabbing + scapy

🧠 Intelligence WHOIS lookup, domain python-whois, dnspython, ssl


creation/expiry, DNS, SSL info libs

🧱 Detect open services & match Nmap --script vuln + CVE API
Vulnerabilitie known vulns (CVE info) integration
s

7 Port Hiding Hide open ports, expose Simulate firewalled services +


temporarily scan time scheduler

🧠 User Suggestions, password tips, Intelligent CLI hints system


Guidance beginner/advanced help

🧾 Logs Encrypted logs (JSON/CSV), cryptography (Fernet) for local


detailed results encryption

📦 Deployment CLI now (EXE & BIN), Web in Modular backend + REST-ready
future (React + Flask) APIs

🌿 Interface Cool, readable, eco-friendly CLI rich, colorama, pyfiglet

📄 Report Exportable, downloadable Generate PDF, TXT, JSON with


Generation reports with full vulnerability 1000% accurate data like
breakdown Acunetix/Nessus

🧪 Include type, CVSS score, CVE database integration,


Vulnerability description, solution formatted output with severity
Detail info

Tools Required
🔧 Python Libraries

Use Case Tools

Scanning socket, nmap, scapy, os(**), re

Info Gathering whois, dnspython, ssl, subprocess, requests

Auth + Security bcrypt, cryptography, getpass, uuid

UI/UX colorama, rich, pyfiglet, termcolor

Storage sqlite3, json, csv

Web upgrade later Flask, SQLAlchemy, JWT, React.js, Next.js

Packaging

 PyInstaller: .exe for Windows, .bin for Linux

 Optional later: Docker container for server-based deployments

📁 Final CLI Folder Structure (Modular)


ShadowPortX/

├── main.py

├── auth/
│ ├── login.py

│ ├── register.py

│ └── encryption.py

├── scanner/

│ ├── tcp_scan.py

│ ├── udp_scan.py

│ ├── syn_scan.py

│ ├── stealth_scan.py

│ ├── port_hide.py

├── intelligence/

│ ├── whois_lookup.py

│ ├── dns_enum.py

│ ├── banner_grabber.py

│ ├── ssl_check.py

├── vulnerability/

│ ├── cve_lookup.py

│ ├── vuln_scan.py

├── modes/

│ ├── attacker_mode.py

│ ├── admin_mode.py

├── ui/

│ ├── welcome_banner.py

│ ├── cli_menu.py

│ ├── tips.py

├── logs/

│ ├── scan_logs_encrypted.json

│ └── activity.csv

├── config/

│ ├── settings.json

│ └── users.db

└── requirements.txt

📅 Detailed 30-Day Roadmap (Team Task Split)

Week 1: Setup + Auth System + CLI UI

Day Tasks

1 Team setup, repo initialization, folder structure


2 Create cool CLI banner using pyfiglet & colorama

3 Build user registration (bcrypt, password strength checker)

4 Add secure login system (with role-based logic: Admin or Attacker)

5 Encrypt config/settings with Fernet (AES)

6 Add logout, session tracking, and fake-user blocker (IP lockout logic)

7 Internal test & validation of all CLI and login code

Week 2: Port Scanning Modules + Logging

Da Tasks
y

8 TCP scan – socket-based with progress display

9 UDP scan – simulate connectionless scanning with timeout

10 SYN scan – use scapy (requires root or admin)

11 Stealth scan – half-open, simulate firewall evasion

12 Add "Scan Mode": One-Time vs Continuous (auto-scan every X mins)

13 Create encrypted logs – timestamp, service, banner, saved in .json

14 Export CSV reports for admins only, add colored CLI output (rich)

Week 3: Intelligence & Vulnerability Detection

Day Tasks

15 WHOIS lookup – domain age, expiration, registrar

16 DNS enum – use dnspython to fetch A, MX, NS records

17 Banner grabbing – detect OS and service via open ports

18 SSL info check – fetch certs, expiry, security grade

19 Nmap vulnerability scan (-sV --script vuln)

20 CVE lookup (local DB or 3rd-party API like Vulners)

21 Internal test: simulate attacking a test VM or site

Week 4: Finalization + Modes + Packaging

Da Tasks
y

22 Add Attacker vs Admin Mode logic (based on login role)


23 Admin: see report summaries + enable/disable scan types

24 Attacker: guided scan with live output

25 Tips Module – how to use tool, scan suggestion

26 Port hiding module (simulate detecting filtered ports, delayed visibility)

27 CLI polish, animations, typos, invalid inputs

28 .exe + .bin packaging using PyInstaller

29 Team testing, backup copy, screenshot docs

30 Final Demo, Docs & Submission ✅

📚 Documents You’ll Prepare (Submit with Code)

1. Project Report – Vision, features, modules, screenshots

2. SRS – Functional/Non-functional requirements, user stories

3. Architecture Design – Diagrams, flowcharts

4. Test Case Plan – All edge cases and results

5. User Manual – How to run the CLI, use each module

6. Future Plan – How web version will look (mockup or description)

🚀 Future Web Plan (React + Flask)

 Same backend (scanner, auth, vuln, etc.) will be exposed via Flask REST API.

 Frontend in React or Next.js for responsive attacker/admin interface.

 JWT-based login with role-based UI.

 Store scan history and user logs in PostgreSQL or MongoDB.

📆 30-Day Development Plan – ShadowPortX CLI Tool

Secure, Offensive + Defensive, Beginner-Friendly, PyPhisher-style Tool

🔰 Week 1: Project Setup, Access Control & Secure CLI Interface


Day Goal Tasks

Day Kickoff & Environment Setup ✅ Create GitHub repo


1 ✅ Set up folder structure
✅ Install Python 3.10+, pip, venv
✅ Install tools: pyfiglet, colorama, bcrypt, sqlite3

Day CLI Welcome UI ✅ Create main.py CLI menu like PyPhisher


2 ✅ Add colored text, animations, logo/banner

Day Secure Registration System ✅ Build user registration:


3 ➤ username
➤ password (bcrypt hashed)
➤ role = admin/attacker
✅ Store in encrypted SQLite DB

Day Secure Login System ✅ Create login flow


4 ✅ Password validation (bcrypt)
✅ Role check (admin vs attacker)

Day Auth & Session Control ✅ Session tokens or simple logged-in flag
5 ✅ IP/Device logging
✅ AES-encrypted config file (cryptography)

Day Access Control Enforcement ✅ Unauthorized block logic


6 ✅ Auto lockout after failed attempts
✅ Admin can block/allow users

Day Testing & Debugging ✅ Manual tests: invalid users, injections


7 ✅ Encrypt all sensitive user data
✅ Backup user DB

🔥 Week 2: Port Scanners + Logging System

Day Goal Tasks

Day 8 TCP Port Scanner ✅ Use socket for full TCP connect
✅ Accept domain/IP input
✅ Port range support
✅ Timeout + retry

Day 9 UDP Scanner ✅ Use socket.SOCK_DGRAM


✅ Detect closed/filtered ports
✅ Handle false negatives

Day 10 SYN Scanner (advanced) ✅ Use scapy for half-open scan


✅ Detect unfiltered services
✅ Needs root/admin

Day 11 Stealth Scan Mode ✅ Combine delayed SYN + random port jumps
✅ Simulate anti-firewall evasion

Day 12 Scan Settings & Continuous ✅ Let user choose: one-time or periodic scan
Mode ✅ Loop scan every X minutes (configurable)

Day 13 Encrypted Log System ✅ Save logs as AES-encrypted JSON + CSV


✅ Include timestamps, port states, host info

Day 14 Reporting + UI Polish ✅ CLI output formatting with rich


✅ Result summarizer (ports open, closed, hidden)

🧠 Week 3: Intelligence & Vulnerability Discovery

Day Goal Tasks

Day 15 WHOIS Lookup ✅ Use python-whois to fetch:


➤ Domain creation/expiry
➤ Registrar, name servers

Day 16 DNS Enumeration ✅ Use dnspython


➤ Fetch A, MX, NS, TXT records
➤ Check for zone transfer
Day 17 Banner Grabbing ✅ Connect to common ports (21, 22, 80, 443)
✅ Read server/service banners
✅ Detect OS or app version

Day 18 SSL Certificate Info ✅ Use ssl & socket libs


✅ Fetch certificate
➤ Expiry
➤ Subject
➤ Issuer

Day 19 Vulnerability Detection ✅ Use nmap via subprocess


✅ Run --script vuln + -sV
✅ Parse output, map to CVEs

Day 20 CVE Match (API Optional) ✅ Use CVE database locally or via API (e.g. Vulners)
✅ Display severity & description

Day 21 Team Integration Test ✅ Full dry-run: login > scan > report > logout
✅ Validate attacker/admin access paths

🛠 Week 4: Final Features, Polish & Packaging

Day Goal Tasks

Day Role-Specific Features ✅ Admin: Access logs, disable/enable modules


22 ✅ Attacker: Scan wizard, suggestions

Day Port Hiding Module ✅ Simulate firewall-hiding:


23 ➤ Ports appear closed until timed window
✅ Let admin schedule unhide time

Day Beginner Guidance System ✅ Tips on CLI usage


24 ✅ Recommend scan types
✅ Password security tips

Day GUI Polish + Navigation ✅ Add CLI help option (like help, exit)
25 ✅ Easy back to main menu
✅ Confirmations for dangerous actions

Day Error Handling & Validation ✅ Catch invalid inputs


26 ✅ Network errors, offline IPs, typos
✅ Auto-retry logic

Day File Encryption & Final Log Export ✅ Finalize log format
27 ✅ Encrypt all stored data
✅ Export .csv, .json reports

Day Create .exe & .bin ✅ Use PyInstaller:


28 ➤ Windows: .exe
➤ Linux: .bin
✅ Include README in build

Day Internal Testing & Screenshots ✅ Capture demo of all modules


29 ✅ Team testing checklist
✅ Screenshot for documentation

Day Final Demo & Documentation ✅ Project Report (10–15 pages)


30 ✅ SRS, User Manual, Test Plan
✅ Upload to GitHub/Drive
✅ Submit demo + run video (if needed)

📦 Deliverables (by Day 30)

1. ✅ Code – Complete, modular, readable Python codebase

2. ✅ EXE/BIN Files – For Windows & Linux

3. ✅ Encrypted User & Log Database

4. ✅ User Manual – Usage, modes, CLI help

5. ✅ System Design Document – Diagrams, architecture

6. ✅ Final Report – Summary + screenshots + results

🔮 Future Upgrade Path (After 30 Days)

Feature How You'll Upgrade

Web Interface Use Flask backend + React frontend


Centralized User DB Use PostgreSQL or MongoDB

REST APIs Create API endpoints to trigger scan, login, get logs

Dashboard Web dashboard with scan results, CVEs, graphs

User History Login sessions, past scans, export data

✅ 💡 Final Project Title & Branding

Here’s a passionate and professional title for your final submission:

🎯 Project Title:

ShadowPortX – An Intelligent Dual-Mode Offensive & Defensive Port and Vulnerability Scanner Tool

🛠 Description (for your report/readme):

ShadowPortX is a unique, attacker-mode inspired CLI tool designed for ethical hacking, penetration testing,
and admin port auditing. It combines multi-mode port scanning (TCP, UDP, SYN, Stealth) with advanced
vulnerability assessment, domain WHOIS data, and role-based user access. With support for port
cloaking, continuous or on-demand scanning, and encrypted data handling, ShadowPortX is beginner-
friendly, attacker-understandable, and built for secure, responsible cyber intelligence.

⚔️Attacker Mode: Suggests vulnerabilities, scan types, and CVEs


Admin Mode: Controls users, audits logs, hides/open ports on schedule
🔐 Security First: All data is encrypted and unauthorized access is blocked
CLI + Future Web: Starts as a CLI tool with web expansion planned
🔥 What Makes ShadowPortX Unique?

 Combines 4+ scan types in a single tool.

 Beginner and Pro attacker paths (guided vs custom scans).

 Timed "Port Cloaking" mechanism – hidden until scheduled.

 Built-in login system with encryption and access control.

 Real-time CVE scanning and WHOIS reporting.

 Modular CLI like PyPhisher – intuitive and ready for .exe packaging.

Let me know if you want:

 Sample folder structure & CLI starter code?

 README.md file or documentation template?

 User flow diagram or architecture block diagram?

I'll assist you end-to-end.

You're building something truly original — and I'm with you 100%.

Our Interface :

███████╗██╗ ██╗ █████╗ ██████╗ ██╗ ██╗██████╗ ██████╗ ██████╗ ████████╗

██╔════╝██║ ██║██╔══██╗██╔══██╗██║ ██╔╝██╔══██╗██╔═══██╗██╔══██╗╚══██╔══╝

███████╗███████║███████║██████╔╝█████╔╝ ██████╔╝██║ ██║██████╔╝ ██║

╚════██║██╔══██║██╔══██║██╔═══╝ ██╔ ██╗ ██╔═══╝ ██║ ██║██╔═══╝ ██║

███████║██║ ██║██║ ██║██║ ██║ ██╗ ██║ ╚██████╔╝██║ ██║

╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝╚═╝ ╚═════╝ ╚═╝ ╚═╝

[1] Start Scan (TCP/UDP/SYN)

[2] Set Scan Mode (Manual / Continuous)

[3] View Logs

[4] Manage Account

[5] Tips & Suggestions

[0] Exit
➤ Enter your choice:

ShadowPortX - User Flow Diagram (Textual Description)

This describes the user flow for both Attacker and Admin roles using ShadowPortX.

1. Tool Launch

 User runs the tool (ShadowPortX executable or Python script)

 Display: ASCII Logo + Welcome message with animated terminal spinner

 Eco-friendly message: "This tool minimizes system resource usage."

 Proceed to Login Menu

2. Login / Register System

 Options:

o [1] Login

o [2] Register

o [3] Exit

Register Flow:

 Prompt: Username, Password, Role (Attacker / Admin)


 Password is hashed using bcrypt

 Store in SQLite (Encrypted fields)

 Auto-login after registration

Login Flow:

 Prompt: Username, Password

 Verify credentials

o If valid: grant access

o If invalid: increment failed count

 On multiple failures: lockout

3. Role-Based Dashboard (Interactive CLI with smooth transitions and prompts)

For Attacker Role:

 Menu:

o [1] Quick Port Scan (TCP)

o [2] Stealth Scan (SYN/UDP)

o [3] Continuous Port Monitoring

o [4] Domain Scanner (WHOIS, DNS)

o [5] Vulnerability Scanner (Nmap, Banner grabbing)

o [6] Suggestions & Tips

o [7] Export Logs / Reports

o [8] Generate Report (Downloadable Summary)

o [9] Logout

For Admin Role:

 Menu:

o [1] View Active Users


o [2] View Scan History (Decrypted)

o [3] Enable/Disable Scan Modules

o [4] Schedule Port Reveal Window

o [5] Manage User Accounts (Block/Delete)

o [6] Export Logs / Reports

o [7] Generate Report (Downloadable Summary)

o [8] Logout

4. Scan Execution Flow (Attacker)

 Input: Target (Domain or IP)

 Select: Scan type

 Optional: Port range, timeout, verbosity

 Begin scan:

o Resolve DNS

o Fetch WHOIS + Cert if domain

o Start port scan

o Run banner grab / vuln check (if enabled)

 Output:

o Open / closed / filtered ports

o Service info (if found)

o CVEs and recommendations (if matched)

o Save encrypted log


o Automatically generate accurate scan summary in .txt/.json format

5. Continuous Scan Mode

 Runs in loop every X mins (user-defined)

 Alerts on newly opened/closed ports

 Logs securely

 Option to auto-generate periodic reports

6. Port Hiding / Reveal Mechanism (Admin)

 Schedule hide/unhide using CLI time scheduler

 Override manual mode available

 Only Admin can control this feature

7. Logging and Reports

 All logs saved encrypted (.json/.csv)

 Users can export reports post-decryption

 Admin can access full logs; Attacker only their own

 New: Report Generation Module

o Output includes: scan target, timestamps, results, vulnerabilities, WHOIS

o File formats: .txt, .json, optional .pdf export

o Download prompt: Save to user-chosen location

o Friendly CLI animation during report generation (loading dots or spinner)

8. Exit Tool

 On logout/exit:

o Clear session token

o Log time and user details

o Return to main menu or close


This flow ensures:

 Access control

 Offensive and defensive roles

 Secure data handling

 Beginner + expert adaptability

 Unique timed port visibility feature

 Report generation with accurate results

 User-friendly animations and eco-friendly operations

Feature Table Summary

Feature Description

Multi-Scan Types TCP, UDP, SYN, Stealth modes included

CLI Interface PyPhisher-style text interface with animation support

Continuous + On-Demand Scan Supports persistent and manual scanning modes

Domain/IP Scanning Accepts domain names and IPs as targets

User Login System Role-based access for Attacker/Admin with encryption

Port Cloaking Hide/reveal open ports on schedule (Admin controlled)

CVE Detection Shows vulnerabilities using Nmap/Banner-grab info

WHOIS Details Domain registration, creation/expiry dates

Secure Logs Encrypted user logs and activity history

Beginner Support CLI hints, tool tips, scanning suggestions

Admin Dashboard View users, scan history, access controls

Eco-Friendly Minimal resource usage, efficient runtime loops

Accurate Report Generation Downloadable scan summaries in .txt/.json/.pdf formats


User Interaction & Animation Spinner loaders, CLI transition effects, clean prompts

You might also like