Apa Itu Alat Ini?
NTLM (NT LAN Manager) adalah protokol autentikasi challenge-response lawas milik Microsoft, yang hingga kini masih dipakai untuk login akun Windows lokal dan sebagai fallback di banyak lingkungan Active Directory. Verifier password-nya — yang biasa disebut "hash NTLM" — didefinisikan dalam spesifikasi protokol MS-NLMP milik Microsoft sendiri sebagai `MD4(UTF-16-LE(password))`: password terlebih dahulu di-encode sebagai UTF-16 little-endian (sehingga setiap karakter menjadi 2 byte, berbeda dari UTF-8), lalu urutan byte tersebut di-hash sekali dengan algoritma MD4 dari RFC 1320.
Langkah UTF-16LE inilah detail yang paling sering salah ketika orang mengimplementasikan ulang NTLM: meng-hash byte UTF-8 dari sebuah string alih-alih byte UTF-16LE-nya menghasilkan digest yang sama sekali berbeda dan salah, meskipun teks yang terlihat identik. Alat ini melakukan encoding dengan benar, sehingga outputnya cocok dengan apa yang disimpan Windows sendiri dan apa yang diharapkan oleh tool seperti hashcat (mode 1000) dan Mimikatz.
Karena NTLM dibuat sebelum era desain password-hashing modern, NTLM tidak memiliki proteksi apa pun yang belakangan dirancang khusus untuk memperlambat cracking: tidak ada salt per pengguna, tidak ada work factor yang bisa dikonfigurasi, dan tidak ada iterasi yang disengaja. NTLM hanyalah satu kali pass MD4, yang membuatnya sangat cepat dihitung — sifat yang nyaman untuk kompatibilitas lawas tetapi bencana bagi ketahanan terhadap serangan brute-force dan kamus.
Mengapa Menggunakannya?
- Anda baru saja meng-export dump NTDS.dit dalam engagement pentest berizin dan perlu memverifikasi cepat apakah satu hash tertentu memang cocok dengan password kandidat sebelum melapor ke klien.
- Sedang menulis ulang parser MS-NLMP dalam bahasa pemrograman lain dan butuh referensi hash yang sudah pasti benar untuk membandingkan output kode Anda baris demi baris.
- Menyiapkan wordlist untuk latihan hashcat (`-m 1000`) di lab CTF milik sendiri dan perlu hash NTLM contoh yang valid untuk menguji command sebelum menjalankannya pada dataset sungguhan.
- Output Mimikatz terlihat mencurigakan selama audit kredensial red-team resmi, dan Anda ingin mencocokkan silang secara independen sebelum menyimpulkan ada anomali.
- 100% lokal: input Anda tidak pernah meninggalkan browser, sehingga aman digunakan bahkan untuk materi kredensial sensitif dalam asesmen yang berizin.
Cara Menggunakan
- Ketik password atau string yang ingin Anda hash ke dalam kotak input.
- Klik "Generate NTLM Hash".
- Baca hash NTLM heksadesimal 32 karakter (output huruf kapital aktif secara default, sesuai cara Windows dan sebagian besar cracking tool menampilkannya — hilangkan centang untuk huruf kecil).
- Klik "Copy" untuk menyalin hash ke clipboard Anda.
Contoh
Input
passwordOutput
8846F7EAEE8FB117AD06BDD830B7586CIni adalah test vector yang sudah terkenal dan bisa diverifikasi secara independen: hash NTLM dari string literal "password" selalu 8846F7EAEE8FB117AD06BDD830B7586C. Anda bisa mencocokkan output alat ini dengan implementasi NTLM lain mana pun yang benar.
NTLM vs password hashing modern
Tabel di bawah menunjukkan kenapa NTLM dianggap usang untuk melindungi sistem baru, meskipun NTLM masih tertanam dalam infrastruktur Windows dan Active Directory lawas.
| Properti | NTLM | bcrypt / scrypt / Argon2 |
|---|---|---|
| Primitif dasar | Satu kali pass MD4 | Hash lambat yang dirancang khusus dengan biaya yang bisa disetel |
| Salting | Tidak ada — password identik selalu menghasilkan hash identik | Salt acak unik per password |
| Iterasi / stretching | Tidak ada | Work factor yang bisa dikonfigurasi, bisa dinaikkan seiring waktu |
| Ketahanan brute-force | Sangat lemah — miliaran tebakan/detik pada GPU modern | Sengaja dibuat mahal per tebakan |
| Di mana masih ditemukan | Autentikasi Windows lawas, fallback Active Directory | Aplikasi baru, praktik terbaik saat ini |
Alat terkait
Jika Anda butuh hash kriptografis serbaguna alih-alih konstruksi MD4(UTF-16LE) yang khusus untuk NTLM, alat-alat ini mungkin lebih cocok.
→ Generator Hash Multi-Algoritma · Generator MD5 · Generator Password
Alur kerja verifikasi cepat
- Selalu mulai dengan menghitung hash dari test vector "password" dan bandingkan dengan 8846F7EAEE8FB117AD06BDD830B7586C sebelum mempercayai hasil pada data sungguhan.
- Kalau membandingkan dengan output hashcat mode 1000, pastikan case (huruf besar/kecil) hash sudah disamakan dulu — perbedaan case bisa membuat perbandingan string terlihat gagal padahal hash-nya identik.
- Untuk memverifikasi implementasi kode Anda sendiri, uji beberapa password dengan karakter non-ASCII juga (bukan cuma huruf latin polos) — di situlah bug encoding UTF-16LE paling sering muncul.
- Simpan hasil hash test vector di catatan pribadi sebagai referensi cepat kapan pun Anda perlu memvalidasi ulang tool atau library NTLM yang berbeda di masa depan.
Pertanyaan yang Sering Diajukan
Apa sebenarnya hash NTLM itu?
Ini adalah verifier password yang dihitung dan disimpan Windows untuk autentikasi NT LAN Manager, didefinisikan dalam spesifikasi MS-NLMP milik Microsoft sebagai MD4(UTF-16LE(password)) — satu kali pass MD4 atas encoding byte UTF-16 little-endian dari password. Selalu berukuran 128 bit, ditampilkan sebagai 32 karakter hex.
Kenapa harus UTF-16LE, bukan UTF-8 atau ASCII?
Windows sudah menyimpan teks secara internal sebagai UTF-16LE sejak NT dirancang, sehingga password juga di-encode dengan cara yang sama sebelum di-hash. Setiap karakter menjadi 2 byte (urutan byte little-endian), termasuk karakter ASCII biasa seperti 'a', yang menjadi 0x61 0x00, bukan sekadar 0x61. Meng-hash byte UTF-8 dari string yang sama menghasilkan hasil yang sama sekali berbeda dan salah — ini bug paling umum dalam implementasi NTLM yang dibuat dari nol.
Apakah NTLM masih aman dipakai saat ini?
Tidak, dan Microsoft sendiri merekomendasikan untuk beralih ke Kerberos jika memungkinkan. NTLM tidak memakai salt, sehingga password yang identik selalu menghasilkan hash yang identik di semua pengguna dan sistem, sehingga memungkinkan pencarian lewat rainbow table yang sudah dihitung sebelumnya. NTLM juga tidak punya iterasi atau work factor — hanya satu kali pass MD4 tanpa salt — sehingga GPU modern bisa mencoba miliaran tebakan per detik terhadap hash yang berhasil didapat. NTLM masih bertahan terutama demi kompatibilitas lawas dengan sistem dan aplikasi Windows yang lebih tua.
Apa bedanya NTLM dengan password hashing modern seperti bcrypt, scrypt, atau Argon2?
Password hasher modern sengaja dibuat lambat dan memakai salt: bcrypt, scrypt, dan Argon2 masing-masing menambahkan salt acak unik per password serta faktor biaya yang bisa disetel dan dinaikkan seiring waktu saat hardware makin cepat, khusus untuk membuat brute-force menjadi mahal bahkan dalam skala besar. NTLM tidak melakukan keduanya — ia dirancang di era sebelum brute-forcing offline menjadi ancaman yang praktis, dan itu terlihat jelas. Inilah tepatnya kenapa NTLM tidak boleh dipakai untuk melindungi apa pun yang dirancang hari ini; kegunaan nyata alat ini adalah kompatibilitas dengan infrastruktur Windows yang sudah ada dan pengujian keamanan yang berizin, bukan untuk membangun sistem baru.
Apa saja penggunaan sah dari generator hash NTLM?
Memverifikasi hash yang diambil dari database SAM atau NTDS.dit selama penetration test atau audit kredensial yang berizin; memeriksa apakah tooling atau script Anda sendiri mengimplementasikan MS-NLMP dengan benar; membuat hash uji untuk pengecekan kompatibilitas format hashcat (mode 1000) atau Mimikatz di lab yang Anda kendalikan; dan mengerjakan latihan CTF atau training yang secara eksplisit melibatkan NTLM. Menggunakan alat ini untuk menyerang akun atau sistem yang bukan milik Anda atau yang tidak Anda punya izin tertulis untuk menguji bukanlah penggunaan yang sah.
Apakah password atau input saya dikirim ke server?
Tidak. Perhitungan MD4 berjalan sepenuhnya dalam JavaScript di browser Anda — tidak ada API browser native untuk MD4, sehingga diimplementasikan langsung dalam kode client-side halaman ini, dan apa pun yang Anda ketik tidak pernah dikirim ke mana pun.
Kenapa hash NTLM yang saya hitung tidak cocok dengan hash yang ada di dump NTDS.dit?
Penyebab paling umum adalah encoding karakter yang salah pada implementasi lain (misalnya memakai UTF-8 alih-alih UTF-16LE) atau ada karakter tersembunyi (spasi tambahan, karakter Unicode non-standar) dalam password yang tidak terlihat langsung di layar. Coba hash string test vector "password" dulu — hasilnya harus persis 8846F7EAEE8FB117AD06BDD830B7586C — untuk memastikan tool Anda benar sebelum membandingkan hash yang sebenarnya.
Apakah alat ini bisa memecahkan (crack) hash NTLM, bukan cuma menghitungnya?
Tidak — ini murni kalkulator satu arah yang mengubah password menjadi hash, bukan sebaliknya. Untuk memecahkan hash NTLM yang sudah didapat (dengan izin yang sah), Anda memerlukan tool khusus cracking seperti hashcat atau John the Ripper yang mencoba banyak kandidat password dan membandingkan hash-nya.