CodeKitHub
Alat Pengekodan

NTLM Hash Generator

Kemas kini terakhir:

Hash NTLM dikira dengan mengekod input anda sebagai UTF-16LE (2 bait bagi setiap aksara, little-endian) dan kemudian menjalankannya melalui algoritma message-digest MD4 — operasi satu-laluan tanpa garam itu adalah keseluruhan skema hashing NTLM yang digunakan oleh Microsoft Windows sejak NT 4.0 untuk menyimpan pengesah kata laluan. Alat ini menjalankan pengiraan yang tepat itu secara tempatan dalam pelayar anda, sepenuhnya dalam JavaScript, jadi tiada apa yang anda taip pernah dihantar ke pelayan. Ia wujud untuk kerja keselamatan yang sah — mengesahkan eksport hash Active Directory, menyemak format output hashcat atau Mimikatz, atau menyelesaikan cabaran CTF dan makmal pentesting — bukan untuk menyerang akaun yang bukan milik anda atau yang anda tidak mempunyai kebenaran untuk menguji.

NTLM Hash

Apakah alat ini?

NTLM (NT LAN Manager) ialah protokol pengesahan cabaran-respons warisan Microsoft, yang masih digunakan hari ini untuk log masuk akaun Windows tempatan dan sebagai fallback dalam banyak persekitaran Active Directory. Pengesah kata laluannya — biasa dipanggil "hash NTLM" — ditakrifkan dalam spesifikasi protokol MS-NLMP milik Microsoft sendiri sebagai `MD4(UTF-16-LE(password))`: kata laluan mula-mula dikod sebagai UTF-16 little-endian (jadi setiap aksara menjadi 2 bait, tidak seperti UTF-8), dan urutan bait itu kemudian dihash sekali dengan algoritma MD4 daripada RFC 1320.

Langkah UTF-16LE adalah butiran yang paling kerap disalah oleh orang ramai apabila melaksanakan semula NTLM: hashing bait UTF-8 bagi sesuatu rentetan dan bukannya bait UTF-16LE-nya menghasilkan digest yang sama sekali berbeza dan salah, walaupun teks yang kelihatan sama. Alat ini mengekod dengan betul, jadi outputnya sepadan dengan apa yang Windows sendiri simpan dan apa yang alat seperti hashcat (mod 1000) dan Mimikatz jangkakan.

Oleh kerana NTLM wujud sebelum reka bentuk hashing kata laluan moden, ia tidak mempunyai sebarang perlindungan yang kemudiannya dibina khas untuk melambatkan pemecahan: tiada garam khusus pengguna, tiada faktor kerja yang boleh dikonfigurasi, dan tiada iterasi yang disengajakan. Ia adalah satu laluan MD4 sahaja, yang menjadikannya sangat pantas untuk dikira — sifat yang senang untuk keserasian warisan tetapi membawa bencana untuk menahan serangan brute-force dan kamus.

Kenapa guna alat ini?

  • Sahkan bahawa hash yang diekstrak daripada pangkalan data SAM Windows, dump NTDS.dit atau eksport Active Directory sepadan dengan nilai yang dijangka semasa pengujian keselamatan yang dibenarkan.
  • Sahkan pemahaman anda tentang algoritma MS-NLMP, atau semak hash yang dihasilkan oleh kod anda sendiri, berbanding pelaksanaan yang diketahui betul.
  • Jana hash NTLM untuk pengujian senarai perkataan hashcat (`-m 1000`) atau John the Ripper dalam persekitaran makmal atau CTF yang anda dibenarkan untuk menyerang.
  • Semak silang output Mimikatz atau alat pentesting lain semasa penglibatan pasukan merah atau audit kelayakan yang sah.
  • 100% tempatan: input anda tidak pernah meninggalkan pelayar, jadi selamat digunakan walaupun untuk bahan kelayakan sensitif dalam penilaian yang dibenarkan.

Cara menggunakannya

  1. Taip kata laluan atau rentetan yang anda mahu hash ke dalam kotak input.
  2. Klik "Generate NTLM Hash".
  3. Baca hash NTLM heksadesimal 32-aksara (output huruf besar dihidupkan secara lalai, sepadan dengan cara Windows dan kebanyakan alat pemecah paparkan ia — nyahtanda kotak untuk huruf kecil).
  4. Klik "Copy" untuk menyalin hash ke papan klip anda.

Contoh

Input

password

Hasil

8846F7EAEE8FB117AD06BDD830B7586C

Ini ialah vektor ujian yang terkenal dan boleh disahkan secara bebas: hash NTLM bagi rentetan literal "password" sentiasa 8846F7EAEE8FB117AD06BDD830B7586C. Anda boleh semak output alat ini berbanding sebarang pelaksanaan NTLM betul yang lain.

NTLM lwn hashing kata laluan moden

Jadual di bawah menyerlahkan sebab NTLM dianggap usang untuk melindungi sistem baharu, walaupun ia masih tertanam dalam infrastruktur Windows dan Active Directory warisan.

