Hashcat

From האנציקלופדיה היהודית
Jump to: navigation, search

Hashcat הוא, על פי הצהרה עצמית, הכלי המהיר ביותר בעולם לפריצת סיסמאות. הכלי היה בתשלום עד 2015 ומאז משוחרר כתוכנה חופשית. הוא זמין בגרסאות ללינוקס, וינדוס ו OS X ורץ על מגוון סוגי מעבדים ו GPU.

Hashcat תומך בפונקציות גיבוב רבות ביניהן פונקציות LM hash של windows, ‏MD4,‏ MD5,‏ SHA,‏ פורמטי Crypt שונים ללינוקס,‏ MySQL ו Cisco PIX.

Hashcat עלה לכותרות וקיבל סיקור חדשותי מספר פעמים כאשר היוצר של הכלי פרסם פגיעויות ואופטימיזציות שגילה בעצמו, ואלו נכנסו לגירסאות מאוחרות יותר של הכלי (לדוגמא פגם בסכמת הגיבוב של מנהל הסיסמאות 1Password)[1].

וריאנטים

ישנם שני וריאנטים מרכזיים ל Hashcat:

  • hashcat - מבוסס חישובי מעבד
  • oclHashcat/cudaHashcat - מבוסס חישובי GPU (משתמש ב OpenCL או CUDA)

עם יציאת גירסא hashcat v3.00 וריאנטים GPU ו CPU אוחדו לכלי יחיד. שימוש בכח המעבד בלבד קיבל את הכינוי hashcat-legacy[2]. בכלי החדש שתי הגרסאות דורשות OpenCL.

אלגוריתמים רבים שנתמכים על ידי hashcat-legacy ניתנים לפריצה מהירה יותר עם שימוש מאיצי GPU[3], בהם נעשה שימוש ב oclHashcat, cudaHashcat ו hashcat v3.00. עם זאת, לא כל האלגוריתמים ניתנים להאצה על ידי שימוש ב GPU.‏ Bcrypt הוא דוגמא טובה לאלגוריתם שבו, עקב תלות ב branching, serialization, וזכרון (בין השאר), הביצועים לא ניתנים לשיפור עם הכלים החדשים יותר מ hashcat-legacy.

בעוד hashcat-legacy זמין אף ל OSX, oclHashcat/cudaHashcat זמין רק על Windows ו Linux עקב מימושים לא מתאימים של OpenCL על OSX‏[4].

פלט דוגמא

להלן דוגמא של פקודה ב hashcat שמקבלת קבוצת ערכי Hash של סיסמאות ופורצת אותם בעזרת מילון של סיסמאות שמורות ושימוש במגוון אלגוריתמים של גיבוב (Rainbow attack):

$ hashcat -d 1 -a 0 -m 400 -O -w 4 example400.hash example.dict
hashcat (v5.0.0) starting...

OpenCL Platform #1: NVIDIA Corporation
======================================
* Device #1: GeForce GTX 970, 1009/4036 MB allocatable, 13MCU

Hashes: 1 digests; 1 unique digests, 1 unique salts
Bitmaps: 16 bits, 65,536 entries, 0x0000ffff mask, 262,144 bytes, 5/13 rotates
Rules: 1

Applicable optimizers:
* Optimized-Kernel
* Zero-Byte
* Single-Hash
* Single-Salt

Minimum password length supported by kernel: 0
Maximum password length supported by kernel: 55

Watchdog: Temperature abort trigger set to 90c

Dictionary cache built:
* Filename..: example.dict
* Passwords.: 128416
* Bytes.....: 1069601
* Keyspace..: 128416
* Runtime...: 1 sec

Approaching final keyspace - workload adjusted.  

$H$9y5boZ2wsUlgl2tI6b5PrRoADzYfXD1:hash234       
                                                 
Session..........: hashcat
Status...........: Cracked
Hash.Type........: phpass, WordPress (MD5), phpBB3 (MD5), Joomla (MD5)
Hash.Target......: $H$9y5boZ2wsUlgl2tI6b5PrRoADzYfXD1
Time.Started.....: Sat Nov  3 20:31:37 2018 (0 secs)
Time.Estimated...: Sat Nov  3 20:31:37 2018 (0 secs)
Guess.Base.......: File (example.dict)
Guess.Queue......: 1/1 (100.00%)
Speed.#1.........:  2569.5 kH/s (11.18ms) @ Accel:256 Loops:512 Thr:1024 Vec:1
Recovered........: 1/1 (100.00%) Digests, 1/1 (100.00%) Salts
Progress.........: 128416/128416 (100.00%)
Rejected.........: 0/128416 (0.00%)
Restore.Point....: 0/128416 (0.00%)
Restore.Sub.#1...: Salt:0 Amplifier:0-1 Iteration:1536-2048
Candidates.#1....: 0 -> zzzzzzzzzzz
Hardware.Mon.#1..: Temp: 44c Fan: 35% Util: 52% Core:1265MHz Mem:3004MHz Bus:8

Started: Sat Nov  3 20:31:33 2018
Stopped: Sat Nov  3 20:31:38 2018

התקפות

Hashcat מאפשר שילוב בין מספר התקפות כדי להשיג אפקטיביות וכיסוי מורכב על מרחב מפתחות HASH. ביניהם:

  • התקפת Brute-force[5]
  • התקפת Combinator[6]
  • התקפת Dictionary[7]
  • התקפת Fingerprint
  • התקפת Hybrid[8]
  • התקפת Mask attack[9]
  • התקפת Permutation
  • התקפת Rule-based[10]
  • התקפת Table-Lookup‏ (CPU בלבד)
  • התקפת Toggle-Case[11]
  • התקפת PRINCE[12] (ב CPU בגרסאות 0.48 ומעלה בלבד)

התקפת "Brute force" רגילה נחשבת מיושנת, וצוות Hashcat ממליץ על שימוש ב Mask-Attack כמחליפה.

הערות שוליים


שגיאות פרמטריות בתבנית:הערות שוליים

לא נמצא templatedata תקין

NivdakVeushar.png