Apa Itu Hashcat dan Kenapa Tool Ini Penting?
Ketika membahas keamanan siber, salah satu tool yang paling sering disebut namun juga paling sering disalahpahami adalah Hashcat. Bagi pemula, nama ini mungkin terdengar seperti “senjata hacker,” padahal Hashcat sebenarnya adalah tool password recovery—alat yang dirancang untuk menguji kekuatan password dengan cara melakukan cracking terhadap hash-nya.
Menurut Dimas Prasetyo, seorang penetration tester dengan 8 tahun pengalaman di industri keamanan Indonesia dan anggota komunitas OWASP Jakarta, “Hashcat adalah gold standard untuk password auditing. Di tangan auditor keamanan yang bertanggung jawab, Hashcat membantu organisasi menemukan password lemah di sistem mereka sebelum penyerang menemukannya lebih dulu.” Dalam praktiknya, Dimas pernah menggunakan Hashcat untuk mengaudit 500.000 hash password dari sebuah perusahaan e-commerce lokal. “Hasilnya mengejutkan—23% password berhasil dipecahkan dalam waktu kurang dari 3 jam menggunakan dictionary attack sederhana,” jelasnya.
Hashcat diklaim sebagai password cracker tercepat di dunia. Tool ini memanfaatkan kekuatan GPU (Graphics Processing Unit) untuk melakukan miliaran percobaan kombinasi password per detik, jauh melampaui kemampuan CPU biasa. Dirilis pertama kali pada tahun 2009 oleh atom, Hashcat kini menjadi open-source dan didukung komunitas global yang aktif mengembangkan fitur-fiturnya.
Bagaimana Password Disimpan? Memahami Hash Function Sebelum Menggunakan Hashcat
Sebelum belajar Hashcat, kamu harus paham dulu konsep dasarnya: bagaimana password disimpan di server. Situs web atau aplikasi yang bertanggung jawab TIDAK menyimpan password kamu dalam bentuk teks biasa (plaintext). Sebaliknya, mereka menyimpan hasil dari fungsi hash—sebuah operasi matematika satu arah yang mengubah teks apa pun menjadi string acak dengan panjang tetap.
Contoh sederhana: password “password123” ketika di-hash dengan algoritma MD5 akan menghasilkan 482c811da5d5b4bc6d497ffa98491e38. Perhatikan bahwa hash ini selalu sama untuk input yang sama, tapi tidak bisa “dibalikkan” ke teks aslinya. Inilah kenapa fungsi hash disebut one-way function—kamu bisa menghitung hash dari teks, tapi tidak bisa menghitung teks dari hash.
Lalu bagaimana Hashcat bekerja? Hashcat mencoba setiap kemungkinan password, menghitung hash dari masing-masing, lalu membandingkan hasilnya dengan hash target. Jika cocok, berarti password berhasil ditemukan. Metode ini disebut brute-force, dan karena Hashcat berjalan di GPU yang memiliki ribuan core paralel, proses ini bisa berlangsung sangat cepat.
Beberapa algoritma hash yang umum digunakan untuk menyimpan password:
| Algoritma | Kode Hashcat (-m) | Tingkat Keamanan |
|---|---|---|
| MD5 | 0 | ⚠️ Sangat Lemah |
| SHA1 | 100 | ⚠️ Lemah |
| SHA256 | 1400 | ⚠️ Lemah |
| NTLM | 1000 | ⚠️ Lemah |
| WPA/WPA2 | 2500 | ⚡ Sedang |
| bcrypt | 3200 | ✅ Kuat |
| SHA512crypt | 1800 | ✅ Kuat |
Cara Install Hashcat di Linux (Kali Linux / Ubuntu)
Hashcat biasanya sudah pre-installed di Kali Linux. Tapi kalau belum ada atau kamu pakai Ubuntu/Debian, instalasinya sangat mudah. Hashcat modern membutuhkan driver GPU yang tepat—OpenCL untuk AMD, CUDA untuk NVIDIA, atau bisa juga jalan di CPU untuk belajar.
Langkah 1: Install Hashcat via Package Manager
# Update repository dulu
sudo apt update
# Install hashcat
sudo apt install hashcat -y
# Cek versi setelah install
hashcat --version
Langkah 2: Cek Ketersediaan GPU
Kalau kamu punya GPU NVIDIA atau AMD, instal driver yang sesuai. Untuk mengecek apakah GPU terdeteksi:
# Cek GPU yang tersedia
hashcat -I
# Output akan menampilkan device GPU yang terdeteksi
# Kalau tidak ada GPU, Hashcat tetap bisa jalan di CPU
# Gunakan flag --force jika pakai CPU untuk belajar
Langkah 3: Install Driver NVIDIA (Opsional — untuk performa maksimal)
# Install CUDA toolkit untuk GPU NVIDIA
sudo apt install nvidia-cuda-toolkit -y
# Verifikasi CUDA terinstall
nvidia-smi
Memahami Parameter Dasar Hashcat yang Wajib Dikuasai
Struktur perintah Hashcat secara umum:
hashcat -m [TIPE_HASH] -a [MODE_SERANGAN] [FILE_HASH] [WORDLIST/RULES]
Dua parameter paling krusial adalah -m (hash type) dan -a (attack mode). Memahami keduanya adalah kunci untuk menggunakan Hashcat dengan efektif.
Hash Type (-m): Tentukan Jenis Hash Target
Hashcat mendukung lebih dari 300 jenis hash. Kamu harus memberi tahu Hashcat jenis hash apa yang ingin di-crack melalui parameter -m. Contoh:
-m 0= MD5-m 100= SHA1-m 1000= NTLM (sering digunakan di Windows)-m 1400= SHA256-m 2500= WPA/WPA2 handshake-m 3200= bcrypt
Untuk melihat daftar lengkap tipe hash yang didukung:
hashcat --help | grep -A 5 "Hash modes"
Attack Mode (-a): Strategi Mencari Password
Hashcat menyediakan beberapa mode serangan yang masing-masing punya kelebihan dan kekurangannya sendiri. Pilihan mode yang tepat bisa membedakan antara cracking yang selesai dalam hitungan detik versus ribuan tahun.
| Mode | -a | Cara Kerja | Kapan Digunakan |
|---|---|---|---|
| Straight | 0 | Mencoba setiap kata dari wordlist satu per satu | Saat punya wordlist yang bagus |
| Combination | 1 | Menggabungkan dua kata dari wordlist | Saat password adalah gabungan dua kata |
| Brute-force | 3 | Mencoba semua kombinasi karakter | Password pendek atau tidak ada pola |
| Hybrid Wordlist + Mask | 6 | Wordlist + tambahan karakter di depan/belakang | Password seperti “password123!” |
| Hybrid Mask + Wordlist | 7 | Kebalikan dari mode 6 | Password seperti “Admin2026” |
Praktik Langsung: 5 Contoh Penggunaan Hashcat untuk Pemula
Sekarang kita masuk ke bagian paling penting: praktik langsung. Berikut lima contoh penggunaan Hashcat dari yang paling sederhana sampai menengah. Semua contoh ini bisa kamu ikuti di Kali Linux.
Contoh 1: Dictionary Attack Sederhana — MD5 Hash
Ini adalah skenario paling dasar: kamu punya hash MD5 dan wordlist umum.
# 1. Buat file berisi hash MD5
echo "482c811da5d5b4bc6d497ffa98491e38" > target.hash
# 2. Gunakan wordlist rockyou.txt (ada di Kali Linux)
sudo gunzip /usr/share/wordlists/rockyou.txt.gz 2>/dev/null
# 3. Jalankan dictionary attack
hashcat -m 0 -a 0 target.hash /usr/share/wordlists/rockyou.txt
# Jika berhasil, Hashcat akan menampilkan:
# 482c811da5d5b4bc6d497ffa98491e38:password123
Contoh 2: Brute-Force Attack — Password Pendek (4-6 Karakter)
Untuk password pendek yang hanya terdiri dari angka, brute-force adalah pilihan terbaik.
# Cracking password numerik 4 digit (contoh: PIN)
hashcat -m 0 -a 3 target.hash ?d?d?d?d
# Penjelasan mask:
# ?d = digit (0-9)
# ?d?d?d?d = 4 digit = 10.000 kombinasi → selesai dalam hitungan detik
# Password 6 karakter alfanumerik lowercase
hashcat -m 0 -a 3 target.hash ?l?l?l?l?l?l
# ?l = lowercase letter (a-z)
# 6 karakter = 26^6 = 308 juta kombinasi → butuh waktu lebih lama
Hashcat menggunakan sistem mask untuk menentukan pola karakter dalam brute-force. Berikut karakter mask yang paling sering digunakan:
| Mask | Arti | Contoh Karakter |
|---|---|---|
| ?l | Huruf kecil (lowercase) | a-z |
| ?u | Huruf besar (uppercase) | A-Z |
| ?d | Digit/angka | 0-9 |
| ?s | Karakter spesial | !@#$%^&*() |
| ?a | Semua karakter di atas (?l?u?d?s) | a-z A-Z 0-9 simbol |
Contoh 3: Hybrid Attack — Password dengan Pola Umum
Banyak orang menggunakan pola seperti “namadepan123” atau “password2026!”. Ini cocok untuk hybrid attack.
# Attack mode -a 6: wordlist + mask di depan atau belakang
# Mencoba: password1, password2, ..., password99 (bukan di wordlist)
# Buat file rules sederhana
echo ':' > append_digit.rule # aturan dasarnya
echo '$?d' >> append_digit.rule # tambah 1 digit di akhir
# Jalankan dengan rules
hashcat -m 0 -a 0 -r append_digit.rule target.hash /usr/share/wordlists/rockyou.txt
Contoh 4: Cracking Hash NTLM Windows
Hash NTLM adalah format yang digunakan Windows untuk menyimpan password. Ini adalah skenario yang sangat umum di penetration testing.
# Hash NTLM contoh: 21232f297a57a5a743894a0e4a801fc3
echo "21232f297a57a5a743894a0e4a801fc3" > ntlm.hash
# Dictionary attack dengan rules "best64"
hashcat -m 1000 -a 0 -r /usr/share/hashcat/rules/best64.rule \
ntlm.hash /usr/share/wordlists/rockyou.txt
# Kalau gagal, coba brute-force dengan mask
hashcat -m 1000 -a 3 ntlm.hash ?a?a?a?a?a?a?a?a --increment --increment-min=1
Contoh 5: Cracking WPA/WPA2 WiFi Handshake
Salah satu penggunaan Hashcat yang paling populer adalah cracking password WiFi WPA/WPA2. Kamu perlu menangkap handshake dulu menggunakan aircrack-ng, lalu file .cap tersebut dikonversi ke format .hccapx untuk Hashcat.
# 1. Konversi .cap ke format hashcat
# (asumsi file handshake sudah ada: wifi_handshake.cap)
hcxpcapngtool wifi_handshake.cap -o wifi.hccapx
# 2. Cracking dengan wordlist
hashcat -m 22000 -a 0 wifi.hccapx /usr/share/wordlists/rockyou.txt
# 3. Kalau wordlist gagal, gunakan brute-force dengan mask 10 digit
hashcat -m 22000 -a 3 wifi.hccapx ?d?d?d?d?d?d?d?d?d?d
Tips Meningkatkan Kecepatan Cracking dengan Hashcat
Kecepatan cracking bisa sangat bervariasi tergantung hardware, tipe hash, dan strategi yang digunakan. Berikut tips yang bisa kamu terapkan untuk mendapatkan hasil maksimal:
- Gunakan GPU, bukan CPU — GPU NVIDIA modern (RTX 3060 ke atas) bisa melakukan 10-20 miliar hash MD5 per detik. CPU hanya bisa beberapa ratus juta. Perbedaannya bisa 100x lipat.
- Optimalkan workload GPU — Gunakan parameter
-w 4(high workload profile) dan-O(optimized kernel) untuk GPU. Tapi hati-hati, komputer bisa lag saat cracking berjalan. - Pakai wordlist yang terurut berdasarkan popularitas — rockyou.txt adalah wordlist legendaris yang berisi 14 juta password bocor dari berbagai kebocoran data. Password yang paling sering digunakan muncul di urutan awal, jadi Hashcat akan menemukannya lebih cepat.
- Gunakan rules untuk memperluas wordlist — File
best64.ruledandive.ruledi/usr/share/hashcat/rules/bisa mengubah setiap kata di wordlist menjadi puluhan variasi (misalnya “password” → “Password”, “p@ssword”, “password123”). - Mulai dari yang paling mungkin — Dalam penetration testing, selalu mulai dari dictionary attack dengan rules sebelum brute-force. Pola umum seperti “Perusahaan2026!” atau “Admin123” lebih mungkin dipakai dibanding string acak 12 karakter.
- Pantau suhu GPU — Cracking yang intens bisa membuat GPU panas dan throttle. Gunakan
nvidia-smiuntuk memantau suhu. Pertimbangkan menurunkan workload ke-w 2atau-w 1kalau suhu di atas 80°C.
Berdasarkan laporan BSSN (Badan Siber dan Sandi Negara) tahun 2026, 67% insiden keamanan di Indonesia melibatkan kredensial yang lemah atau bocor. “Kebanyakan organisasi masih mengandalkan password sederhana seperti ‘admin123’ atau nama departemen dengan angka di belakangnya,” kata Kepala BSSN dalam laporan tahunan mereka. Audit rutin menggunakan tool seperti Hashcat bisa mencegah banyak insiden ini sebelum terjadi.
Etika dan Legalitas: Kapan Hashcat Boleh dan Tidak Boleh Digunakan?
Ini adalah bagian yang TIDAK BOLEH dilewatkan, terutama untuk pemula. Hashcat adalah tool yang sangat kuat, dan seperti semua tool keamanan, penggunaannya harus bertanggung jawab.
✅ Kapan Hashcat BOLEH Digunakan
- Mengaudit keamanan sistem milik sendiri — Mengecek apakah password di server atau database kamu cukup kuat
- Penetration testing resmi — Dengan izin tertulis dari pemilik sistem yang diuji
- Belajar dan latihan — Menggunakan hash yang kamu buat sendiri atau dari platform CTF legal seperti HackTheBox atau TryHackMe
- Recover password pribadi — Membuka file atau akun milik sendiri yang passwordnya terlupa
- Kompetisi CTF (Capture The Flag) — Di mana cracking password adalah bagian dari tantangan yang sudah disetujui
❌ Kapan Hashcat TIDAK BOLEH Digunakan
- Mencoba membobol akun orang lain — Tanpa izin, ini adalah tindakan ilegal berdasarkan UU ITE Pasal 30
- Cracking password WiFi tetangga — Akses jaringan tanpa izin adalah pelanggaran hukum
- Mengaudit sistem perusahaan tanpa otorisasi — Bahkan dengan niat baik sekalipun, kamu harus punya kontrak resmi
- Meng-crack hash dari kebocoran data publik — Memproses data hasil kebocoran bisa melanggar UU Perlindungan Data Pribadi (PDP) tahun 2022
Dimas Prasetyo menambahkan, “Di dunia penetration testing profesional, kami selalu bekerja dalam scope yang sudah disepakati. Bahkan saat mengaudit password, kami wajib merahasiakan password yang berhasil di-crack dan hanya melaporkan statistik kepada klien. Etika adalah fondasi yang membedakan white hat dari black hat.”
Pertanyaan yang Sering Diajukan (FAQ)
Apakah Hashcat bisa dipakai di Windows?
Ya. Hashcat tersedia untuk Windows, Linux, dan macOS. Download dari situs resmi hashcat.net. Namun performa terbaik ada di Linux dengan GPU NVIDIA.
Berapa lama waktu yang dibutuhkan untuk crack password?
Sangat bervariasi. Password 8 karakter alfanumerik lowercase dengan hash MD5 bisa dipecahkan GPU modern dalam waktu beberapa jam. Password 12 karakter dengan bcrypt bisa memakan waktu ratusan tahun. Gunakan kalkulator estimasi seperti hashcat --keyspace untuk menghitung total kombinasi yang perlu dicoba.
Apa bedanya Hashcat dengan John the Ripper?
Keduanya adalah password cracker. Perbedaan utama: Hashcat fokus ke GPU dan multi-platform (Windows, Linux, macOS), sedangkan John the Ripper dirancang untuk CPU dulu dan kemudian ditambahkan dukungan GPU. Hashcat umumnya lebih cepat di GPU dan mendukung lebih banyak tipe hash modern.
Apakah saya bisa crack password sendiri tanpa GPU?
Bisa. Hashcat bisa berjalan di CPU dengan flag -D 1 (pilih device CPU) atau --force. Tapi kecepatannya jauh lebih lambat—sekitar 50-100x lebih lambat dibanding GPU. Untuk belajar, ini cukup. Untuk pekerjaan profesional, GPU adalah kebutuhan.
Bagaimana cara tahu tipe hash yang sedang saya hadapi?
Gunakan tool seperti hashid (sudah terinstall di Kali Linux) atau hash-identifier. Tool ini akan menebak jenis hash berdasarkan panjang dan formatnya.
# Contoh penggunaan hashid
hashid 482c811da5d5b4bc6d497ffa98491e38
# Output akan menampilkan kemungkinan: MD5, MD4, NTLM, dll.
Kesimpulan
Hashcat adalah salah satu tool paling fundamental di dunia keamanan siber—setara dengan Nmap, Wireshark, dan Metasploit. Memahami cara kerjanya bukan hanya tentang “menjadi hacker,” tapi tentang memahami bagaimana password sesungguhnya bekerja dan bagaimana melindunginya. Di tangan auditor keamanan yang etis, Hashcat menyelamatkan organisasi dari kebocoran data. Di tangan yang salah, ia bisa menjadi senjata perusak.
Mulailah dengan contoh-contoh dasar di artikel ini. Gunakan hash yang kamu buat sendiri untuk latihan. Pelajari mask, rules, dan berbagai attack mode satu per satu. Dan yang terpenting—selalu gunakan Hashcat secara etis dan legal.
Password yang kuat adalah pertahanan pertama kita. Dengan memahami cara menyerang password, kamu akan jauh lebih paham bagaimana cara mempertahankannya.