1 Cain and Abel
Cain & Abel adalah alat recovery password untuk Sistem Operasi Microsoft. Memungkinkan cracking password terenkripsi menggunakan Dictionary-Attack, Brute-Force Attack dan serangan kriptanalisis, merekam percakapan VoIP, decoding password teracak, memulihkan kunci jaringan wireless, mengungkap password cache dan menganalisis routing protokol. Program ini tidak memanfaatkan kerentanan perangkat lunak atau bug yang tidak dapat diperbaiki. Ini mencakup beberapa aspek keamanan atau kelemahan yang ada dalam protokol standar, metode otentikasi dan mekanisme caching. Tujuan utamanya adalah pemulihan password dan kredensial dari berbagai sumber. 

2 Brutus

Brutus adalah jenis password cracker yang bekerja secara online, mencoba membobol telnet, POP3, FTP, HTTP, RAS atau IMAP dengan hanya mencoba untuk login sebagai pengguna yang sah. Brutus dapat berjalan dalam modus single user yaitu mencoba masuk ke akun pengguna tunggal dengan mencoba kombinasi password yang berbeda atau dengan mencoba daftar kombinasi user atau  password dari file word (dictionary). Aplikasi akan memindai host untuk layanan yang dikenal dan dapat dengan mudah dimodifikasi untuk break-in layanan kustom lain yang membutuhkan logon interaktif dari sebuah username dan password. 

3 Hydra

Hydra adalah sebuah software yang dikembangkan oleh sebuah organisasi bernama "The Hacker's Choice" (THC) yang menggunakan brute force dan dictionary attack untuk menguji  password yang lemah atau password sederhana. Ia dirancang sebagai bukti untuk menunjukkan kemudahan cracking password karena password yang dipilih buruk. Proyek ini mendukung berbagai layanan dan protokol: AFP, TELNET, FTP, HTTP, HTTPS, SMB, MS-SQL, MySQL, REXEC, RSH, rlogin, CVS, SNMP, SOCKS5, VNC, POP3, IMAP, NNTP, NCP, PCNFS, ICQ, Cisco dan lain-lain.. 

4 RainbowCrack

RainbowCrack menggunakan metode rainbow table untuk memecahkan enkripsi password. RainbowCrack memecahakn berbagai jenis enkripsi, diantaranya LM, NTLM, MD5, SHA-1.  Cracking password dengan mengunakan metode ini memakan waktu lama untuk meng-generate rainbow table-nya, tetapi jika telah digenerate metode ini akan sangat efektif, dan membutuhkan waktu lebih singkat jika dibandingkan dengan software yang meggunakan metode brute force atau dictionary attack.

5 John The Ripper

John the Ripper merupakan password cracking perangkat lunak gratis yang menggunakan metode Brute force attack dan dictionary attack. Awalnya dikembangkan untuk sistem operasi UNIX, tetapi saat ini tersedia juga untuk Linux, Mac dan Windows. Ini adalah salah satu program pengujian password dengan mengombinasikan sejumlah password cracker ke dalam satu paket, autodetects jenis hash password, dan memasukkan cracker yang dapat dimodifikasi. Hal ini dapat dijalankan dalam berbagai format enkripsi sperti Unix (DES, MD5, atau Blowfish), Kerberos AFS, dan Windows NT/2000/XP/2003, LM hash.

Rainbow table adalah lookup table yang digunakan untuk mendapatkan plain text dari password yang telah dirubah menggunakan fungsi hash. Rainbow table berawal dari ide Martin Edward Hellman pada tahun 1982. Kemudian dikembangkan oleh Philippe Oechslin dengan metode Faster Time Memory Trade Off pada tahun 2003. Pada penelitian yang dilakukan Philippe Oechslin, penggunaan rainbow table dapat mempersingkat waktu penyerangan terhadap Microsoft's LAN Manager passwords sampai 99,9%, yaitu dari 101 detik hanya menjadi 13,6 detik.

Cracking password menggunakan rainbow table tidak sesulit cracking dengan cara brute force. Rainbow table membuat pssword cracking lebih cepat dibandingkan dengan metode sebelumnya, seperti brute force attack dan dictionary attack. Berdasarkan pada software password cracking yang menggunakan metode rainbow table mampu memecahkan password 14 karakter alfanumerik sekitar 160 detik.

