Amazon EC2のGPUインスタンスでハッシュ解読をやってみる
ハッシュ値から元の文字列を求めるハッシュ解読は、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程度となることが推定できる。