CRACK LMHASH
CRACK LMHASH
ในบทเรียนนี้เราจะมาทำความเข้าใจเกี่ยวกับรูปแบบการเก็บ password ของ Windows โดยแต่ก่อนจนถึงปัจจุบันก็มีพัฒนาการมาเรื่อยๆครับ ซึ่งจะเริ่มจาก
LM (Lan Manager) hash
โดย LM นั้นเป็นรูปแบบดั้งเดิมในการเก็บ password ของ Windows ตั้งแต่ยุค 1980 ซึ่งในช่วงนั้นยังมีจำนวน charset ที่ยังจำกัดอยู่(16-bits characters) ซึ่งทำให้การ crack password นั้นทำได้ง่ายมากโดยดึงจาก SAM database บน Windows หรือว่า NTDS บน Domain Controller (Active Directory) ได้เลย
โดยขั้นตอนการเปลี่ยน password อยู่ในรูปแบบ LM hash คือ
โดยขั้นตอนการเปลี่ยน password อยู่ในรูปแบบ LM hash คือ
- เปลี่ยนอักษรทั้งหมดเป็นตัวใหญ่
- หากตัวอักษรไม่ครบ 14 ตัวอักษรก็จะเติมตัวอักษรทั้งหมดให้เต็มด้วย NULL characters
- แบ่งเป็น 2 กลุ่ม กลุ่มละ 7 ตัวอักษร
- สร้าง DES key จาก character 7 ตัวทั้ง 2 กลุ่ม ก็จะได้ DES key 2 ชุด (ชุดละ 64 bit)
- นำ DES key ไปเข้ารหัส static string “KGS!@#$%” ด้วย DES (ECB)
- นำ encrypted strings ทั้ง 2 อันมาต่อกัน ก็จะได้เป็น LM Hash
เช่น สมมติ password เป็น password
- password => password000000
- PASSWORD000000
- PASSWOR, D000000
- นำ PASSWOR ซึ่งเป็น 56bit ไปแปลงเป็น 64bit โดยการใส่ parity bit เข้าไปต่อท้ายทุกๆ byte
- DES Key ที่ได้จะเป็น
- 0101000000100000010101000110101000110101101110100011110110100100111000001000001101110000101000011111010101010101
- 0100010000011000000011000000011000000011100000011100000001100000000100000000010011010000101111100001001101010110
- DES Key ที่ได้จะเป็น
- นำ DES Key ไปเข้ารหัส string “KGS!@#$%” โดยใช้ Algorithm ECB จะได้เป็น
- e52cac67419a9a22
- 4a3b108f3fa6cb6d
- ผลลัพธ์จะได้เป็น e52cac67419a9a224a3b108f3fa6cb6d
วิธีการ crack LMHash
เราสามารถใช้ John-The-Ripper, Hashcat ครับ โดยใช้คำสั่งเป็น
john --format=lm hash.txt
hashcat -m 3000 -a 3 hash.txt
Comments
Post a Comment