Rainbow table dibentuk oleh fungsi hash dan fungsi reduksi. Fungsi hash merubah plaintext enjadi hash, sedangkan fungsi reduksi merubah hash menjadi plain text. Tetapi, perlu diingat bahwa fungsi reduksi bukan merupakan kebalikan dari fungsi hash. Fungsi hash dan fungsi reduksi bersifat irreversible. Jadi, apabila kita merubah sebuah hash dengan menggunakan fungsi reduksi, maka plain text yang didapat bukanlah plain text aslinya, melainkan plain text lain.
Konsep dasar pambangunan rainbow table sebagai berikut
                                                Gambar 2
                Gambar 1

                                                                             Gambar 3

                                                                                       

      
Kererangan gambar :
Gambar 1
Pembentukan hash kode dari suatu plain text dengan menggunakan fungsi hash, misalnya MD5.

Gambar 2 
Setelah plain text dirubah menjadi hash, akan dibentuk suatu palin text dengan proses reduce. Reduce merupakan suatu fungsi yang akan mereduksi hash kode menurut algoritma tertentu,  fungsi reduksi ini bukan merupakan kebalikan dari fungsi hash, karena hash sendiri merupakan fungsi satu arah. Jadi ketika suatu pain text sudah di-generate hash kodenya, maka tidak bisa dikembalikan menjadi plain text dengan fungsi yang sama.

Gambar 3
Proses yang terjadi dalam pembangunan rainbow table adalah proses hashing dan reducing berulang dan nantinya yang  akan disimpan di dalam rainbow table hanya berupa start plain text sample dan hash kode terakhir yang di-generate.   
Sebagai contoh dari proses di atas disajikan dalam tabel berikut,

Starting Point
End Point
Makalah
kriptografi
Keamanan
informasi
Informatika
telematika

Untuk proses peretasan password dapat dapat dilakukan sebagai berikut,
Misal diketahui suatu  hash code f1e2d3c4 dan akan dicari plaintext-nya. Langkah pencarian tersebut dapat dilihat pada diagram di bawah ini,

 
Penjelasan gambar :
1. Dengan menggunakan fungsi reduksi terakhir hash code f1e2d3c4, diubah menjadi plaintext. Kemudian dicek apakah password hasil fungsi reduksi terdapat pada kolom endpoint pada tabel.
2. Jika langkah 1 gagal, artinya indonesia tidak terdapat pada tabel, maka dengan menggunakan dua fungsi reduksi terakhir dibuat rantai hash. Apabila tidak terdapat password pada tahap ini, dilakukan pembuatan rantai dengan menggunakan tiga reduksi, empat reduksi, dan seterusnya sampai password ditemukan. Jika tidak terdapat password pada rantai, maka password gagal didapat.
3. Jika langkah 2 berhasil (terdapat password pada rantai), maka password didapat dengan cara membentuk rantai dimulai dari starting point dari end point yang bersangkutan. Dalam contoh ini, starting point yang dimaksud adalah telematika.
4. Pada langkah ini, dimulai dari starting point, dalam  hal ini informatika, dibuat rantai. Pembuatan rantai dilakukan dengan cara membandingkan nilai hash dari starting point dengan nilai hash yang dimaksud (f1e2d3c4). Jika tidak sesuai, lakukan fungsi reduksi dari nilai hash ini. Begitu seterusnya sampai didapat nilai hash yang dimaksud. Password yang bersesuaian adalah password sebelum dilakukan hash sehingga menghasilkan nilai hash yang dimaksud. Dalam contoh ini password dari nilai hash code f1e2d3c4 adalah kuliah.

Tidak berbeda dengan metode-metode cracking password sebelumnya, metode rainbow table juga memiliki kelebihan dan kekurangan. Kelebihan dari metode ini adalah waktu yang dibutuhkan untuk meretas password relatif cepat, adapun kekurangannya antara lain, membutuhkan komputasi dan memori yang besar, ada kemungkinan terjadi looping (kembali ke start plaintext lagi), kemungkinan terdapat dua atau lebih plaintext atau hases yang berujung sama.