パスワードクラッキングのためのクラウドベースのインスタンスの人気が高まっているため、Kali のアプローチを合理化することに注力することにしました。 Amazon の AWS P2 シリーズと Microsoft の Azure NC シリーズは、Windows と Ubuntu に重点を置いていることに気付きました。対応するブログ投稿とガイドもそれに続きました。これらのインスタンスは NVIDIA Tesla K80 のハードウェア機能によって制限されますが、CUDA をサポートする Kali インスタンスを迅速にデプロイできる機能は魅力的です。
プロプライエタリなグラフィックス ドライバーのインストールは、常にフラストレーションの原因でした。幸いなことに、パッケージングの改善により、このプロセスがよりシームレスになりました。クラウド オファリングでの作業は Google が行いましたが、インストールを簡素化してご自身で使用できるよう支援したいと考えています。
前提条件
まず、システムが完全にアップグレードされ、カードが CUDA をサポートしていることを確認する必要があります。 注: CUDA 計算能力が 5.0 以上の GPU が推奨されますが、それ以下の GPU でも動作します。
apt-get update && apt-get dist-upgrade -y
システムを更新したら、nouveau カーネル モジュールを確認する必要があります。 、有効になっている場合はブラックリストに登録します。
[email protected]:~# lsmod |grep -i nouveau
nouveau 1499136 1
mxm_wmi 16384 1 nouveau
wmi 16384 2 mxm_wmi,nouveau
video 40960 1 nouveau
[email protected]:~#
[email protected]:~# echo -e "blacklist nouveau\noptions nouveau modeset=0\nalias nouveau off" > /etc/modprobe.d/blacklist-nouveau.conf
カーネル パラメータを変更したら、initramfs を更新する必要があります 、次に再起動します。
update-initramfs -u && reboot
ローカル コンピュータへのインストール
再起動して nouveau モジュールがロードされていないと判断したら、OpenCL ICD ローダー のインストールに進みます。 、ドライバー 、CUDA ツールキット .
apt-get install -y ocl-icd-libopencl1 nvidia-driver nvidia-cuda-toolkit
ドライバのインストール中にシステムが新しいカーネル モジュールを作成したため、もう一度再起動する必要があります。
ドライバのインストールを確認する
システムの準備が整ったので、ドライバーが正しくロードされていることを確認する必要があります。 nvidia-smi ツールを実行すると、これをすぐに確認できます。
[email protected]:~# nvidia-smi
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 375.26 Driver Version: 375.26 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 Tesla K80 Off | 0000:00:1E.0 Off | 0 |
| N/A 28C P0 53W / 149W | 0MiB / 11439MiB | 65% Default |
+-------------------------------+----------------------+----------------------+
出力にドライバーと GPU が正しく表示されたので、パスワード クラッキングに取り掛かることができます。先に進む前に、hashcat と CUDA が連携していることを再確認しましょう。
[email protected]:~# hashcat -I
OpenCL Info:
Platform ID #1
Vendor : NVIDIA Corporation
Name : NVIDIA CUDA
Version : OpenCL 1.2 CUDA 8.0.0
Device ID #1
Type : GPU
Vendor ID : 32
Vendor : NVIDIA Corporation
Name : Tesla K80
Version : OpenCL 1.2 CUDA
Processor(s) : 13
Clock : 823
Memory : 2047/11439 MB allocatable
OpenCL Version : OpenCL C 1.2
Driver Version : 375.26
注: c_lGetDeviceIDs():CL_DEVICE_NOT_FOUND_ というエラーが表示され、Vendor:Mesa というラベルの付いたプラットフォーム ID が表示された場合 実行:
apt-get remove mesa-opencl-icd
すべてが機能しているようです。ベンチマーク テストを実行してみましょう。
ベンチマーク
[email protected]:~# hashcat -b
OpenCL Platform #1: NVIDIA Corporation
======================================
* Device #1: Tesla K80, 2047/11439 MB allocatable, 13MCU
Hashtype: MD5
Speed.Dev.#1.....: 4247.2 MH/s (102.66ms)
Hashtype: SHA1
Speed.Dev.#1.....: 1850.5 MH/s (58.64ms)
Hashtype: SHA256
Speed.Dev.#1.....: 785.1 MH/s (69.41ms)
クラッキング
それでは、いくつかのハッシュをクラックしましょう。 hashcat wiki にある NetNTLMv2 ハッシュの例を使用します。
[email protected]:~# hashcat -a 0 -m 5600 ntlmv2.hash dict.txt
OpenCL Platform #1: NVIDIA Corporation
======================================
* Device #1: Tesla K80, 2047/11439 MB allocatable, 13MCU
ADMIN::N46iSNekpT:08ca45b7d7ea58ee:88dcbe4446168966a153a0064958dac6:5c7830315c7830310000000000000b45c67103d07d7b95acd12ffa11230e0000000052920b85f78d013c31cdb3b92f5d765c783030:hashcat
Session..........: hashcat
Status...........: Cracked
Hash.Type........: NetNTLMv2
Hash.Target......: ADMIN::N46iSNekpT:08ca45b7d7ea58ee:88dcbe4446168966a153a0064958dac6:5c7830315c7830310000000000000b45c67103d07d7b95acd12ffa11230e0000000052920b85f78d013c31cdb3b92f5d765c783030
Input.Base.......: File (dict.txt)
Input.Queue......: 1/1 (100.00%)
Speed.Dev.#1.....: 0 H/s (0.10ms)
Recovered........: 1/1 (100.00%) Digests, 1/1 (100.00%) Salts
Progress.........: 101/101 (100.00%)
成功! サンプルのハッシュをクラックし、インストールが機能することを証明しました。このガイドには記載されていませんが、クラッキング速度を改善するための構成は多数あります。ただし、特定のケースについてはハッシュキャットのドキュメントを参照することをお勧めします。
AWS で GPU インスタンスを実行する
P2 AWS イメージですぐに使用できる新しい CUDA 対応の Kali Rolling イメージを Amazon に登録しました。追加のセットアップは実質的に不要で、Kali GPU インスタンスを 30 秒以内に起動して実行できます。 P2 インスタンスを選択するだけで、クラッキングを開始できます!