Aufgrund der zunehmenden Popularität von Cloud-basierten Instanzen zum Knacken von Passwörtern haben wir uns entschieden, unsere Bemühungen auf die Straffung des Ansatzes von Kali zu konzentrieren. Wir haben festgestellt, dass sich die AWS P2-Serie von Amazon und die Azure NC-Serie von Microsoft auf Windows und Ubuntu konzentrieren. Die entsprechenden Blogbeiträge und Ratgeber folgten. Obwohl diese Instanzen durch die Hardwarefähigkeiten des NVIDIA Tesla K80 eingeschränkt sind, ist die Möglichkeit, eine Kali-Instanz mit CUDA-Unterstützung schnell bereitzustellen, ansprechend.
Die Installation proprietärer Grafiktreiber war schon immer eine Quelle der Frustration; Glücklicherweise haben Verbesserungen bei der Verpackung diesen Prozess viel nahtloser gemacht. Obwohl wir bei den Cloud-Angeboten die Arbeit für Sie erledigt haben, möchten wir Ihnen helfen, die Installation für Ihren eigenen Gebrauch zu vereinfachen.
Voraussetzungen
Zunächst müssen Sie sicherstellen, dass Ihr System vollständig aktualisiert ist und Ihre Karte CUDA unterstützt. Hinweis: GPUs mit einer CUDA-Rechenleistung> 5.0 werden empfohlen, aber GPUs mit weniger funktionieren immer noch.
apt-get update && apt-get dist-upgrade -y
Sobald wir das System aktualisiert haben, müssen wir nach den nouveau Kernel-Modulen suchen , und setzen Sie sie, falls aktiviert, auf die schwarze Liste.
[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
Nach dem Ändern der Kernelparameter müssen wir unser initramfs aktualisieren , dann neu starten.
update-initramfs -u && reboot
Installation auf einem lokalen Computer
Sobald wir neu gestartet und festgestellt haben, dass die Nouveau-Module nicht geladen wurden, werden wir mit der Installation des OpenCL ICD Loader fortfahren , Treiber und das CUDA-Toolkit .
apt-get install -y ocl-icd-libopencl1 nvidia-driver nvidia-cuda-toolkit
Während der Installation der Treiber hat das System neue Kernel-Module erstellt, sodass ein weiterer Neustart erforderlich ist.
Treiberinstallation überprüfen
Jetzt, da unser System betriebsbereit sein sollte, müssen wir überprüfen, ob die Treiber korrekt geladen wurden. Wir können dies schnell überprüfen, indem wir das nvidia-smi-Tool ausführen.
[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 |
+-------------------------------+----------------------+----------------------+
Da die Ausgabe unseren Treiber und unsere GPU korrekt anzeigt, können wir jetzt in das Knacken von Passwörtern eintauchen. Bevor wir zu weit voranschreiten, überprüfen wir noch einmal, ob hashcat und CUDA zusammenarbeiten.
[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
Hinweis: Wenn Sie den Fehler c_lGetDeviceIDs():CL_DEVICE_NOT_FOUND_ mit der Plattform-ID mit der Bezeichnung Vendor:Mesa erhalten ausführen:
apt-get remove mesa-opencl-icd
Es scheint, dass alles funktioniert, machen wir weiter und führen Sie einen Benchmark-Test durch.
Benchmarking
[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)
Knacken
Lassen Sie uns nun ein paar Hashes knacken. Wir werden den Beispiel-NetNTLMv2-Hash verwenden, der im Hashcat-Wiki zu finden ist.
[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%)
Erfolg! Wir haben den Beispiel-Hash geknackt und bewiesen, dass unsere Installation funktioniert. Es gibt eine Vielzahl von Konfigurationen zur Verbesserung der Cracking-Geschwindigkeit, die in dieser Anleitung nicht erwähnt werden. Wir empfehlen Ihnen jedoch, sich die Hashcat-Dokumentation für Ihre spezifischen Fälle anzusehen.
Ausführen einer GPU-Instanz in AWS
Wir haben neue CUDA-fähige Kali Rolling-Images bei Amazon registriert, die sofort mit P2-AWS-Images funktionieren. Da praktisch keine zusätzliche Einrichtung erforderlich ist, können Sie mit einer Kali-GPU-Instanz in weniger als 30 Sekunden loslegen. Alles, was Sie tun müssen, ist eine P2-Instanz auszuwählen, und Sie können loslegen!