Skip to main content

Forensic / Steganography / CTF Analysis Toolkit for Kali Linux

Project description

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

Forensic · Steganography · CTF Analysis Toolkit

Built for Kali Linux — Zero pip dependencies


⚡ Quick Start

python3 kezmo.py <file> [-y] [-no]
# Examples
python3 kezmo.py suspicious_image.jpg
python3 kezmo.py encrypted.zip
python3 kezmo.py hidden_audio.wav
python3 kezmo.py challenge.pdf

# Auto-yes mode (answers 'y' to all prompts — fully unattended)
python3 kezmo.py suspicious_image.jpg -y

# Combo: auto-yes + no output files
python3 kezmo.py suspicious_image.jpg -y -no

![[video_test.mp4]]

Flags

Flag Description
-y Auto-answer "yes" to all interactive prompts (unattended mode)
-no Skip creating output files (keeps disk clean)

🔬 Analysis Modules (Execution Order)

# Module Description
1 File Type Check file command + MIME detection + Shannon entropy analysis + hexdump preview + file integrity hashing (MD5/SHA256)
2 EXIF Analysis Full metadata extraction via exiftool with suspicious field highlighting (GPS, comments, software, embedded data)
3 Binwalk Embedded file detection + extraction + recursive scanning (depth-limited to 3 levels)
4 Archive Cracking Password cracking for ZIP/RAR/PDF/Office via john with wordlist support
5 Audio Spectrogram Generates spectrograms via sox for hidden visual messages in audio files
6 Strings Full strings extraction + keyword highlighting (password, secret, flag, key, etc.)
7 Flag Detection Regex matching for flag{}, ctf{}, thm{}, picoCTF{}, HTB{}, tryhackme{}, and generic patterns — with false-positive filtering
8 Hash Detection + Cracking Detects MD5, SHA1, SHA224, SHA256, SHA384, SHA512 hashes — then offers to crack them with john + wordlist
9 Smart Auto Decoding Chained decoding: Base64→Gzip, Base64→Zlib, Base64, Base32, Base85, Hex, ROT13, URL — with noise stripping and automatic flag re-scan on decoded content
10 Steganography steghide extraction (with auto passphrase bypass) + zsteg for PNG LSB analysis
11 Final Summary Aggregated findings with colored table + JSON report export

Bonus Modules: Foremost file carving, Zsteg LSB analysis, Entropy analysis


🧠 Smart Decoding Engine

KEZMO doesn't just try simple Base64. It handles chained encodings that are common in CTFs:

Chain Example
Base64 → Gzip → Plaintext EXIF comment containing gzip-compressed secret messages
Base64 → Zlib → Plaintext Zlib-compressed data hidden in metadata fields
Noise Stripping Strips . dots, spaces, newlines from encoded strings before decoding
EXIF + Strings Scans both EXIF metadata AND strings output for encoded content

The decoder also automatically:

  • Re-runs flag detection on every decoded result
  • Detects embedded ZIP archives inside Base64
  • Filters garbage decodes (rejects non-printable output)

🛠️ Prerequisites

All tools come pre-installed on Kali Linux. If any are missing:

sudo apt update
sudo apt install -y exiftool binwalk steghide sox foremost john
gem install zsteg  # Optional — PNG LSB steganography

📂 Supported File Types

Category Extensions
Images jpg, jpeg, png, bmp, gif, tiff, webp
Audio wav, mp3, flac, ogg, aac, m4a
Archives zip, rar, 7z, tar, gz, bz2
Documents pdf, docx, xlsx, pptx, doc, xls
Other txt, any binary file

🎯 Features

  • Zero pip dependencies — uses only Python 3 standard library
  • Smart chained decoding — Base64→Gzip, Base64→Zlib, noise stripping
  • Hash cracking — auto-cracks detected MD5/SHA hashes with john + rockyou.txt
  • Auto-yes mode (-y) — fully unattended scanning, answers "yes" to all prompts
  • Interactive prompts — Y/N choices for extraction and cracking
  • Recursive analysis — extracted files are re-scanned automatically
  • Entropy analysis — Shannon entropy detects encrypted/compressed regions
  • Hexdump preview — first 256 bytes for quick manual inspection
  • File integrity hashing — MD5/SHA256 of the input file
  • Organized output — all files saved to <filename>_output/ directory
  • No-output mode (-no) — skip all file creation
  • Zip-bomb protection — recursive depth limit (default: 3)
  • False-positive filtering — flag regex validated against printable ASCII, hash cracking avoids binary noise
  • Beautiful output — colored, structured terminal display with progress tracking

📂 Output Structure

All output goes into a single organized directory:

python3 kezmo.py sky.jpg
sky.jpg_output/
├── strings_output.txt       # All extracted strings
├── kezmo_report.json        # Complete JSON findings report
├── spectrogram_*.png        # Audio spectrograms (if audio)
├── binwalk_extracted/       # Binwalk-extracted files
├── foremost/                # Foremost-carved files
└── steghide_extracted_*     # Steghide-extracted data

Use -no flag to skip creating any output files:

python3 kezmo.py sky.jpg -no

📜 License

MIT License — use freely for CTF, forensics, and educational purposes.


Built by SAIF

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kezmo-1.0.0.tar.gz (19.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kezmo-1.0.0-py3-none-any.whl (20.2 kB view details)

Uploaded Python 3

File details

Details for the file kezmo-1.0.0.tar.gz.

File metadata

  • Download URL: kezmo-1.0.0.tar.gz
  • Upload date:
  • Size: 19.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for kezmo-1.0.0.tar.gz
Algorithm Hash digest
SHA256 04f6947442f9bb1db74cc7bc2d4cbcbeb8e73accfa2f76427f404fcc32fc8e60
MD5 4306905509eeb23d9fdbc9df278766d0
BLAKE2b-256 f575f3863e8fef11296012701ff4dbf7a50cf352d19c49a829210fbc1ff3d11d

See more details on using hashes here.

File details

Details for the file kezmo-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: kezmo-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 20.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for kezmo-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7dcc584aa607ebde02d741f5e3dfad974b4c5c611ba0614c49a64f8d9d1380a3
MD5 5e74582683c64fc62d0c941340eb6d4d
BLAKE2b-256 5f9d95525d59e901a124f6db72848e2f62666883d477656cff57453742db8719

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page