「MD5のハッシュをクラックする方法」の版間の差分
提供: セキュリティ
(相違点なし)
|
2017年5月13日 (土) 19:34時点における最新版
MD5の元になった値を求める方法(MD5の解読方法)を紹介します。MD5 とは、ハッシュアルゴリズムの1つです。以前はよく使われていたものですが、今は利用が非推奨になっております。
読み方
- MD5
- えむでぃふぁいぶ
概要
MD5はハッシュアルゴリズムの1つです。 このドキュメントの目的は、MD5が簡単に破れるものであり、使うべきではない、ということを理解するためのものです。 また、マシン(CPUやGPU)の性能を比較することにも利用できます。
MD5は、すでに利用を推奨されているものではありません。SHA-2 などのハッシュアルゴリズムを利用してください。
ツール
- hashcat
- John the Ripper (jumboパッチ版)
MD5の作り方
echo -n a | openssl md5 |awk '{print $2}' echo -n a | openssl md5 |awk '{print $2}' > /tmp/a.md5 echo -n b | openssl md5 |awk '{print $2}' > /tmp/b.md5
hashcat
./hashcat -a 3 -m 0 /tmp/b.md5
以下は実行例です。
hashcat (v3.5.0) starting... nvmlDeviceGetFanSpeed(): Not Supported OpenCL Platform #1: NVIDIA Corporation ======UNIQaa819398115741f3-h-4--QINU================================ * Device #1: Tesla M40 24GB, 5734/22939 MB allocatable, 24MCU Hashes: 1 digests; 1 unique digests, 1 unique salts Bitmaps: 16 bits, 65536 entries, 0x0000ffff mask, 262144 bytes, 5/13 rotates Applicable optimizers: * Zero-Byte * Precompute-Init * Precompute-Merkle-Demgard * Meet-In-The-Middle * Early-Skip * Not-Salted * Not-Iterated * Single-Hash * Single-Salt * Brute-Force * Raw-Hash Watchdog: Temperature abort trigger set to 90c Watchdog: Temperature retain trigger disabled. The wordlist or mask that you are using is too small. This means that hashcat cannot use the full parallel power of your device(s). Unless you supply more work, your cracking speed will drop. For tips on supplying more work, see: https://hashcat.net/faq/morework Approaching final keyspace - workload adjusted. 92eb5ffee6ae2fec3ad71c777531578f:b Session..........: hashcat Status...........: Cracked Hash.Type........: MD5 Hash.Target......: 92eb5ffee6ae2fec3ad71c777531578f Time.Started.....: Sat May 13 19:18:34 2017 (0 secs) Time.Estimated...: Sat May 13 19:18:34 2017 (0 secs) Guess.Mask.......: ?1 [1] Guess.Charset....: -1 ?l?d?u, -2 ?l?d, -3 ?l?d*!$@_, -4 Undefined Guess.Queue......: 1/15 (6.67%) Speed.Dev.#1.....: 0 H/s (0.02ms) Recovered........: 1/1 (100.00%) Digests, 1/1 (100.00%) Salts Progress.........: 7/62 (11.29%) Rejected.........: 0/7 (0.00%) Restore.Point....: 0/1 (0.00%) Candidates.#1....: s -> p HWMon.Dev.#1.....: Temp: 83c Util: 95% Core:1113MHz Mem:3004MHz Bus:16 Started: Sat May 13 19:18:32 2017 Stopped: Sat May 13 19:18:35 2017
John the Ripper
john --format=raw-md5 /tmp/a.md5
以下は実行例です。
$ echo -n b | openssl md5 |awk '{print $2}' > /tmp/b.md5 $ time ./john --format=raw-md5 /tmp/b.md5 Loaded 1 password hash (Raw-MD5 [MD5 128/128 AVX 12x]) Warning: poor OpenMP scalability for this hash type, consider --fork=56 Will run 56 OpenMP threads Press 'q' or Ctrl-C to abort, almost any other key for status b (?) 1g 0:00:00:01 DONE 3/3 (2017-05-13 19:16) 0.5235g/s 442394p/s 442394c/s 442394C/s 123456..drb13 Use the "--show" option to display all of the cracked passwords reliably Session completed ./john --format=raw-md5 /tmp/b.md5 9.20s user 0.06s system 355% cpu 2.606 total
まとめ
MD5 の解読は、ツールで簡単にできることがお解り頂けたと思います。 ここで紹介したツール以外でも同様のことができます。