John The Ripper Si Pemecah Password

Halo teman-teman! Sekarang kita mau membahas tentang sebuah tools yang cukup berguna dalam hal password cracking, namanya adalah John The Ripper. John The Ripper atau yang biasa disingkat sebagai JTR merupakan sebuah tools yang ditujukan untuk memecahkan encryption atau hashing, menguji kekuatan sebuah password, melakukan brute force pada sebuah password, dan lain sebagainya. John The Ripper sendiri diciptakan pada tahun 1996 dan dibuat untuk OS Linux. Meskipun tools ini dapat terbilang sebagai tools yang cukup tua, namun kemampuannya dalam memecahkan password tidak diragukan lagi. Bahkan password-password yang kita gunakan sekarang bisa saja dipecahkan oleh si JTR ini.

Sebelum kita mengenal lebih dalam mengenai tools ini, kita harus mengerti dulu metode-metode yang biasa digunakan tools-tools password cracker dalam menemukan password yang tepat. Terdapat 3 jenis metode untuk melakukan password cracking, yaitu:

1. Dictionary Attack

Serangan ini didasarkan pada sebuah wordlist yang sudah disediakan sebelumnya. Bagi yang belum tahu, wordlist adalah suatu teks dengan ukuran besar yang berisi kumpulan password-password yang sering digunakan secara umum (default). Password-password ini nantinya akan dicoba satu per satu kepada target untuk mengetahui apakah ada password yang benar. Serangan ini tidak selalu efektif digunakan karena tepat atau tidaknya password yang dicoba tergantung dari wordlist yang digunakan.

2. Brute-Force Attack

Konsep dari serangan ini adalah “mencoba setiap karakter hingga menemukan kombinasi yang tepat”. Apabila dilakukan secara benar, serangan ini bisa dibilang memiliki ketepatan 100%, namun akan membutuhkan waktu yang sangat lama untuk menemukan kombinasi password yang tepat karena ditentukan oleh kompleksitas password tersebut (seberapa panjang password, karakter apa saja yang digunakan, dll). Itulah mengapa penting bagi kita untuk memiliki password yang cukup panjang dan terdiri dari kombinasi huruf (Uppercase dan Lowercase), angka, dan simbol.

3. Rainbow Table  

Rainbow table adalah list berukuran besar yang berisi kumpulan pasangan string dan hasil hash-nya. Jadi ketimbang meng-hash setiap string yang akan dicoba dan dicocokkan dengan hash target, dengan metode ini hanya perlu mencari apakah hash target ada dalam tabel tersebut atau tidak. Jika ada, maka tinggal dilihat string aslinya dan password pun ditemukan.

Nah, setelah mengetahui metode-metode yang dapat digunakan dalam password cracking, sekarang langsung saja masuk ke praktik dari JTR dengan memanfaatkan salah satu dari metode-metode serangan tersebut. Metode yang sekarang kita akan gunakan adalah Dictionary Attack.

Skenarionya adalah sebagai berikut. Misalkan kita memiliki sebuah zip yang di dalamnya memiliki file-file penting, namun ketika ingin membukanya kita dimintai sebuah password

Kita lupa bahwa ternyata kita pernah memasang password pada zip tersebut sehingga sekarang kita tidak mungkin bisa membuka zip tersebut dikarenakan kita sudah lupa password dari zip tersebut. Nah, disinilah tools JTR dapat menyelamatkan hidup kita. Berikut adalah langkah-langkah dalam memecahkan sebuah zip yang terenkripsi.

1. Perhatikan dengan jelas extension dari file tersebut. Karena perbedaan extension akan mengakibatkan perbedaan pada langkah untuk melakukan password cracking. Apabila kita menggunakan OS Kali Linux, maka kita bisa menggunakan command “file” untuk mengetahui detail dari file tersebut.

2. Sekarang kita mengetahui bahwa kita ingin memecahkan password sebuah file dengan extension “.zip”. Dengan begitu, kita dapat menggunakan sebuah script yang dibuat untuk merubah format “.zip” menjadi format yang dapat dikenali oleh JTR. Script tersebut adalah “zip2john”, script ini adalah script bawaan pada OS Kali Linux sehingga kita tidak perlu men-download lagi script tersebut dan dapat langsung menggunakannya.

