GNU/Linux >> Tutoriales Linux >  >> Linux

Crackear en la nube con GPU CUDA

Debido a la creciente popularidad de las instancias basadas en la nube para descifrar contraseñas, decidimos centrar nuestros esfuerzos en optimizar el enfoque de Kali. Hemos notado que la serie P2 de AWS de Amazon y la serie NC de Azure de Microsoft se centran en Windows y Ubuntu. Las publicaciones y guías de blog correspondientes siguieron su ejemplo. Aunque estas instancias están limitadas por las capacidades de hardware de NVIDIA Tesla K80, la capacidad de implementar rápidamente una instancia de Kali con soporte CUDA es atractiva.

La instalación de controladores de gráficos patentados siempre ha sido una fuente de frustración; afortunadamente, las mejoras en el empaque han hecho que este proceso sea mucho más fluido. Aunque hemos hecho el trabajo por usted en las ofertas de la nube, nos gustaría ayudarlo a simplificar la instalación para su propio uso.

Requisitos previos

Primero, deberá asegurarse de que su sistema esté completamente actualizado y que su tarjeta sea compatible con CUDA. Nota: Se recomiendan las GPU con una capacidad de cómputo CUDA> 5.0, pero las GPU con menos seguirán funcionando.

apt-get update && apt-get dist-upgrade -y

Una vez que hayamos actualizado el sistema, debemos buscar los módulos del kernel nouveau. y, si está habilitado, incluirlos en la lista negra.

[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

Después de modificar los parámetros del kernel, necesitaremos actualizar nuestro initramfs , luego reinicie.

update-initramfs -u && reboot

Instalación en una computadora local

Una vez hayamos reiniciado y hayamos determinado que no se han cargado los módulos nouveau, procederemos a instalar el OpenCL ICD Loader , Conductores y el juego de herramientas CUDA .

apt-get install -y ocl-icd-libopencl1 nvidia-driver nvidia-cuda-toolkit

Durante la instalación de los controladores, el sistema creó nuevos módulos de kernel, por lo que es necesario reiniciar de nuevo.

Verificar la instalación del controlador

Ahora que nuestro sistema debería estar listo para funcionar, debemos verificar que los controladores se hayan cargado correctamente. Podemos verificar esto rápidamente ejecutando la herramienta 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 |
+-------------------------------+----------------------+----------------------+

Con la salida que muestra nuestro controlador y GPU correctamente, ahora podemos sumergirnos en el descifrado de contraseñas. Antes de avanzar demasiado, verifiquemos dos veces para asegurarnos de que hashcat y CUDA funcionen juntos.

[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

Nota: Si recibe el error c_lGetDeviceIDs():CL_DEVICE_NOT_FOUND_ con ID de plataforma etiquetado como Vendor:Mesa ejecutar:

apt-get remove mesa-opencl-icd

Parece que todo funciona, sigamos adelante y realicemos una prueba comparativa.

Evaluación comparativa

[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)

Griete

Ahora vamos a descifrar algunos hashes. Vamos a utilizar el hash NetNTLMv2 de ejemplo que se encuentra en la wiki de hashcat.

[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%)

¡Éxito! Desciframos el hash de ejemplo y demostramos que nuestra instalación es funcional. Hay una multitud de configuraciones para mejorar la velocidad de craqueo, que no se mencionan en esta guía. Sin embargo, le recomendamos que eche un vistazo a la documentación de hashcat para sus casos específicos.

Ejecución de una instancia de GPU en AWS

Hemos registrado nuevas imágenes Kali Rolling habilitadas para CUDA con Amazon que funcionan de manera inmediata con imágenes P2 AWS. Prácticamente sin necesidad de configuración adicional, puede ponerse en marcha con una instancia de GPU Kali en menos de 30 segundos. ¡Todo lo que necesita hacer es elegir una instancia P2 y estará listo para comenzar a descifrar!


Linux
  1. Deshabilitar el inicio de sesión con la cuenta raíz

  2. ¿Contar los caracteres de cada línea con Wc?

  3. Creación de la nube fiscal

  4. Cree su aplicación en la nube de Rackspace

  5. Uso de python-novaclient con Rackspace Cloud Servers

Aprende Linux con la Raspberry Pi

Comience con los servidores en la nube

Lanzamiento en Rackspace Cloud

Aspectos esenciales de Rackspace Cloud:verifique la huella digital del host SSH de un servidor con la consola web

Asegure Linux con el archivo Sudoers

Kali Linux en la nube de AWS, de nuevo