CiriNTLMbcrypt / scrypt / Argon2
Primitif asasSatu laluan MD4Hash perlahan yang dibina khas dengan kos boleh ditala
PenggaramanTiada — kata laluan sama sentiasa hash samaGaram rawak unik bagi setiap kata laluan
Iterasi / reganganTiadaFaktor kerja boleh dikonfigurasi, boleh ditingkatkan dari semasa ke semasa
Ketahanan brute-forceSangat lemah — berbilion tekaan/saat pada GPU modenSengaja mahal bagi setiap tekaan
Di mana ia masih dijumpaiPengesahan Windows warisan, fallback Active DirectoryAplikasi baharu, amalan terbaik semasa

Alat berkaitan

Jika anda memerlukan hash kriptografi tujuan umum dan bukannya binaan MD4(UTF-16LE) khusus NTLM, alat ini mungkin lebih sesuai.

Penjana Hash Multi-Algoritma · Penjana MD5 · Penjana Kata Laluan

Soalan lazim

Apakah sebenarnya hash NTLM?

Ia ialah pengesah kata laluan yang dikira dan disimpan oleh Windows untuk pengesahan NT LAN Manager, ditakrifkan dalam spesifikasi MS-NLMP Microsoft sebagai MD4(UTF-16LE(password)) — satu laluan MD4 ke atas pengekodan bait UTF-16 little-endian kata laluan. Ia sentiasa 128 bit, dipaparkan sebagai 32 aksara heksadesimal.

Kenapa UTF-16LE secara khusus, dan bukan UTF-8 atau ASCII?

Windows telah menyimpan teks secara dalaman sebagai UTF-16LE sejak NT direka bentuk, jadi kata laluan turut dikod sedemikian sebelum di-hash. Setiap aksara menjadi 2 bait (susunan bait little-endian), termasuk aksara ASCII biasa seperti 'a', yang menjadi 0x61 0x00 bukannya sekadar 0x61. Hashing bait UTF-8 bagi rentetan yang sama menghasilkan keputusan yang sama sekali berbeza dan salah — ini adalah pepijat paling biasa dalam pelaksanaan NTLM yang dibina dari awal.

Adakah NTLM selamat untuk digunakan hari ini?

Tidak, dan Microsoft sendiri mengesyorkan beralih daripadanya kepada Kerberos di mana mungkin. NTLM tiada garam, jadi kata laluan yang sama sentiasa menghasilkan hash yang sama merentasi setiap pengguna dan setiap sistem, membolehkan carian rainbow-table yang dikira terlebih dahulu. Ia juga tiada iterasi atau faktor kerja — satu laluan MD4 tanpa garam — jadi GPU moden boleh mencuba berbilion tekaan sesaat terhadap hash yang ditangkap. Ia bertahan terutamanya untuk keserasian warisan dengan sistem dan aplikasi Windows yang lebih lama.

Bagaimana NTLM berbeza daripada hashing kata laluan moden seperti bcrypt, scrypt, atau Argon2?

Penghash kata laluan moden sengaja dibuat perlahan dan bergaram: bcrypt, scrypt dan Argon2 masing-masing menambah garam rawak unik bagi setiap kata laluan dan faktor kos yang boleh ditala yang boleh ditingkatkan dari semasa ke semasa apabila perkakasan menjadi lebih pantas, khusus untuk menjadikan brute-forcing mahal walaupun pada skala besar. NTLM tidak melakukan kedua-duanya — ia direka bentuk pada era sebelum brute-forcing luar talian menjadi model ancaman yang praktikal, dan ini jelas kelihatan. Inilah sebabnya NTLM tidak sepatutnya sekali-kali digunakan untuk melindungi apa-apa yang direka hari ini; kes penggunaan sebenar alat ini ialah keserasian dengan infrastruktur Windows sedia ada dan pengujian keselamatan yang dibenarkan, bukan membina sistem baharu.

Apakah kegunaan sah bagi penjana hash NTLM?

Mengesahkan hash yang diambil daripada pangkalan data SAM atau NTDS.dit semasa ujian penembusan atau audit kelayakan yang dibenarkan; menyemak bahawa alat atau skrip anda sendiri melaksanakan MS-NLMP dengan betul; menjana hash ujian untuk semakan keserasian format hashcat (mod 1000) atau Mimikatz dalam makmal yang anda kawal; dan menyelesaikan latihan CTF atau latihan yang secara khusus melibatkan NTLM. Menggunakan alat ini untuk menyerang akaun atau sistem yang bukan milik anda atau yang anda tiada kebenaran bertulis untuk menguji bukanlah kegunaan yang sah.

Adakah kata laluan atau input saya dihantar ke pelayan?

Tidak. Pengiraan MD4 dijalankan sepenuhnya dalam JavaScript di dalam pelayar anda — tiada API pelayar asli untuk MD4, jadi ia dilaksanakan terus dalam kod sisi klien halaman ini, dan tiada apa yang anda taip pernah dihantar ke mana-mana.

Alat berkaitan