Bagi Anda yang belum mendengar tentang John the Ripper (dengan ini disebut John for brevity), ini adalah alat peretas kata sandi gratis yang sebagian besar ditulis dalam C. Sebelum melangkah lebih jauh, kami harus memberi tahu Anda bahwa meskipun kami mempercayai pembaca kami, kami tidak menganjurkan atau memaafkan aktivitas jahat apa pun yang dapat dilakukan dengan menggunakan alat ini atau alat lain yang telah kita bicarakan sebelumnya. Alat yang berhubungan dengan keamanan seringkali seperti pedang bermata dua, karena dapat digunakan untuk hal yang baik tetapi juga untuk hal-hal buruk. Jadi, meskipun kedengarannya menggoda, kami menyarankan Anda untuk menahan diri dari kegiatan yang merusak, jika tidak untuk hal lain, hanya karena Anda memiliki peluang besar untuk mendarat di sel penjara.Artikel ini akan membahas tentang John dari sudut pandang administrator sistem, jadi kami berharap Anda memiliki pengetahuan menengah tentang sistem Linux Anda, distribusi apa pun yang mungkin, dan bahwa Anda adalah orang yang sadar akan keamanan dengan pengetahuan keamanan dasar. Namun, artikel ini mungkin menarik bagi Anda juga jika Anda adalah pengguna rumahan yang ingin belajar tentang hal-hal seperti ini, tetapi berhati-hatilah: beberapa perintah yang disajikan di bawah ini akan meminta banyak waktu CPU Anda, jadi mungkin akan lebih baik jika Anda memiliki mesin uji dan / atau banyak waktu dan kesabaran, karena upaya pemecahan kata sandi dapat memakan waktu berhari-hari, bahkan pada mesin yang relatif baru. Seperti biasa, silakan merujuk ke Forum Linux baru kami untuk bantuan atau informasi tambahan.
Menginstal John
Walaupun, setidaknya pada distribusi yang kami coba, paket dengan nama "john" dengan Gentoo membuat pengecualian dan menamakannya "johntheripper", kami akan memudahkan Anda dan menunjukkan kepada Anda cara menginstalnya pada beberapa distribusi yang dikenal.
Debian
Debian berbeda dari distribusi lain yang menawarkan John dalam repositori mereka karena ia menawarkan halaman buku panduan yang bagus, walaupun hulu tidak memilikinya. Untuk menginstal, cukup ketik
# aptitude install john
Di Fedora, itu juga sesederhana melakukan
# yum instal john
Arch Linux
# pacman -S john
OpenSuse Linux
# zypper instal john
Gentoo
Seperti yang kami katakan, paket Gentoo dinamai berbeda dari yang ditawarkan orang lain, jadi di sini Anda harus menjalankan
# emerge johntheripper
Slackware
Walaupun sepertinya tidak ada paket john di repositori resmi, ada slackbuild yang membuat John diinstal pada sistem Anda (ini diuji pada Slackware 13.37).
Meskipun kami memberi Anda beberapa contoh tentang bagaimana Anda bisa mendapatkan John di sistem Linux Anda, banyak contoh yang disajikan akan berjalan jika Anda memiliki OS lain yang diinstal: selain kode sumber, proyek ini menawarkan program untuk BeOS, Microsoft Windows, Solaris atau MacOS X. Tetapi untuk artikel kami, seperti judulnya, kami menguji contoh di Linux.
Menggunakan John the Ripper
Anda tidak perlu khawatir tentang file-file konfigurasi cryptic, karena John siap digunakan dengan flag-command-line yang sesuai tanpa usaha lain dari Anda. Namun, satu kata peringatan: seperti yang sudah Anda perhatikan, kami memberi tahu pembaca kami kapan mereka harus menggunakan hak akses root dan kapan seharusnya tidak. Kecuali ketika dicatat, Anda sangat disarankan untuk menggunakan pengguna sehari-hari normal Anda (atau yang lain, jika Anda mau, tetapi seharusnya tidak memiliki hak pengguna super). Pada sistem Debian saya, John tersedia sebagai / usr / sbin / john, jadi jika Anda tidak menemukannya, kami sarankan Anda menggunakan whereis dan mengetik seluruh path ketika menjalankan john unprivileged (atau Anda cukup membuat alias).
$ / usr / sbin / john --test
untuk melakukan beberapa tes dan tolok ukur pada kemampuan John. Jika Anda tidak tahu apa itu Kerberos, MD5, DES atau Blowfish, kami sarankan Anda mulai membaca beberapa buku keamanan dasar, karena, seperti yang kami katakan sebelumnya, Anda memerlukan latar belakang keamanan / administrasi. Sekarang, mari kita buat file teks dalam format kata sandi (<user>: <hash>) dengan hash yang valid, tentu saja, dan buat John berfungsi. Anda cukup menyalin pengguna dari / etc / shadow, tetapi kami menyarankan sesuatu yang lebih sederhana, karena kami menganggap Anda ingin melihat hasilnya secepat mungkin. Jadi buat file bernama password.txt di suatu tempat di dalam / home Anda dan letakkan ini di dalamnya:
myuser: AZl.zWwxIh15Q
Simpan file, lalu cukup berikan kepada John tanpa argumen (untuk saat ini):
$ / usr / sbin / john password.txt
Kami harus mengulangi peringatan kami: peretas kata sandi adalah proses yang intensif-CPU dan panjang, jadi tergantung pada sistem Anda, mungkin butuh waktu cukup lama. Namun, ini juga tergantung pada apa yang ingin Anda capai, karena jika CPU Anda yang kuat telah berderak pada kata sandi selama berhari-hari tanpa hasil, hanya aman untuk mengatakan bahwa itu adalah kata sandi yang baik. Tetapi jika kata sandi benar-benar kritis, biarkan sistem sampai John menyelesaikan tugasnya untuk memastikan semuanya baik-baik saja. Seperti yang kami katakan sebelumnya, ini bisa memakan waktu berhari-hari.
Sekarang, jika Anda memiliki kotak yang kuat dengan satu-satunya tujuan menguji kata sandi, yang selalu merupakan hal yang baik, berarti Anda dapat mencoba kata sandi kehidupan nyata Anda dengan John. Salah satu caranya adalah dengan menggunakan / etc / shadow secara langsung, tetapi kami menyarankan Anda mengikuti kursus yang agak berbeda. Perhatikan bahwa ini berlaku untuk sistem yang menggunakan kata sandi bayangan, dan semua distribusi Linux modern melakukannya. John menawarkan utilitas bagus yang disebut unshadow, yang akan kita gunakan untuk membuat file dari file passwd dan shadow kita:
# unshadow / etc / passwd / etc / shadow> mypasswd.txt
Sekarang pastikan mypasswd.txt tersedia untuk pengguna normal Anda dan lakukan
$ / usr / sbin / john mypasswd.txt
John akan mencoba single crack mode terlebih dahulu, lalu mode daftar kata, lalu incremental. Dalam istilah John, mode adalah metode yang digunakannya untuk memecahkan kata sandi. Seperti yang Anda tahu, ada banyak jenis serangan: serangan kamus, serangan brute force, dan sebagainya. Nah, ini kira-kira seperti apa mode John. Seperti yang mungkin Anda sadari, mode daftar kata pada dasarnya adalah serangan kamus. Selain ketiga mode yang disebutkan di atas, John juga mendukung satu lagi yang disebut mode eksternal. Anda dapat memilih mode apa yang akan digunakan, misalnya, --single, --external dan sebagainya. Kami menyarankan Anda memeriksa dokumentasi di openwall.com untuk deskripsi yang baik tetapi singkat dari setiap mode. Tapi tentu saja kami akan memberi tahu Anda, singkatnya, apa yang dilakukan setiap mode.
Dokumentasi John the Ripper merekomendasikan dimulai dengan mode crack tunggal, sebagian besar karena lebih cepat dan bahkan lebih cepat jika Anda menggunakan beberapa file kata sandi sekaligus. Mode inkremental adalah mode paling kuat yang tersedia, karena akan mencoba berbagai kombinasi saat cracking, dan Anda dapat memilih mode apa (mode yang diterapkan pada opsi tambahan) untuk digunakan, termasuk milik Anda. Mode eksternal, seperti namanya, akan menggunakan fungsi kustom yang Anda tulis sendiri, sedangkan mode daftar kata mengambil daftar kata yang ditentukan sebagai argumen ke opsi (itu bisa berupa file dengan daftar kata yang ditulis satu per baris, atau stdin) dan mencoba serangan kamus sederhana pada kata sandi.
Jika John berhasil memecahkan salah satu kata sandi, itu akan menulis ke ~ / .john / john.pot. Namun, file itu tidak dapat dibaca oleh manusia, jadi Anda dapat membaca kata sandi yang retak
$ / usr / sbin / john --show mypasswd.txt
Untuk memeriksa apakah kata sandi root retak, filter dengan UID:
$ / usr / sbin / john --show --users = 0 mypasswd.txt
Tentu saja, John tahu tentang wildcard dan banyak file:
$ / usr / sbin / john --show --users = 0 * passwd *
Seperti halnya Anda dapat memfilter menurut pengguna, Anda juga dapat memfilter menurut grup, dengan menggunakan flag --groups, dan pemfilteran juga tersedia saat cracking. Pergi lebih jauh ke mode daftar kata, inilah cara Anda dapat menggunakannya dengan aturan pengaturan bawaan yang diaktifkan:
$ / usr / sbin / john --wordlist = passwd.lst --rules passwd.txt
John juga memungkinkan Anda untuk membuat beberapa sesi bernama, yang praktis, karena karena John dapat mengambil banyak waktu untuk menyelesaikan tugas, Anda kemudian dapat melihat semua sesi berjalan untuk memutuskan mana yang akan dibunuh. Opsi untuk sesi yang diberi nama adalah --session = taskname dan Anda dapat menggunakan --status atau --status = taskname untuk melihat semua atau sesi tertentu. Tapi ada lagi: Anda bisa mengembalikan sesi atau yang khusus dengan nama menggunakan --restore atau --restore = taskname. Beberapa contoh:
$ / usr / sbin / john --session = allrules --wordlist = all.lst --rules mypasswd.txt
$ / usr / sbin / john --status = allrules
$ ps aux | grep john # dapatkan PID dari sesi john yang ingin kamu bunuh
$ kill HUP $ PID_of_john_session_to_kill
$ / usr / sbin / john --restore = allrules
Berikut ini beberapa contoh penggunaan mode tambahan dengan John:
$ / usr / sbin / john --incremental mypasswd.txt
$ / usr / sbin / john --incremental = alpha mypasswd.txt
Tentu saja, ini bukan pengganti dokumentasi John. Meskipun, seperti yang kami katakan, itu tidak menawarkan halaman manual, Anda akan menemukan banyak dokumentasi di halaman 'nya, serta wiki yang berguna. Misalnya, Anda akan melihat bahwa meskipun Anda menjalankan John pada mesin multiprosesor, ia hanya akan menggunakan satu inti, biasanya yang pertama. Anda dapat mengatasi masalah ini dengan membaca dokumentasi dan mengikuti instruksi di sana.
Kesimpulan
Kami merasa mungkin lebih baik mengakhiri artikel ini dengan sedikit kata tentang etika. Meskipun ini mungkin bukan kasus Anda, ada beberapa orang yang telah melihat Hacker terlalu sering dan menganggap cracking (bukan peretasan) sebagai aktivitas yang keren. Kami hanya menyarankan Anda mencoba dan menggunakan pengetahuan Anda untuk kebaikan, bukan untuk sesuatu yang memiliki 99,8% gagal dan membuat Anda mendapatkan catatan kriminal yang bagus. Selamat bersenang-senang
.