Berikut adalah penjelasan dari command-command di atas:

locate <nama file> = Berfungsi untuk mencari lokasi dari sebuah file.


zip2john secret.zip > hash.txt = Berfungsi untuk merubah secret.zip ke dalam sebuah format yang dikenali oleh JTR dan kemudian hasilnya akan disimpan dalam sebuah file bernama hash.txt

3. Jika kita sudah mendapatkan file yang dikenali oleh JTR, maka kita dapat langsung melakukan serangan Dictionary Attack pada zip file tersebut. Namun, kita memerlukan satu hal lagi yaitu wordlist. Wordlist dibutuhkan sebagai daftar password yang akan kita gunakan pada metode serangan Dictionary Attack. Pada kasus ini, kita akan mencoba menggunakan “rockyou.txt”, sebuah wordlist yang berisi kumpulan password-password yang umum digunakan. Apabila kita menggunakan OS Kali Linux, maka “rockyou.txt” juga merupakan script bawaan.

*FYI: rockyou.txt berisi 14,341,564 password unik yang pernah digunakan di 32,603,388 akun. 

Untuk kalian yang penasaran tentang isi dari “rockyou.txt”, berikut adalah sedikit screenshot tentang isi dari “rockyou.txt”.

4. Karena kita sudah mengetahui wordlist yang ingin kita gunakan, maka kita bisa langsung menggunakan JTR untuk melakukan serangan Dictionary Attack. Kita dapat langsung mengetikan “john” untuk menggunakan JTR kemudian dilanjutkan dengan nama file hasil dari “zip2john”. Kemudian, karena kita menggunakan Dictionary Attack maka penggunaan flag “–wordlist” dibutuhkan untuk menggunakan wordlist yang sudah kita sediakan sebelumnya. Jika digabungkan, maka command-nya akan menjadi seperti ini.

5. Apabila sudah dijalankan, maka kita bisa melihat password yang sudah di-crack oleh JTR. Jika JTR menemukan password yang dimaksud maka kita dapat melihatnya pada bagian yang kami berikan kotak merah atau menggunakan flag “-show” lalu dilanjutkan dengan file hasil dari “zip2john”.

Dengan begitu kita berhasil memecahkan password dari zip tersebut dan ternyata password-nya adalah “password123”. Kita juga bisa menarik kesimpulan bahwa password tersebut mudah ditemukan dikarenakan password tersebut pendek dan tidak unik sehingga password seperti itu dapat dengan mudah ditemukan pada wordlist “rockyou.txt” yang kita pakai tadi. 

Dari skenario tersebut, kita mengetahui bahwa password yang pendek dan tidak unik akan dengan mudah di-crack oleh orang lain. Maka dari itu kita perlu membuat password yang kuat agar tidak mudah dicrack dan lebih aman. Berikut adalah beberapa tips dalam membuat password yang aman.

  • Usahakan panjang password sepanjang 15 karakter atau lebih.
  • Gunakan kombinasi karakter yang unik berupa gabungan huruf besar, huruf kecil, ataupun simbol-simbol unik lainnya.
  • Jangan menggunakan password yang sama berulang kali.
  • Jangan jadikan identitas anda seperti nama, tanggal lahir, dll. Sebagai password.
  • Disarankan menggunakan fitur random password generator dan password manager untuk password yang aman tanpa takut lupa.

Untuk informasi yang lebih lengkap mengenai keamanan password dan juga tips-tips bagaimana cara untuk membuat password yang lebih aman, kalian bisa langsung saja membaca artikel yang telah kami buat sebelumnya agar bisa lebih paham tentang hal tersebut. Berikut adalah link mengenai artikel tersebut: https://student-activity.binus.ac.id/csc/2021/03/cara-membuat-password-yang-aman/ 

Referensi:

https://www.csoonline.com/article/3564153/john-the-ripper-explained-an-essential-password-cracker-for-your-hacker-toolkit.html

Nuel Siahaan & Delbert Giovanni Lie