This guide walks through installing John the Ripper Jumbo on Ubuntu for use with tools like
zip2john, rar2john, and ssh2john. It also explains how to use John as a
hash extraction tool while using Hashcat for cracking.
This is especially useful when working with encrypted ZIP archives recovered during labs, CTFs, or incident response exercises.
Why Install Jumbo Instead of Ubuntu's Default Version?
Ubuntu's repository often installs the non-Jumbo version of John the Ripper. That version may:
- Lack
zip2john - Lack modern formats
- Not support
--list=build-info - Be missing many cracking features
For best results, install Jumbo from source.
Install John the Ripper Jumbo
Step 1 – Update Ubuntu
sudo apt update Step 2 – Install Dependencies
sudo apt install -y build-essential libssl-dev zlib1g-dev git These packages provide compiler tools, OpenSSL support, compression libraries, and Git.
Step 3 – Download John Jumbo
git clone https://github.com/openwall/john.git Step 4 – Enter Source Directory
cd john/src Step 5 – Build John
./configure
make -s clean && make -sj4
The -sj4 flag uses 4 CPU threads. Change the number to match your system:
make -sj8
make -sj2 Step 6 – Move to Run Directory
cd ../run This is where the usable tools are located.
Step 7 – Verify Installation
./john --list=formats | head Step 8 – Verify ZIP Tool Exists
ls | grep zip2john Expected output:
zip2john Optional: Add John to PATH
So commands work from any directory:
echo 'export PATH=$PATH:~/john/run' >> ~/.bashrc
source ~/.bashrc Now you can run john and zip2john from any folder.
Using John With Hashcat
Hashcat does not read ZIP archives directly — it needs hashes, not archives. Use zip2john to
extract a crackable hash:
zip2john recovered.zip > zip.hash Then pass the hash to Hashcat:
hashcat -m 13600 hash.txt rockyou.txt ZIP to Hashcat Workflow
recovered.zip
↓
zip2john
↓
$pkzip$...
↓
hashcat
↓
password Troubleshooting
Problem 1 – Unknown Option: --list=build-info
Error:
Unknown option: "--list=build-info" Cause: You installed Ubuntu's default John package, not Jumbo.
Fix: Remove or ignore that version and install Jumbo from source:
git clone https://github.com/openwall/john.git
cd john/src
./configure
make -s clean && make -sj4 Problem 2 – cd ../run: No such file or directory
Error:
cd ../run
bash: No such file or directory Cause: You were not inside john/src, so ../run did not exist.
Fix: Confirm your location, navigate to the correct folder, build, then move to run:
pwd
cd john/src
./configure
make -s clean && make -sj4
cd ../run Problem 3 – zip2john Command Not Found
Cause: You are not in john/run, or PATH is not set.
Fix Option 1: Run from the run directory:
cd ~/john/run
./zip2john file.zip Fix Option 2: Add to PATH:
echo 'export PATH=$PATH:~/john/run' >> ~/.bashrc
source ~/.bashrc Problem 4 – Build Errors During make
Cause: Missing packages.
Fix:
sudo apt install -y build-essential libssl-dev zlib1g-dev
cd ~/john/src
make clean
make -sj4 Problem 5 – Hashcat Says Token Length Exception
Cause: You passed the full zip2john output including the filename prefix.
Example bad input:
recovered.zip:$pkzip$... Fix: Keep only the hash portion and save it to hash.txt:
$pkzip$... Example Complete Workflow
Extract Hash
zip2john recovered.zip > zip.hash Edit Hash
Keep only the $pkzip$... portion and save as hash.txt.
Crack With Hashcat
hashcat -m 13600 -a 0 hash.txt rockyou.txt -r rules/best64.rule Show Result
hashcat -m 13600 hash.txt --show Quick Commands Cheat Sheet
git clone https://github.com/openwall/john.git
cd john/src
./configure
make -s clean && make -sj4
cd ../run
./john --list=formats
./zip2john file.zip > hash.txt
hashcat -m 13600 hash.txt rockyou.txt