0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Hashcat パスワードクラックを高速処理したい件

0
Last updated at Posted at 2026-05-04

背景とテスト内容

課題: VMWare上だと、GPUなどがエミュレートされるため性能が発揮できない

NVIDIAでhashcatを実行したらブルートフォースとか重いクラックがしやすくなるかもしれない
=> 調べたところ、ESXiなどであれば直接仮想マシンにつなげれるみたいだが、Workstation Playerではできない

今回: ホスト(Windows)上でHashcatを設定して実行してみる

ネタバレ

  • NTLM: 47倍の速度になったので 1日かかる処理が31分ぐらいでクラック
  • Kerberos: 149倍の速度になったで 1日かかるが10分くらいでクラック
  • 重い処理ほどGPUがよいかもしれない

環境

  • ホストマシン Windows
    image.png
    image.png
    image.png
    image.png
    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

image.png

ベンチマーク測定 NTLM

hashcat -b -m 1000

image.png

大体 1.4Gパスワードを一秒間に実行できる
rockyouの場合は 1秒で14MHあれば終わるので100回くらい実行できそう? (14,344,392ハッシュ)
image.png

  • NTLMの辞書攻撃によるクラックなら正直困らない

ブルートフォースの場合は?(もう少し負荷が欲しい)

計算 文字パターン の 文字数 乗 / 一秒間に処理できる回数

abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
0123456789
'-!"#$%&()*,./:;?@[]^_`{|}~+<=>

Windwosの場合だと上記の 91文字が利用できる (26+26+10+29 = 91)

  • 8文字から12文字をクラックするとしたら
    クラックしたいパスワード 91の12乗 - 91の8乗
    1秒当たりの処理数 1.4 × 10の9乗(ギガ)

秒数

  • ((91 ** 12) - (91 ** 8)) / (1.4*(10 ** 9))
    image.png

日数

  • ((91 ** 12) - (91 ** 8)) / ((1.4*(10 ** 9))*60*60*24)
    image.png

年数

  • ((91 ** 12) - (91 ** 8)) / ((1.4*(10 ** 9))*60*60*24*365)
    image.png

7304021年...ちょっとおもすぎなのでもっと現実的にワードリスト*ルールにしてみる

ワードリスト*ルールの場合

image.png

image.png

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

image.png
image.png

image.png

試しに実行してみる この時点でKaliより結構早い

hashcat -b -m 1000

image.png

計測

1.4GH => 65GH 46倍
image.png

7304021年/46 => 730万年から158万年になった笑 (1時間かかるものが1.3分(1分20秒?)くらいになる想定)
image.png

=> 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とかいい感じに確認してください
image.png

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

ソフトウェア使用許諾に同意=> etc... 特に選択しなさそうなのでデフォルトでよさそう。

インターフェースの確認

hashcat -I

=> 失敗

再起動してみる

  • Warningみたいなのは消えたけどNot Suportedが出てる
    image.png

=> あんまり問題はないみたいだけど、できたらいいっぽいけど、、、
https://hashcat.net/forum/thread-8437.html

計測 失敗

どうやらドライバーもアップデートしないといけないらしい
(ドライバーが古いけど、toolkitが新しいから互換性ないみたい)
image.png

step 3 NVIDIA ドライバーの更新

インストール

それぞれの環境に合うように選択

https://www.nvidia.com/en-us/drivers/
image.png

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

=> NVIDIA Appっていう自動更新をおすすめされたので使ってみる(おそらく互換性とか優先ならしないほうがよさそう)

再起動したけどファンのスピードはとれなさそう=>権限かも?だけどいったん放置
image.png

計測

あんまり変わんなかった笑 というか遅くなった

image.png

エラーを対応してもしなくてもある程度早くなってるみたい 容量がそもそも8GBだからかもしれないけれど

step 4 Intelのドライバーをアップデート(ついでに)

下記のサポートへアクセスしてインストール
https://www.intel.co.jp/content/www/jp/ja/support/detect.html

実行したらサポートアシスタンス用のサイトへ移動して、ポップアップで許可してすべてダウンロードに設定
image.png

=> すべてインストールでそのまま進める

=>

インターフェースおよび計測

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

image.png

cuda nvidia

hashcat -b -m 1000 -d 1

image.png

oopencl nvidia

hashcat -b -m 1000 -d 2

image.png

opencl intel

hashcat -b -m 1000 -d 3

image.png

その他のベンチマーク(ちょっと重めだったら)

13100 Kerberos5, etype 23, TGS-REP

  • kali
hashcat -b -m 13100

image.png

  • windows
hashcat -b -m 13100

image.png

  • windows NVIDIA only
hashcat -b -m 13100 -d 1

image.png

  • Linux 5.3M Windows 791Mなので => Kerberosだと 149倍 1日の処理が10分くらい
    image.png

つまり、ワードリストと重めのルールを使った場合: 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単体が最速
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?