背景とテスト内容
課題: VMWare上だと、GPUなどがエミュレートされるため性能が発揮できない
NVIDIAでhashcatを実行したらブルートフォースとか重いクラックがしやすくなるかもしれない
=> 調べたところ、ESXiなどであれば直接仮想マシンにつなげれるみたいだが、Workstation Playerではできない
今回: ホスト(Windows)上でHashcatを設定して実行してみる
ネタバレ
- NTLM: 47倍の速度になったので 1日かかる処理が31分ぐらいでクラック
- Kerberos: 149倍の速度になったで 1日かかるが10分くらいでクラック
- 重い処理ほどGPUがよいかもしれない
環境
- ホストマシン Windows




Windows 11、13th Gen Intel(R) Core(TM) i9-13950HX(2.20GHz)、NVIDIA GeForce RTX4070 Laptop、メモリ32GB、Blade16 - ゲストマシン Kali Linux (省略)
- 仮想化 VMWare Workstation player
VMWare ESXiであればパススルーという方式があるらしいがWorkstation Playerはないみたい
step 0 現状確認
Kali linuxが認識しているインターフェースの確認
hashcat -I
ベンチマーク測定 NTLM
hashcat -b -m 1000
大体 1.4Gパスワードを一秒間に実行できる
rockyouの場合は 1秒で14MHあれば終わるので100回くらい実行できそう? (14,344,392ハッシュ)

- NTLMの辞書攻撃によるクラックなら正直困らない
ブルートフォースの場合は?(もう少し負荷が欲しい)
計算 文字パターン の 文字数 乗 / 一秒間に処理できる回数
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
0123456789
'-!"#$%&()*,./:;?@[]^_`{|}~+<=>
Windwosの場合だと上記の 91文字が利用できる (26+26+10+29 = 91)
- 8文字から12文字をクラックするとしたら
クラックしたいパスワード 91の12乗 - 91の8乗
1秒当たりの処理数 1.4 × 10の9乗(ギガ)
秒数
日数
年数
7304021年...ちょっとおもすぎなのでもっと現実的にワードリスト*ルールにしてみる
ワードリスト*ルールの場合
14344392*30000 => 430,331,550,000
430GH/1.4GH => 307 5分くらい
step 1 hashcat を ホスト(Windwos)で試す
インストール
下記のHashcat正規サイトからダウンロードして任意の場所に解凍
https://hashcat.net/hashcat/
*お好みで感興変数Pathの設定をしてもよい(どこからでも実行できるように)
インターフェースの確認
NVIDIAはエラーがでる
hashcat -I
下記の設定が入っていないというエラーがでる
- NVIDIA RTC Library
- CUDA SDK Toolkit
試しに実行してみる この時点でKaliより結構早い
hashcat -b -m 1000
計測
7304021年/46 => 730万年から158万年になった笑 (1時間かかるものが1.3分(1分20秒?)くらいになる想定)

=> NVIDIAのエラーをなくすともっと早くなる?
#1 NVIDIA GeForce RTX 4070 Laptop: 65522MH
#2 Intel内蔵: 1997MH
step 2 NVIDIA CUDA SDK Toolkitを入れて試す(NVIDIA GPUがあれば)
インストール
下記のサイトからダウンロードして実行
https://developer.nvidia.com/cuda/toolkit
自分の環境に合わせて選択
powershellならecho $env:processorarchitectureとかいい感じに確認してください

ドライバーは導入しているのでtoolkitだけダウンロードして実行

ソフトウェア使用許諾に同意=> etc... 特に選択しなさそうなのでデフォルトでよさそう。
インターフェースの確認
hashcat -I
=> 失敗
再起動してみる
=> あんまり問題はないみたいだけど、できたらいいっぽいけど、、、
https://hashcat.net/forum/thread-8437.html
計測 失敗
どうやらドライバーもアップデートしないといけないらしい
(ドライバーが古いけど、toolkitが新しいから互換性ないみたい)

step 3 NVIDIA ドライバーの更新
インストール
それぞれの環境に合うように選択
https://www.nvidia.com/en-us/drivers/

ゲームのほうが互換性か何か優先している?
STUDIO Driverのほうにしてみる

=> NVIDIA Appっていう自動更新をおすすめされたので使ってみる(おそらく互換性とか優先ならしないほうがよさそう)
再起動したけどファンのスピードはとれなさそう=>権限かも?だけどいったん放置

