ハッシュ値から元の文字列を求めるハッシュ解読は、GPUを利用することにより高速に行えることが知られている。 ここでは、Amazon EC2のGPUインスタンスを利用し、oclHashcatを使った場合におけるハッシュ解読のパフォーマンスを調べてみる。
環境
- Amazon Linux AMI with NVIDIA GRID GPU Driver
- GPU instances、g2.2xlarge
US West (Oregon)リージョンの場合、かかる費用は$0.65/hr(1時間70円程度)である。 なお、GPUインスタンスを使うためにはインスタンス上限の制限緩和申請を行っておく必要がある。
oclHashcatでハッシュ解読をやってみる
oclHashcatは、GPUを使ってハッシュ値の解読を試みるアプリケーションである。
まず、EC2サーバにoclHashcatをダウンロードし、展開する。
$ sudo yum-config-manager --enable epel $ sudo yum install p7zip $ wget https://hashcat.net/files/cudaHashcat-2.01.7z $ 7za x cudaHashcat-2.01.7z $ cd cudaHashcat-2.01/
各種ハッシュ関数の解読速度を調べてみる。
$ ./cudaHashcat64.bin -b cudaHashcat v2.01 starting in benchmark-mode... Device #1: GRID K520, 4095MB, 797Mhz, 8MCU Hashtype: MD4 Workload: 1024 loops, 256 accel Speed.GPU.#1.: 3700.2 MH/s Hashtype: MD5 Workload: 1024 loops, 256 accel Speed.GPU.#1.: 2631.1 MH/s Hashtype: Half MD5 Workload: 1024 loops, 256 accel Speed.GPU.#1.: 777.2 MH/s Hashtype: SHA1 Workload: 1024 loops, 256 accel Speed.GPU.#1.: 697.0 MH/s Hashtype: SHA256 Workload: 1024 loops, 256 accel Speed.GPU.#1.: 286.6 MH/s Hashtype: SHA384 Workload: 256 loops, 256 accel Speed.GPU.#1.: 72515.6 kH/s Hashtype: SHA512 Workload: 256 loops, 256 accel Speed.GPU.#1.: 72445.1 kH/s Hashtype: SHA-3(Keccak) Workload: 128 loops, 256 accel Speed.GPU.#1.: 56513.4 kH/s Hashtype: SipHash Workload: 1024 loops, 256 accel Speed.GPU.#1.: 3269.6 MH/s Hashtype: RipeMD160 Workload: 1024 loops, 256 accel Speed.GPU.#1.: 522.4 MH/s Hashtype: Whirlpool Workload: 512 loops, 32 accel Speed.GPU.#1.: 43950.8 kH/s Hashtype: GOST R 34.11-94 Workload: 512 loops, 64 accel Speed.GPU.#1.: 41800.3 kH/s Hashtype: GOST R 34.11-2012 (Streebog) 256-bit Workload: 512 loops, 16 accel Speed.GPU.#1.: 9852.4 kH/s Hashtype: GOST R 34.11-2012 (Streebog) 512-bit Workload: 512 loops, 16 accel Speed.GPU.#1.: 9803.3 kH/s Hashtype: phpass, MD5(Wordpress), MD5(phpBB3), MD5(Joomla) Workload: 1024 loops, 32 accel Speed.GPU.#1.: 645.2 kH/s Hashtype: scrypt Workload: 1 loops, 64 accel Speed.GPU.#1.: 25092 H/s Hashtype: PBKDF2-HMAC-MD5 Workload: 1000 loops, 8 accel Speed.GPU.#1.: 702.0 kH/s Hashtype: PBKDF2-HMAC-SHA1 Workload: 1000 loops, 8 accel Speed.GPU.#1.: 330.0 kH/s Hashtype: PBKDF2-HMAC-SHA256 Workload: 1000 loops, 8 accel Speed.GPU.#1.: 114.8 kH/s Hashtype: PBKDF2-HMAC-SHA512 Workload: 1000 loops, 8 accel Speed.GPU.#1.: 31925 H/s Hashtype: Skype Workload: 1024 loops, 256 accel Speed.GPU.#1.: 779.3 MH/s Hashtype: WPA/WPA2 Workload: 1024 loops, 32 accel Speed.GPU.#1.: 41535 H/s Hashtype: IKE-PSK MD5 Workload: 512 loops, 128 accel Speed.GPU.#1.: 208.1 MH/s Hashtype: IKE-PSK SHA1 Workload: 512 loops, 128 accel Speed.GPU.#1.: 75893.2 kH/s Hashtype: NetNTLMv1-VANILLA / NetNTLMv1+ESS Workload: 1024 loops, 256 accel Speed.GPU.#1.: 1758.0 MH/s Hashtype: NetNTLMv2 Workload: 1024 loops, 32 accel Speed.GPU.#1.: 170.0 MH/s Hashtype: IPMI2 RAKP HMAC-SHA1 Workload: 256 loops, 256 accel Speed.GPU.#1.: 172.2 MH/s Hashtype: Kerberos 5 AS-REQ Pre-Auth etype 23 Workload: 256 loops, 32 accel Speed.GPU.#1.: 6255.5 kH/s Hashtype: DNSSEC (NSEC3) Workload: 512 loops, 256 accel Speed.GPU.#1.: 337.9 MH/s Hashtype: PostgreSQL Challenge-Response Authentication (MD5) Workload: 1024 loops, 256 accel Speed.GPU.#1.: 724.9 MH/s Hashtype: MySQL Challenge-Response Authentication (SHA1) Workload: 1024 loops, 256 accel Speed.GPU.#1.: 239.4 MH/s Hashtype: SIP digest authentication (MD5) Workload: 1024 loops, 32 accel Speed.GPU.#1.: 443.2 MH/s Hashtype: SMF > v1.1 Workload: 512 loops, 256 accel Speed.GPU.#1.: 275.1 MH/s Hashtype: vBulletin < v3.8.5 Workload: 1024 loops, 256 accel Speed.GPU.#1.: 713.8 MH/s Hashtype: vBulletin > v3.8.5 Workload: 1024 loops, 256 accel Speed.GPU.#1.: 515.0 MH/s Hashtype: IPB2+, MyBB1.2+ Workload: 1024 loops, 256 accel Speed.GPU.#1.: 526.3 MH/s Hashtype: WBB3, Woltlab Burning Board 3 Workload: 256 loops, 256 accel Speed.GPU.#1.: 137.4 MH/s Hashtype: Joomla < 2.5.18 Workload: 1024 loops, 256 accel Speed.GPU.#1.: 2631.4 MH/s Hashtype: PHPS Workload: 1024 loops, 256 accel Speed.GPU.#1.: 714.1 MH/s Hashtype: Drupal7 Workload: 1024 loops, 8 accel Speed.GPU.#1.: 4302 H/s Hashtype: osCommerce, xt:Commerce Workload: 1024 loops, 256 accel Speed.GPU.#1.: 779.3 MH/s Hashtype: PrestaShop Workload: 1024 loops, 256 accel Speed.GPU.#1.: 937.8 MH/s Hashtype: Django (SHA-1) Workload: 512 loops, 256 accel Speed.GPU.#1.: 273.1 MH/s Hashtype: Django (PBKDF2-SHA256) Workload: 1024 loops, 8 accel Speed.GPU.#1.: 5806 H/s Hashtype: Mediawiki B type Workload: 1024 loops, 256 accel Speed.GPU.#1.: 554.3 MH/s Hashtype: Redmine Project Management Web App Workload: 1024 loops, 256 accel Speed.GPU.#1.: 231.6 MH/s Hashtype: PostgreSQL Workload: 1024 loops, 256 accel Speed.GPU.#1.: 2632.8 MH/s Hashtype: MSSQL(2000) Workload: 512 loops, 256 accel Speed.GPU.#1.: 668.8 MH/s Hashtype: MSSQL(2005) Workload: 512 loops, 256 accel Speed.GPU.#1.: 668.6 MH/s Hashtype: MSSQL(2012) Workload: 256 loops, 256 accel Speed.GPU.#1.: 72135.6 kH/s Hashtype: MySQL323 Workload: 512 loops, 256 accel Speed.GPU.#1.: 8965.3 MH/s Hashtype: MySQL4.1/MySQL5 Workload: 512 loops, 256 accel Speed.GPU.#1.: 338.3 MH/s Hashtype: Oracle H: Type (Oracle 7+) Workload: 512 loops, 64 accel Speed.GPU.#1.: 115.2 MH/s Hashtype: Oracle S: Type (Oracle 11+) Workload: 1024 loops, 256 accel Speed.GPU.#1.: 696.8 MH/s Hashtype: Oracle T: Type (Oracle 12+) Workload: 1024 loops, 8 accel Speed.GPU.#1.: 7812 H/s Hashtype: Sybase ASE Workload: 512 loops, 32 accel Speed.GPU.#1.: 34292.9 kH/s Hashtype: EPiServer 6.x < v4 Workload: 512 loops, 256 accel Speed.GPU.#1.: 273.0 MH/s Hashtype: EPiServer 6.x > v4 Workload: 512 loops, 256 accel Speed.GPU.#1.: 268.2 MH/s Hashtype: md5apr1, MD5(APR), Apache MD5 Workload: 1000 loops, 32 accel Speed.GPU.#1.: 1173.5 kH/s Hashtype: ColdFusion 10+ Workload: 128 loops, 128 accel Speed.GPU.#1.: 188.8 MH/s Hashtype: hMailServer Workload: 512 loops, 256 accel Speed.GPU.#1.: 268.2 MH/s Hashtype: SHA-1(Base64), nsldap, Netscape LDAP SHA Workload: 1024 loops, 256 accel Speed.GPU.#1.: 697.1 MH/s Hashtype: SSHA-1(Base64), nsldaps, Netscape LDAP SSHA Workload: 1024 loops, 256 accel Speed.GPU.#1.: 696.7 MH/s Hashtype: SSHA-512(Base64), LDAP {SSHA512} Workload: 256 loops, 256 accel Speed.GPU.#1.: 72501.6 kH/s Hashtype: LM Workload: 1024 loops, 256 accel Speed.GPU.#1.: 483.0 MH/s Hashtype: NTLM Workload: 1024 loops, 256 accel Speed.GPU.#1.: 3616.9 MH/s Hashtype: Domain Cached Credentials (DCC), MS Cache Workload: 1024 loops, 256 accel Speed.GPU.#1.: 1204.0 MH/s Hashtype: Domain Cached Credentials 2 (DCC2), MS Cache 2 Workload: 1024 loops, 16 accel Speed.GPU.#1.: 33952 H/s Hashtype: MS-AzureSync PBKDF2-HMAC-SHA256 Workload: 100 loops, 256 accel Speed.GPU.#1.: 1202.3 kH/s Hashtype: descrypt, DES(Unix), Traditional DES Workload: 1024 loops, 64 accel Speed.GPU.#1.: 17319.2 kH/s Hashtype: BSDiCrypt, Extended DES Workload: 1024 loops, 256 accel Speed.GPU.#1.: 223.8 kH/s Hashtype: md5crypt, MD5(Unix), FreeBSD MD5, Cisco-IOS MD5 Workload: 1000 loops, 32 accel Speed.GPU.#1.: 1188.1 kH/s Hashtype: bcrypt, Blowfish(OpenBSD) Workload: 32 loops, 2 accel Speed.GPU.#1.: 509 H/s Hashtype: sha256crypt, SHA256(Unix) Workload: 1024 loops, 4 accel Speed.GPU.#1.: 44242 H/s Hashtype: sha512crypt, SHA512(Unix) Workload: 1024 loops, 8 accel Speed.GPU.#1.: 12919 H/s Hashtype: OSX v10.4, v10.5, v10.6 Workload: 512 loops, 256 accel Speed.GPU.#1.: 274.7 MH/s Hashtype: OSX v10.7 Workload: 128 loops, 256 accel Speed.GPU.#1.: 70910.0 kH/s Hashtype: OSX v10.8+ Workload: 1024 loops, 2 accel Speed.GPU.#1.: 824 H/s Hashtype: AIX {smd5} Workload: 1000 loops, 32 accel Speed.GPU.#1.: 1173.1 kH/s Hashtype: AIX {ssha1} Workload: 64 loops, 128 accel Speed.GPU.#1.: 4397.9 kH/s Hashtype: AIX {ssha256} Workload: 64 loops, 128 accel Speed.GPU.#1.: 1781.6 kH/s Hashtype: AIX {ssha512} Workload: 64 loops, 32 accel Speed.GPU.#1.: 483.2 kH/s Hashtype: Cisco-PIX MD5 Workload: 1024 loops, 256 accel Speed.GPU.#1.: 1792.4 MH/s Hashtype: Cisco-ASA MD5 Workload: 1024 loops, 256 accel Speed.GPU.#1.: 1876.0 MH/s Hashtype: Cisco-IOS SHA256 Workload: 1024 loops, 256 accel Speed.GPU.#1.: 286.5 MH/s Hashtype: Cisco $8$ Workload: 1024 loops, 8 accel Speed.GPU.#1.: 5807 H/s Hashtype: Cisco $9$ Workload: 1 loops, 4 accel Speed.GPU.#1.: 966 H/s Hashtype: Juniper Netscreen/SSG (ScreenOS) Workload: 1024 loops, 256 accel Speed.GPU.#1.: 779.6 MH/s Hashtype: Juniper IVE Workload: 1000 loops, 32 accel Speed.GPU.#1.: 1188.3 kH/s Hashtype: Android PIN Workload: 1024 loops, 16 accel Speed.GPU.#1.: 615.1 kH/s Hashtype: Citrix NetScaler Workload: 512 loops, 256 accel Speed.GPU.#1.: 754.8 MH/s Hashtype: RACF Workload: 1024 loops, 256 accel Speed.GPU.#1.: 260.5 MH/s Hashtype: GRUB 2 Workload: 1024 loops, 2 accel Speed.GPU.#1.: 2884 H/s Hashtype: Radmin2 Workload: 1024 loops, 256 accel Speed.GPU.#1.: 859.6 MH/s Hashtype: SAP CODVN B (BCODE) Workload: 1024 loops, 64 accel Speed.GPU.#1.: 219.6 MH/s Hashtype: SAP CODVN F/G (PASSCODE) Workload: 1024 loops, 32 accel Speed.GPU.#1.: 107.3 MH/s Hashtype: SAP CODVN H (PWDSALTEDHASH) iSSHA-1 Workload: 1024 loops, 16 accel Speed.GPU.#1.: 594.8 kH/s Hashtype: Lotus Notes/Domino 5 Workload: 256 loops, 32 accel Speed.GPU.#1.: 28342.8 kH/s Hashtype: Lotus Notes/Domino 6 Workload: 256 loops, 32 accel Speed.GPU.#1.: 9226.5 kH/s Hashtype: Lotus Notes/Domino 8 Workload: 1024 loops, 64 accel Speed.GPU.#1.: 72211 H/s Hashtype: PeopleSoft Workload: 512 loops, 256 accel Speed.GPU.#1.: 668.5 MH/s Hashtype: 7-Zip Workload: 1024 loops, 4 accel Speed.GPU.#1.: 1040 H/s Hashtype: RAR3-hp Workload: 16384 loops, 32 accel Speed.GPU.#1.: 7062 H/s Hashtype: TrueCrypt 5.0+ PBKDF2-HMAC-RipeMD160 + XTS 512 bit Workload: 1024 loops, 64 accel Speed.GPU.#1.: 31093 H/s Hashtype: TrueCrypt 5.0+ PBKDF2-HMAC-SHA512 + XTS 512 bit Workload: 1000 loops, 8 accel Speed.GPU.#1.: 30514 H/s Hashtype: TrueCrypt 5.0+ PBKDF2-HMAC-Whirlpool + XTS 512 bit Workload: 1000 loops, 8 accel Speed.GPU.#1.: 6080 H/s Hashtype: TrueCrypt 5.0+ PBKDF2-HMAC-RipeMD160 + XTS 512 bit + boot-mode Workload: 1000 loops, 128 accel Speed.GPU.#1.: 59915 H/s Hashtype: Android FDE <= 4.3 Workload: 1024 loops, 32 accel Speed.GPU.#1.: 84545 H/s Hashtype: eCryptfs Workload: 1024 loops, 8 accel Speed.GPU.#1.: 1068 H/s Hashtype: MS Office <= 2003 MD5 + RC4, oldoffice$0, oldoffice$1 Workload: 1024 loops, 32 accel Speed.GPU.#1.: 6063.9 kH/s Hashtype: MS Office <= 2003 MD5 + RC4, collision-mode #1 Workload: 1024 loops, 32 accel Speed.GPU.#1.: 9726.9 kH/s Hashtype: MS Office <= 2003 SHA1 + RC4, oldoffice$3, oldoffice$4 Workload: 1024 loops, 32 accel Speed.GPU.#1.: 8639.1 kH/s Hashtype: MS Office <= 2003 SHA1 + RC4, collision-mode #1 Workload: 1024 loops, 32 accel Speed.GPU.#1.: 10105.9 kH/s Hashtype: Office 2007 Workload: 1024 loops, 32 accel Speed.GPU.#1.: 14160 H/s Hashtype: Office 2010 Workload: 1024 loops, 32 accel Speed.GPU.#1.: 7087 H/s Hashtype: Office 2013 Workload: 1024 loops, 4 accel Speed.GPU.#1.: 699 H/s Hashtype: PDF 1.1 - 1.3 (Acrobat 2 - 4) Workload: 1024 loops, 32 accel Speed.GPU.#1.: 9990.0 kH/s Hashtype: PDF 1.1 - 1.3 (Acrobat 2 - 4) + collider-mode #1 Workload: 1024 loops, 32 accel Speed.GPU.#1.: 11320.5 kH/s Hashtype: PDF 1.4 - 1.6 (Acrobat 5 - 8) Workload: 70 loops, 256 accel Speed.GPU.#1.: 469.1 kH/s Hashtype: PDF 1.7 Level 3 (Acrobat 9) Workload: 1024 loops, 256 accel Speed.GPU.#1.: 286.5 MH/s Hashtype: PDF 1.7 Level 8 (Acrobat 10 - 11) Workload: 64 loops, 8 accel Speed.GPU.#1.: 3984 H/s Hashtype: Password Safe v2 Workload: 1000 loops, 16 accel Speed.GPU.#1.: 10654 H/s Hashtype: Password Safe v3 Workload: 1024 loops, 16 accel Speed.GPU.#1.: 118.4 kH/s Hashtype: Lastpass Workload: 500 loops, 64 accel Speed.GPU.#1.: 249.4 kH/s Hashtype: 1Password, agilekeychain Workload: 1000 loops, 64 accel Speed.GPU.#1.: 357.1 kH/s Hashtype: 1Password, cloudkeychain Workload: 1024 loops, 2 accel Speed.GPU.#1.: 722 H/s Hashtype: Bitcoin/Litecoin wallet.dat Workload: 1024 loops, 2 accel Speed.GPU.#1.: 323 H/s Hashtype: Blockchain, My Wallet Workload: 10 loops, 256 accel Speed.GPU.#1.: 6941.5 kH/s Started: Thu May 19 13:06:59 2016 Stopped: Thu May 19 13:47:20 2016
上の結果から、単純なハッシュ関数であるMD5やSHA-1、SHA-256に比べ、鍵導出関数と呼ばれるPBKDF2やscrypt、bcryptの解読速度が著しく遅いことが確認できる。 また、Core i5のサーバで計測した下の結果と比べると、解読速度に100倍程度の違いがあることがわかる。
$ ./hashcat-cli64.bin -b Initializing hashcat v2.00 with 4 threads and 32mb segment-size... Device...........: Intel(R) Core(TM) i5-4200U CPU @ 1.60GHz Instruction set..: x86_64 Number of threads: 4 Hash type: MD4 Speed/sec: 33.06M words Hash type: MD5 Speed/sec: 28.22M words Hash type: SHA1 Speed/sec: 15.90M words Hash type: SHA256 Speed/sec: 8.01M words Hash type: SHA512 Speed/sec: 3.30M words Hash type: SHA-3(Keccak) Speed/sec: 3.38M words (snip)
試しに、password
という8文字の文字列のMD5ハッシュ値を用意する。
$ echo -n password | md5sum 5f4dcc3b5aa765d61d8327deb882cf99 - $ echo 5f4dcc3b5aa765d61d8327deb882cf99 >hash.txt
mask_attack [hashcat wiki]を参考に、英小文字と数字からなる8文字以下のMD5ハッシュ値についてブルートフォースを行うと次のようになる。
$ ./cudaHashcat64.bin -m 0 -a 3 -i hash.txt -1 ?l?d ?1?1?1?1?1?1?1?1 cudaHashcat v2.01 starting... Device #1: GRID K520, 4095MB, 797Mhz, 8MCU Hashes: 1 hashes; 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 * Scalar-Mode * Raw-Hash Watchdog: Temperature abort trigger set to 90c Watchdog: Temperature retain trigger set to 80c Device #1: Kernel ./kernels/4318/m00000_a3.sm_30.64.cubin Device #1: Kernel ./kernels/4318/markov_le_v1.sm_30.64.cubin ATTENTION! The wordlist or mask you are using is too small. Therefore, oclHashcat is unable to utilize the full parallelization power of your GPU(s). The cracking speed will drop. Workaround: https://hashcat.net/wiki/doku.php?id=frequently_asked_questions#how_to_create_more_work_for_full_speed INFO: approaching final keyspace, workload adjusted Session.Name...: cudaHashcat Status.........: Running Input.Mode.....: Mask (?1) [1] Hash.Target....: 5f4dcc3b5aa765d61d8327deb882cf99 Hash.Type......: MD5 Time.Started...: 0 secs Time.Estimated.: 0 secs Speed.GPU.#1...: 0 H/s Recovered......: 0/1 (0.00%) Digests, 0/1 (0.00%) Salts Progress.......: 36/36 (100.00%) Rejected.......: 0/36 (0.00%) HWMon.GPU.#1...: 1% Util, 35c Temp, N/A Fan ATTENTION! The wordlist or mask you are using is too small. Therefore, oclHashcat is unable to utilize the full parallelization power of your GPU(s). The cracking speed will drop. Workaround: https://hashcat.net/wiki/doku.php?id=frequently_asked_questions#how_to_create_more_work_for_full_speed INFO: approaching final keyspace, workload adjusted Session.Name...: cudaHashcat Status.........: Running Input.Mode.....: Mask (?1?1) [2] Hash.Target....: 5f4dcc3b5aa765d61d8327deb882cf99 Hash.Type......: MD5 Time.Started...: 0 secs Time.Estimated.: 0 secs Speed.GPU.#1...: 4977 H/s Recovered......: 0/1 (0.00%) Digests, 0/1 (0.00%) Salts Progress.......: 1296/1296 (100.00%) Rejected.......: 0/1296 (0.00%) HWMon.GPU.#1...: 0% Util, 35c Temp, N/A Fan ATTENTION! The wordlist or mask you are using is too small. Therefore, oclHashcat is unable to utilize the full parallelization power of your GPU(s). The cracking speed will drop. Workaround: https://hashcat.net/wiki/doku.php?id=frequently_asked_questions#how_to_create_more_work_for_full_speed INFO: approaching final keyspace, workload adjusted Session.Name...: cudaHashcat Status.........: Running Input.Mode.....: Mask (?1?1?1) [3] Hash.Target....: 5f4dcc3b5aa765d61d8327deb882cf99 Hash.Type......: MD5 Time.Started...: 0 secs Time.Estimated.: 0 secs Speed.GPU.#1...: 170.7 kH/s Recovered......: 0/1 (0.00%) Digests, 0/1 (0.00%) Salts Progress.......: 46656/46656 (100.00%) Rejected.......: 0/46656 (0.00%) HWMon.GPU.#1...: 0% Util, 35c Temp, N/A Fan ATTENTION! The wordlist or mask you are using is too small. Therefore, oclHashcat is unable to utilize the full parallelization power of your GPU(s). The cracking speed will drop. Workaround: https://hashcat.net/wiki/doku.php?id=frequently_asked_questions#how_to_create_more_work_for_full_speed INFO: approaching final keyspace, workload adjusted Session.Name...: cudaHashcat Status.........: Running Input.Mode.....: Mask (?1?1?1?1) [4] Hash.Target....: 5f4dcc3b5aa765d61d8327deb882cf99 Hash.Type......: MD5 Time.Started...: 0 secs Time.Estimated.: 0 secs Speed.GPU.#1...: 6313.7 kH/s Recovered......: 0/1 (0.00%) Digests, 0/1 (0.00%) Salts Progress.......: 1679616/1679616 (100.00%) Rejected.......: 0/1679616 (0.00%) HWMon.GPU.#1...: 1% Util, 35c Temp, N/A Fan INFO: approaching final keyspace, workload adjusted Session.Name...: cudaHashcat Status.........: Running Input.Mode.....: Mask (?1?1?1?1?1) [5] Hash.Target....: 5f4dcc3b5aa765d61d8327deb882cf99 Hash.Type......: MD5 Time.Started...: 0 secs Time.Estimated.: 0 secs Speed.GPU.#1...: 188.1 MH/s Recovered......: 0/1 (0.00%) Digests, 0/1 (0.00%) Salts Progress.......: 60466176/60466176 (100.00%) Rejected.......: 0/60466176 (0.00%) HWMon.GPU.#1...: 0% Util, 37c Temp, N/A Fan INFO: approaching final keyspace, workload adjusted Session.Name...: cudaHashcat Status.........: Running Input.Mode.....: Mask (?1?1?1?1?1?1) [6] Hash.Target....: 5f4dcc3b5aa765d61d8327deb882cf99 Hash.Type......: MD5 Time.Started...: 0 secs Time.Estimated.: 0 secs Speed.GPU.#1...: 1916.5 MH/s Recovered......: 0/1 (0.00%) Digests, 0/1 (0.00%) Salts Progress.......: 2176782336/2176782336 (100.00%) Rejected.......: 0/2176782336 (0.00%) HWMon.GPU.#1...: 99% Util, 40c Temp, N/A Fan INFO: approaching final keyspace, workload adjusted Session.Name...: cudaHashcat Status.........: Running Input.Mode.....: Mask (?1?1?1?1?1?1?1) [7] Hash.Target....: 5f4dcc3b5aa765d61d8327deb882cf99 Hash.Type......: MD5 Time.Started...: Thu May 19 14:17:10 2016 (30 secs) Time.Estimated.: 0 secs Speed.GPU.#1...: 2555.6 MH/s Recovered......: 0/1 (0.00%) Digests, 0/1 (0.00%) Salts Progress.......: 78364164096/78364164096 (100.00%) Rejected.......: 0/78364164096 (0.00%) HWMon.GPU.#1...: 99% Util, 49c Temp, N/A Fan 5f4dcc3b5aa765d61d8327deb882cf99:password Session.Name...: cudaHashcat Status.........: Cracked Input.Mode.....: Mask (?1?1?1?1?1?1?1?1) [8] Hash.Target....: 5f4dcc3b5aa765d61d8327deb882cf99 Hash.Type......: MD5 Time.Started...: Thu May 19 14:17:10 2016 (1 min, 58 secs) Speed.GPU.#1...: 2593.9 MH/s Recovered......: 1/1 (100.00%) Digests, 1/1 (100.00%) Salts Progress.......: 306570067968/2821109907456 (10.87%) Rejected.......: 0/306570067968 (0.00%) Restore.Point..: 6553600/60466176 (10.84%) HWMon.GPU.#1...: 0% Util, 57c Temp, N/A Fan Started: Thu May 19 14:17:10 2016 Stopped: Thu May 19 14:19:43 2016
上の結果より、2分30秒程度でハッシュ解読に成功していることが確認できる。
ここで、英小文字、英大文字、数字、記号(?a
、94文字)で8文字以下のMD5ブルートフォースにかかる時間を推定すると、27日程度となる。
(94 + 94^2 + ... + 94^8) / (2631.1 * 1000000) = 94 * (1-94^8)/(1-94) / 2631100000 = 2341695.272914663 (secs) = 27.102954547623415 (days)
また、GPUが四つのg2.8xlargeインスタンスを使った場合、かかる時間は上記の4分の1程度となることが推定できる。