hashcat มีวิธีการถอดรหัส พื้นฐานสี่วิธี:
1. พจนานุกรม ถอดรหัส
2. รวมสตริง ถอดรหัส
3. ความรุนแรง ถอดรหัส (เลิกใช้) – การโจมตีด้วยหน้ากาก (หน้ากาก ถอดรหัส )
4. การถอดรหัสแบบผสม
และวิธีการถอดรหัส ตามกฎ และการสลับตัวพิมพ์เล็ก แต่สามารถจัดประเภทเป็นกฎ การถอดรหัส
-a 0 -m type hashfile dictionary1 dictionary2
ดูเหมือนว่าคุณสามารถใช้ gpu เพื่อเร่ง
หากเนื้อหาในพจนานุกรมเป็นเช่นนี้
11
22
33
ชุดค่าผสมคือ:
1111
1122
1133
2222
2233
3333
-k, --rule-right=rule Single rule applied to each Word on the right dictionary123
ยกตัวอย่าง:
พจนานุกรม 1:
11 2212
พจนานุกรม 2:
33 4412
คำสั่ง:
-j '$-' -k '! $'12
คำในพจนานุกรมตัวแทน $ ด้านบน -j '$-' หมายถึงการเพิ่ม -, -k '$ ทางด้านขวาของคำ! ' หมายถึงการเพิ่มหนึ่งทางด้านซ้ายของคำ! ดังนั้นชุดค่าผสมที่ได้คือ:
11-33! 22-33! 11-44! 22-44! 1234
คำอธิบายอย่างเป็นทางการค่อนข้างง่าย กล่าวคือ การโจมตีด้วยหน้ากากนั้นแข็งแกร่งกว่า brute-force ในการลดจำนวนตารางรหัสผ่าน สำหรับการลด จำนวนรหัสผ่าน ไม่มีการแนะนำอัลกอริธึมมากเกินไป (ตามไฟล์ hcmask) ฉันแค่กล่าวถึงการลดจำนวนรหัสผ่านผ่านแบบฟอร์มรหัสผ่านทั่วไปบางรูปแบบ ตัวอย่างเช่น "Kele1997" ความรุนแรง จะนับเมื่อถอดรหัส ความเป็นไปได้ทั้งหมด ฯลฯ.. แต่ในระหว่างการโจมตีด้วยหน้ากาก โปรแกรมจะพยายามใช้ตัวพิมพ์ใหญ่เฉพาะตัวอักษรตัวแรกเท่านั้น เนื่องจากรหัสผ่านส่วนใหญ่ไม่ค่อยมีตัวพิมพ์ใหญ่ในตำแหน่งที่สองหรือสาม ใช้กฎเหล่านี้เพื่อลดจำนวนผู้สมัครสำหรับรหัสผ่าน
อย่างเป็นทางการ กล่าวว่าการโจมตีด้วยหน้ากากไม่มีข้อเสียเมื่อเทียบกับ brute-force เนื่องจากการโจมตีด้วยหน้ากากสามารถสร้างรหัสผ่าน brute-force ทั้งหมด
ชุดอักขระในตัว
? l = abcdefghijklmnopqrstuvwxyz
? u = ABCDEFGHIJKLMNOPQRSTUVWXYZ
? d = 0123456789
? h = 0123456789abcdef
? H = 0123456789ABCDEF
? s = «อวกาศ»! "#$%&'()*+,-./:; <=>? @[\]^_`{|}~
? A = ? ล? คุณ? ง? ส
? b = 0 - 0xff123456789
มีชุดอักขระในไดเร็กทอรีโปรแกรมที่มีอักขระแปลก ๆ ทุกประเภท หากคุณเพิ่มรหัสผ่านของคุณ คุณสามารถใช้ไฟล์เหล่านี้ได้
hashcat มีพารามิเตอร์สี่ตัวสำหรับระบุชุดอักขระที่กำหนดเอง
–custom-charset1=CS
–custom-charset2=CS
–custom-charset3=CS
–custom-charset4=CS
พารามิเตอร์ทั้งสี่นี้สามารถแทนที่ด้วยตัวย่อ -1, -2, -3 และ -4 คุณสามารถระบุชุดอักขระที่กำหนดเองสำหรับการถอดรหัส
คำสั่งต่อไปนี้จะตั้งค่าชุดอักขระที่กำหนดเองชุดแรก (-1) เป็นอักขระเฉพาะภาษารัสเซีย:
-1 charsets/special/russian/ru_ISO-8859-5-special.hcchr
เราไม่จำเป็นต้องระบุความยาวคงที่ของรหัสผ่าน เราสามารถระบุพารามิเตอร์ –increment เพื่อ
-ฉัน, --เพิ่ม | | เปิดใช้งาน หน้ากาก เพิ่ม โหมด | { | Num | หยุด หน้ากาก เพิ่ม ที่ X { } 123-a 3 hash.txt mask_file.hcmask โหลดไฟล์ hcmask และใช้หน้ากากในไฟล์เพื่อ ถอดรหัส
hashcat มาพร้อมกับไฟล์ hcmask หลายไฟล์และวางไว้ใต้ไดเร็กทอรีโปรแกรม mask/
--ชุดอักขระเลขฐานสิบหก สตริงหลังคือ 16 ดำเนินการ
รหัสผ่านที่สร้างขึ้นมีพจนานุกรมและความรุนแรง ถอดรหัส รวมอักขระที่สร้างขึ้น
ยกตัวอย่าง:example.dict
รหัสผ่าน สวัสดี12
hashcat64 -a 6 example.dict ? ง? ง? ง? ง
? ง? ง? ง? d แสดงถึงจำนวนเต็มสี่หลัก
ดังนั้นลำดับผู้สมัครรหัสผ่านสุดท้ายที่สร้างขึ้นคือ:
password0000 รหัสผ่าน0001 รหัสผ่าน0002 . . . รหัสผ่าน99991234567
hashcat64 -a 6 ? ง? ง? ง? d example.dict
ผลลัพธ์:
0000password 0001รหัสผ่าน . . . 9999password123456
ใช้ maskprocessor เพื่อใช้กฎเพื่อสร้างความรุนแรง ถอดรหัส กฎที่จำเป็น จากนั้นไฟล์กฎที่สร้างขึ้นสามารถโหลดได้โดยใช้ hashcat -r และผสมกับพจนานุกรมเพื่อสร้างผู้สมัครรหัสผ่าน
ยกตัวอย่าง: example.dict
สวัสดี รหัสผ่าน12
แฮช -o bf.rule '$? d $? d $? d $? กฎที่สร้างโดย d
มีลักษณะดังนี้: bf.rule
$0 $0 $0 $0 $0 $0 $0 $1 $0 $0 $0 $2 $0 $0 $0 $3 $0 $0 $0 $4 . . . $9 $9 $9 $9123456789
จากนั้นใช้ hashcat -a 6 example.dict -r bf.rule -m . . . .
สิ่งสุดท้ายที่สร้างขึ้นมีลักษณะดังนี้:
สวัสดี0 0 0 0 รหัสผ่าน0 0 0 0 สวัสดี0 0 0 1 รหัสผ่าน0 0 0 1 สวัสดี0 0 0 2 รหัสผ่าน0 0 0 2 . . . สวัสดี9 9 9 9 รหัสผ่าน9 9 9 91234567891011