Skip to content

Repository files navigation

Pentools

MIT License Python 3.8+

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.


Tools

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.

Installation

git clone https://github.com/Utkarsh464/pentools.git
cd pentools
pip install -r requirements.txt

Usage

Port Scanner

python port_scanner.py
# enter target ip or hostname: 192.168.1.1
# start port: 1
# end port: 1024

Hash Cracker

python hash_cracker.py
# enter the hash path: hashes.txt
# enter wordlist path: wordlist.txt

Hasher

python hasher.py
# enter the password: mysecret
# choose algo (md5/sha1/sha224/sha256/sha384/sha512): sha256

PDF Cracker

python pdf_cracker.py
# PDF path: protected.pdf
# Name: John
# Mobile Number: 1234567890
# DOB (MMDDYYYY): 01011990

Blind SQLi

python 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.


Requirements

  • Python 3.8+
  • pypdf — for PDF cracking (included in requirements.txt)
  • requests — for blind_sqli_extractor.py (included in requirements.txt)

All other tools use only the Python standard library.


Disclaimer

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.


License

Licensed under the MIT License.


Utkarsh Solanki — Cybersecurity & AI Student LinkedIn · GitHub

About

Personal cybersecurity tools built with Python — port scanner, hash cracker, password auditor, and more. For learning and authorized use only.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages