An extremely powerful and adaptable hash cracking tool
John the Ripper adalah alat pemecah hash yang populer dan serbaguna. Hash adalah metode untuk mengonversi data menjadi nilai tetap menggunakan algoritma seperti MD5, SHA1, dan NTLM. Hash dirancang agar sulit untuk membalikkan hasilnya menjadi data asli, sehingga aman. Dalam pemecahan hash, algoritma hashing mudah dihitung, tetapi menemukan input asli dari hash (membalik hash) sangat sulit secara komputasi.
Meskipun sulit dibalikkan, hash masih bisa dipecahkan menggunakan serangan kamus. John the Ripper membantu dalam serangan brute force untuk membandingkan hash dengan kata-kata yang dihasilkan, sehingga memungkinkan pemecahan hash.
Setting Up John The Ripper
- Parrot, Kali
sudo apt install john
- Blackarch
untuk memeriksa apakah Anda telah menginstalnya, gunakan perintah :
pacman -Qe | grep "john"
jika belum ada, Anda dapat menggunakan perintah
pacman -S john
- Building from Source for Linux
git clone https://github.com/openwall/john -b bleeding-jumbo john
- Menginstal di Windows
cd john/src/
./configure
"make -s clean && make -sj4" untuk membuat biner John. Biner ini akan berada di direktori run di atas, yang dapat Anda ubah dengan "cd ../run"
Untuk menginstal Jumbo John the Ripper di Windows, Anda hanya perlu mengunduh dan menginstal biner zip untuk sistem 64 bit di sini atau untuk sistem 32 bit di sini.
Wordlists
Untuk melakukan dictionary attack hashes, Anda memerlukan wordlist yang dapat Anda hash dan bandingkan, tidak mengherankan ini disebut wordlist. Ada banyak wordlist yang berbeda di luar sana, koleksi yang bagus untuk digunakan dapat ditemukan di repositori SecLists.
RockYou merupakan Wordlist Password umum yang sangat besar, yang diperoleh dari pelanggaran data pada situs web bernama rockyou.com pada tahun 2009. Anda bisa mendapatkan worlist rockyou.txt dari repositori SecLists di bawah
tar xvzf rockyou.txt.tar.gz
John Basic Syntax
john [options] [path to file]
john Memanggil program John the Ripper
[path to file] Berkas yang berisi hash yang ingin Anda pecahkan, jika ada pada direktori yang sama, Anda tidak perlu memberi nama jalurnya, cukup berkasnya saja.
Automatic Cracking
john --wordlist=[path to wordlist] [path to file]
Example :
john --wordlist=/usr/share/wordlists/rockyou.txt hash_to_crack.txt
Identifying Hashes
Seperti menggunakan pengenal hash online seperti
Untuk menggunakan hash-identifier, Anda cukup menarik file python dari gitlab menggunakan:
wget https://gitlab.com/kalilinux/packages/hash-identifier/-/raw/kali/master/hash-id.py
untuk menjalnakanya menggunakan perintah :
python3 hash-id.py
Format-Specific Cracking
john --format=[format] --wordlist=[path to wordlist] [path to file]
Example :
john --format=raw-md5 --wordlist=/usr/share/wordlists/rockyou.txt hash_to_crack.txt
A Note on Formats:
Saat menggunakan John the Ripper untuk tipe hash standar, seperti MD5, Anda perlu menambahkan awalan "raw-" untuk menunjukkan bahwa itu hash standar. Namun, ini tidak selalu berlaku untuk semua tipe hash. Untuk mengetahui apakah awalan diperlukan, Anda dapat mencantumkan semua format hash yang didukung John dengan perintah john --list=formats | grep -iF "md5"
Cracking Basic Hashes
Hash1 '
Hash2 '
Hash3 '
Hash4 '
1. Identifying Hashes Online hash-identifier
2. Identifying Hashes Manual python3 hash-id.py
john --format=[format] --wordlist=[path to wordlist] [path to file]
john --format=raw-MD5 --wordlist=/uer/share/wordlist/rockyu.txt Contoh_Hash1.txt
Cracking Windows Authentication Hashes
Hash '
john --list=formats | grep -iF "NTLM"
john --format=NT --wordlist=/uer/share/wordlist/rockyu.txt Contoh_Hash_NTLM.txt
Cracking /etc/shadow Hashes
File
Unshadowing
Untuk memecahkan kata sandi di file /etc/shadow menggunakan John the Ripper, file tersebut perlu digabungkan dengan file /etc/passwd agar John dapat bekerja dengan format yang tepat. Ini dilakukan menggunakan alat bawaan John yang disebut unshadow.
Sintaks dasar untuk menggabungkan file
unshadow [path to passwd] [path to shadow]
unshadow Memanggil Tools unshadow
[path to passwd] File yang berisi salinan file /etc/passwd yang Anda ambil dari mesin target
- Berisi baris /etc/passwd untuk pengguna root:
-
[path to shadow] File yang berisi salinan file /etc/shadow yang Anda ambil dari mesin target
- Berisi baris /etc/shadow untuk pengguna root:
-
Example :
unshadow local_passwd local_shadow > unshadowed.txt
Cracking
or
unshadow /etc/passwd /etc/shadow > unshadowed.txt
Kita tidak perlu menentukan mode di sini karena kita telah membuat input khusus untuk John, namun dalam beberapa kasus Anda perlu menentukan format seperti yang telah kita lakukan sebelumnya menggunakan:
john --wordlist=/usr/share/wordlists/rockyou.txt --format=sha512crypt unshadowed.txt
or
john unshadowed.txt --show --format=sha512crypt
Single Crack Mode
John the Ripper memiliki mode lain selain wordlist mode, yaitu Single Crack Mode. Dalam mode ini, John menggunakan informasi dari username untuk mencoba menemukan kemungkinan kata sandi dengan mengubah sedikit huruf dan angka dalam username tersebut secara heuristik.
Word Mangling
Contoh word mangling adalah jika kita memiliki username "Markus", kemungkinan password yang dihasilkan bisa berupa:
. Markus1, Markus2, Markus3 (dsb.)
. MArkus, MARkus, MARKus (dsb.)
. Markus!, Markus$, Markus* (dsb.)
John membangun kamus sendiri berdasarkan informasi yang diberikan dan menggunakan aturan yang disebut "mangling rules" untuk memodifikasi kata yang diberikan menjadi daftar kata yang relevan untuk menebak kata sandi.
GECOS
John juga kompatibel dengan Gecos fields dari sistem operasi UNIX dan sejenisnya. Gecos adalah informasi seperti nama lengkap dan direktori home dari file /etc/shadow atau /etc/passwd yang dapat digunakan John untuk menambah daftar kata yang dihasilkan dalam single crack mode.
Menggunakan Single Crack Mode
Untuk menggunakan mode ini, sintaksnya mirip dengan yang digunakan sebelumnya, seperti:
john --single --format=[format] [path to file]
Contoh :
john --single --format=raw-sha256 hashes.txt
Catatan Format File
Dalam single crack mode, file hash harus dimodifikasi dengan menambahkan username sebelum hash, misalnya:
Sebelum :
1efee03cdcb96d90ad48ccc7b8666033
Sesudah :
mike:1efee03cdcb96d90ad48ccc7b8666033
Custom Rules
Dalam Single Crack Mode John the Ripper, Anda dapat membuat custom rules untuk menentukan pola mangling kata sandi yang sesuai dengan informasi yang Anda ketahui tentang target. Ini sangat berguna jika Anda memahami struktur kata sandi yang digunakan oleh target, misalnya, karena persyaratan kompleksitas kata sandi di organisasi tertentu.
Contoh Custom Rules Umum
Misalnya, banyak organisasi mewajibkan kata sandi memiliki huruf kapital, angka, dan simbol. Pola yang sering digunakan adalah meletakkan huruf kapital di awal, diikuti oleh angka dan simbol di akhir, seperti:
Sebagai penyerang, kita dapat memanfaatkan pola ini untuk memprediksi lokasi elemen-elemen tambahan tersebut dan membuat kata sandi dinamis dari wordlist.
Cara Membuat Custom Rules
Custom rules didefinisikan dalam file
-
-
-
-
Berikut adalah contoh set karakter yang bisa digunakan:
-
-
-
-
Contoh Implementasi
Untuk menyesuaikan pola Polopassword1!, kita dapat menulis aturan berikut:
[List.Rules:PoloPassword]
-
cAz"[0-9] [!£$%@]"
-
-
-
Menggunakan Custom Rules
john --wordlist=[path to wordlist] --rule=PoloPassword [path to file]
Cracking Password Protected Zip Files
Untuk memecahkan file Zip yang diProtected password, kita bisa menggunakan John the Ripper. Langkah-langkahnya melibatkan penggunaan alat
Zip2John
Sama seperti alat unshadow, zip2john mengonversi file zip ke format hash yang dapat dipecahkan oleh John. Perintah dasarnya seperti ini:
zip2john [options] [zip file] > [output file]
Keterangan :
Contoh penggunaan:
zip2john zipfile.zip > zip_hash.txt
Cracking
Setelah mendapatkan hash, kita bisa langsung memasukkannya ke John untuk mulai memecahkan password, seperti yang dilakukan pada hash shadow sebelumnya.
john --wordlist=/usr/share/wordlists/rockyou.txt zip_hash.txt
Practical
1. Cracking password secure.zip
zip2john secure.zip > secure.txt
John --wordlist=/usr/share/wordlists/rockyou.txt secure.txt
Cracking Password Protected RAR Archives
Memecahkan archives RAR yang Dilindungi Password, Kita dapat menggunakan proses yang mirip dengan yang digunakan untuk file zip untuk mendapatkan password dari archives RAR. Archives RAR adalah file terkompresi yang dibuat oleh manajer archives WinRAR, sama seperti file zip yang dapat mengompres berbagai folder dan file.
Rar2John
Hampir identik dengan alat zip2john, kita akan menggunakan alat rar2john untuk mengonversi file rar menjadi format hash yang dapat dipahami oleh John. Sintaks dasarnya adalah sebagai berikut:
rar2john [rar file] > [output file]
Keterangan :
Contoh penggunaan:
rar2john RARfile.rar > rar.txt
Cracking
kita dapat mengambil file hash yang dihasilkan dari rar2john, dalam contoh ini bernama "
john --wordlist=/usr/share/wordlists/rockyou.txt rar.txt
Practical
1. Cracking password secure.rar
rar2john secure.rar > secure.txt
John --wordlist=/usr/share/wordlists/rockyou.txt secure.txt
Cracking SSH Keys
Untuk memecahkan password pada key privat SSH
SSH2John
ssh2john mengonversi file id_rsa menjadi format hash yang bisa dipecahkan oleh John. Jika ssh2john tidak terpasang, bisa menggunakan ssh2john.py yang biasanya terletak di
Sintaks dasarnya adalah:
ssh2john [id_rsa private key file] > [output file]
Keterangan :
Contoh penggunaan:
ssh2john id_rsa > id_rsa_hash.txt
Cracking
Setelah mendapatkan file hash, kita bisa memecahkannya menggunakan John seperti biasa:
john --wordlist=/usr/share/wordlists/rockyou.txt id_rsa_hash.txt
Practical
1. crack the hash of the id_rsa file
ssh2john.py kay_rsa > kayhash.txt
john kayhash.txt --wordlist=/usr/share/wordlists/rockyou.txt
Login ssh :
ssh -i kay_rsa [username]@[machine_ip]