計測
あんまり変わんなかった笑 というか遅くなった
エラーを対応してもしなくてもある程度早くなってるみたい 容量がそもそも8GBだからかもしれないけれど
step 4 Intelのドライバーをアップデート(ついでに)
下記のサポートへアクセスしてインストール
https://www.intel.co.jp/content/www/jp/ja/support/detect.html
実行したらサポートアシスタンス用のサイトへ移動して、ポップアップで許可してすべてダウンロードに設定

=> すべてインストールでそのまま進める
=>
インターフェースおよび計測
hashcat -I
nvmlDeviceGetFanSpeed(): Not Supported
CUDA Info:
==========
CUDA.Version.: 13.2
Backend Device ID #01 (Alias: #02)
Name...........: NVIDIA GeForce RTX 4070 Laptop GPU
Processor(s)...: 36
Preferred.Thrd.: 32
Clock..........: 1980
Memory.Total...: 8187 MB
Memory.Free....: 7068 MB
Memory.Unified.: 0
Local.Memory...: 99 KB
PCI.Addr.BDFe..: 0000:01:00.0
OpenCL Info:
============
OpenCL Platform ID #1
Vendor..: NVIDIA Corporation
Name....: NVIDIA CUDA
Version.: OpenCL 3.0 CUDA 13.2.82
Backend Device ID #02 (Alias: #01)
Type...........: GPU
Vendor.ID......: 32
Vendor.........: NVIDIA Corporation
Name...........: NVIDIA GeForce RTX 4070 Laptop GPU
Version........: OpenCL 3.0 CUDA
Processor(s)...: 36
Preferred.Thrd.: 32
Clock..........: 1980
Memory.Total...: 8187 MB (limited to 2046 MB allocatable in one block)
Memory.Free....: 7068 MB
Memory.Unified.: 0
Local.Memory...: 48 KB
OpenCL.Version.: OpenCL C 1.2
Driver.Version.: 596.36
PCI.Addr.BDF...: 01:00.0
OpenCL Platform ID #2
Vendor..: Intel(R) Corporation
Name....: Intel(R) OpenCL Graphics
Version.: OpenCL 3.0
Backend Device ID #03
Type...........: GPU
Vendor.ID......: 8
Vendor.........: Intel(R) Corporation
Name...........: Intel(R) RaptorLake-S Mobile Graphics Controller
Version........: OpenCL 3.0 NEO
Processor(s)...: 8
Preferred.Thrd.: 7
Clock..........: 1650
Memory.Total...: 14783 MB (limited to 2047 MB allocatable in one block)
Memory.Free....: 7391 MB
Memory.Unified.: 1
Local.Memory...: 64 KB
OpenCL.Version.: OpenCL C 1.2
Driver.Version.: 32.0.101.7085
OpenCL Platform ID #3
Vendor..: Microsoft
Name....: OpenCLOn12
Version.: OpenCL 3.0 D3D12 Implementation
デフォルト
hashcat -b -m 1000
cuda nvidia
hashcat -b -m 1000 -d 1
oopencl nvidia
hashcat -b -m 1000 -d 2
opencl intel
hashcat -b -m 1000 -d 3
その他のベンチマーク(ちょっと重めだったら)
13100 Kerberos5, etype 23, TGS-REP
- kali
hashcat -b -m 13100
- windows
hashcat -b -m 13100
- windows NVIDIA only
hashcat -b -m 13100 -d 1
つまり、ワードリストと重めのルールを使った場合: rockyou * rockyou-30000(430,331,550,000)
- 22時間33分(81,194秒)から9分(544秒)に短縮
結論
つまり、、、
- 今回のケースではVMWare Workstation Player上のKali LinuxよりWindows上Hashcatのほうが早くなる
(NVIDIA GPU搭載であれば?) - NVIDIA GeForce RTX 4070 8GBが結構処理してくれる 67GHくらい
- 今回のケースでは特段設定しなくてもOpenCLで処理できていたのでドライバ入れなくても動作していたみたい
- OpenCLよりCUDAドライバーを使ったほうが処理が速そう(複数回実施してみた感じ)
- Intel内蔵はいうほどベンチマーク高くなさそう
(他の処理をとられているのか、排熱の問題?、もしくはシンプルにNVIDIAのほうがパスワードクラックに向いている?) - Intel × NVIDIAより NVIDIA単体で動かしたほうが早くなった
- NTLMが47倍、Kerberosが149倍の速度になったので重い処理ほどGPUは得意なのかもしれない
今回の環境では:
- ホスト側 Windows * NVIDIA CUDA driver * NVIDIA単体が最速





















