GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Cracking in der Cloud mit CUDA-GPUs

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!


Linux
  1. Deaktivieren Sie die Anmeldung mit dem Root-Konto

  2. Verwendung von –exclude mit dem Du-Befehl?

  3. Aufbau der Steuer-Cloud

  4. Beginnen Sie mit Cloud-Servern

  5. '&&' vs. '&' mit dem 'test'-Befehl in Bash

Analysieren Sie den Linux-Kernel mit ftrace

Lernen Sie Linux mit dem Raspberry Pi

Verbesserung der Zusammenarbeit mit der Cloud

Erstellen Sie Ihre Anwendung in der Rackspace-Cloud

Rackspace Cloud Essentials:Überprüfen Sie den SSH-Host-Fingerabdruck eines Servers mit der Webkonsole

Sichern Sie Linux mit der Sudoers-Datei