Amazon EC2のGPUインスタンスでハッシュ解読をやってみる

ハッシュ値から元の文字列を求めるハッシュ解読は、GPUを利用することにより高速に行えることが知られている。 ここでは、Amazon EC2GPUインスタンスを利用し、oclHashcatを使った場合におけるハッシュ解読のパフォーマンスを調べてみる。

環境

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

上の結果から、単純なハッシュ関数であるMD5SHA-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程度となることが推定できる。

関連リンク