This repository contains a collection of Python-based ethical hacking / security tools that I built as part of my Ethical Hacking Internship at GTech, Palakkad.
⚠️ Important:
All scripts are for learning, research and defensive security only.
I do NOT encourage or support using these tools on systems you do not own or have permission to test.
The projects in this repository cover:
- System protection and basic monitoring
- DNS and subdomain enumeration
- Password and hash cracking (for strength testing)
- Network and port scanning
- Client–server communication using sockets
- System information collection (for research)
- SSH botnet-style controller (for automation practice)
- FTP and SSH brute force tools (for authentication testing)
Each folder represents one topic or project and contains:
- The Python source code
- Logic that I studied as part of my internship work
Goal:
A small “system guard” to monitor or print basic system-related information.
What I learned:
- How simple scripts can be used as security helpers
- Basic input/output handling in Python
- Thinking like a security tool: check–report–act
Goal:
Enumerate DNS records (like A, NS, MX, CNAME) for a domain.
What I learned:
- How DNS works like a phonebook of the internet
- How attackers and defenders gather domain information
- The importance of reconnaissance in penetration testing
Goal:
Discover subdomains of a target domain using a wordlist.
What I learned:
- How to send repeated HTTP/DNS requests from Python
- Concept of “attack surface” and why subdomains matter
- Basic OSINT and enumeration techniques
Goal:
Try multiple passwords (from a wordlist or logic) to find weak credentials.
What I learned:
- Brute-force methodology and its limitations
- Why strong, unique passwords are critical
- The ethics of password auditing and testing
Goal:
Attempt to recover original text from a hash using wordlists.
What I learned:
- How hashing is used to protect passwords
- Why weak passwords are still vulnerable even when hashed
- Practical understanding of hash comparison and cracking
Goal:
Scan a network (e.g., 192.168.x.x) to identify live hosts.
What I learned:
- Basics of network discovery and host scanning
- Relationship to tools like Nmap
- How networks are mapped during security assessments
Goal:
Scan open ports on a target IP.
What I learned:
- What ports and services are
- How attackers find entry points on a system
- How to use Python sockets to test connectivity
client_server/client.py and client_server/server.py
Goal:
Build a simple client–server model using TCP sockets.
What I learned:
- How two machines talk over a network
- Socket programming basics (bind, listen, accept, connect, send, receive)
- The foundation for many real-world network tools
Goal:
Collect system information such as OS, user, hardware details (for research/learning).
What I learned:
- What type of information is valuable to attackers
- Device fingerprinting concepts
- How to collect and print/save system metadata using Python
📝 Used only on my own system and lab machines for ethical learning.
Goal:
Control multiple SSH clients from a central script (run commands on each).
What I learned:
- How SSH automation works
- Managing multiple sessions and storing credentials (for testing)
- The concept of botnets in a controlled, lab environment
Goal:
Attempt multiple username–password combinations against an FTP server.
What I learned:
- FTP protocol basics
- Multi-threading and queues in Python to speed up attempts
- Better error handling and timeout logic
Goal:
Perform SSH brute force with features like password generation, threading, and retries.
What I learned:
- How to use the
paramikolibrary for SSH connections - Handling timeouts, retries, and different error types
- Importance of secure SSH configurations in real systems
Goal:
A simpler version of SSH brute forcing used as a starting point.
What I learned:
- Step-by-step logic of checking one password at a time
- How to build a simple prototype before an advanced tool
- Understanding the evolution from basic to advanced scripts
- Language: Python 3
- Libraries used (depending on script):
socketftplibparamikothreading/queueargparseitertools,stringjson,os,sys- (and others as needed per script)
# Clone the repository
git clone https://github.com/your-username/ethical-hacking-lab-python.git
cd ethical-hacking-lab-python
# (Optional) Create a virtual environment
python3 -m venv venv
source venv/bin/activate # on Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt # if you create and add one