Small cybersecurity utilities I built while learning — port scanning, hash cracking, password auditing, PDF protection testing, and blind SQLi extraction. Each tool is self-contained and focused on one thing, written to understand security concepts by coding them myself.
Designed for learning, lab practice, and authorized security testing only.
| Tool | Description |
|---|---|
port_scanner.py |
TCP connect port scanner — scan a target IP or hostname across a port range. |
hash_cracker.py |
Hash identifier and cracker — auto-detects algorithm by hash length and cracks against a wordlist. |
hasher.py |
Password hasher — generate MD5, SHA1, SHA224, SHA256, SHA384, or SHA512 hashes. |
pdf_cracker.py |
PDF password auditor — generates targeted wordlists from personal info and tests encrypted PDFs. |
blind_sqli_extractor.py |
Blind SQL injection password extractor — Oracle conditional-error oracle (TO_CHAR(1/0)) with char-by-char extraction. |
git clone https://github.com/Utkarsh464/pentools.git
cd pentools
pip install -r requirements.txtpython port_scanner.py
# enter target ip or hostname: 192.168.1.1
# start port: 1
# end port: 1024python hash_cracker.py
# enter the hash path: hashes.txt
# enter wordlist path: wordlist.txtpython hasher.py
# enter the password: mysecret
# choose algo (md5/sha1/sha224/sha256/sha384/sha512): sha256python pdf_cracker.py
# PDF path: protected.pdf
# Name: John
# Mobile Number: 1234567890
# DOB (MMDDYYYY): 01011990python blind_sqli_extractor.py
# Lab URL: https://0a1b2c...web-security-academy.net/
# Session cookie value: ...
# TrackingId cookie value: ...Solves PortSwigger's Blind SQL injection with conditional errors lab on an Oracle backend by asking the app yes/no questions ("is this character correct?") and reading the answer from the HTTP status code (500 = TRUE, 200 = FALSE). Uses requests.
Written alongside my PortSwigger Academy lab writeups — see the Blind SQL injection with conditional errors writeup for the walkthrough this tool automates.
- Python 3.8+
pypdf— for PDF cracking (included inrequirements.txt)requests— forblind_sqli_extractor.py(included inrequirements.txt)
All other tools use only the Python standard library.
These tools are provided for educational and authorized testing purposes only. Unauthorized use of security tools against systems you do not own or have explicit permission to test is illegal. The author is not responsible for any misuse of these tools.
Licensed under the MIT License.
Utkarsh Solanki — Cybersecurity & AI Student LinkedIn · GitHub