Hacking y Ciberseguridad Descifrar contraseñas con hashcat y Hashtopolis

 

 www.onlinetis.com

Hacking y Ciberseguridad Descifrado de contraseñas hashcat y Hashtopolis

Hashcat

Ejecute una prueba comparativa en todos los tipos de hash admitidos para determinar la velocidad de descifrado:

 

Utilice el modo md5crypt (-m 500) para descifrar el hash de muestra (example500.hash) con la lista de palabras proporcionada (/usr/share/wordlists/sqlmap.txt):

 

Hashcat admite cinco modos de ataque únicos para más de 300 algoritmos de hash altamente optimizados. Actualmente, Hashcat es compatible con CPU, GPU y otros aceleradores de hardware en Linux, y cuenta con funciones que facilitan el descifrado distribuido de contraseñas.

Algunos ejemplos de algoritmos hash admitidos por hashcat son: MD5, HMAC-MD5, SHA1, HMAC-SHA1, MySQL323, MySQL4.1/MySQL5, phpass, MD5(Wordpress), MD5(phpBB3), MD5(Joomla), md5crypt, MD5(Unix), FreeBSD MD5, Cisco-IOS, MD4, NTLM, Domain Cached Credentials (DCC), MS Cache, SHA256, HMAC-SHA256, md5apr1, MD5(APR), Apache MD5, SHA512, HMAC-SHA512, Cisco-PIX, Cisco-ASA, WPA/WPA2, Double MD5, bcrypt, Blowfish(OpenBSD), MD5(Sun), Double SHA1, SHA-3(Keccak),Half MD5, Password Safe SHA-256, IKE-PSK MD5, IKE-PSK SHA1, NetNTLMv1-VANILLA/NetNTLMv1-ESS, NetNTLMv2, Cisco-IOS SHA256, Android PIN, AIX {smd5}, AIX {ssha256}, AIX {ssha512}, AIX {ssha1}, GOST, GOST R 34, Fortigate (FortiOS), OS X v10.8+, GRUB 2, IPMI2, RAKP, HMAC-SHA1, sha256crypt, SHA256(Unix), Drupal7, WBB3, scrypt, Cisco $8$, Cisco $9$, Radmin2, Django (PBKDF2-SHA256), Cram MD5, SAP, iSSHA-1, PrestaShop, PostgreSQL, Autenticación de desafío-respuesta (MD5), Autenticación de desafío-respuesta de MySQL (SHA1), Autenticación de resumen SIP (MD5), Texto sin formato, Joomla < 2.5.18, PostgreSQL, osCommerce, xt:Commerce, Skype, nsldap, Netscape, LDAP, nsldaps, SSHA-1(Base64), Oracle S:Type (Oracle 11+), SMF > v1.1, OS X v10.4, v10.5, v10.6, EPi, Django (SHA-1), MSSQL (2000), MSSQL (2005), PeopleSoft, EPiServer 6.x < v4, hMailServer, SSHA-512(Base64), LDAP {SSHA512}, OS X v10.7, MSSQL (2012 y 2014), vBulletin < v3.8.5, PHPS, vBulletin > v3.8.5, IPB2+, MyBB1.2+, Mediawiki B Type, WebEdition CMS, Redmine. Hashcat ofrece múltiples modos de ataque para obtener una cobertura efectiva y compleja del espacio de claves de un hash. Estos modos son:

  • Brute-Force attack
  • Combinator attack
  • Dictionary attack
  • Fingerprint attack
  • Hybrid attack
  • Mask attack
  • Permutation attack
  • Rule-based attack
  • Table-Lookup attack
  • Toggle-Case attack
  • PRINCE attack

Utilidad avanzada de recuperación de contraseña basada en CPU

 

 

Utilizar Hashcat es un proceso que implica comprender los comandos y parámetros clave de la herramienta. Hashcat es una utilidad de recuperación de contraseñas de alto rendimiento que se utiliza para auditar la seguridad de las contraseñas.


1. Preparación del Entorno

Antes de comenzar, asegúrate de tener todo lo necesario:

  • Hashcat: Descarga la versión más reciente desde su sitio oficial.

  • Drivers de GPU: Instala los últimos drivers de tu tarjeta gráfica (NVIDIA, AMD, o Intel). La aceleración por GPU es crucial para el rendimiento de Hashcat.

  • Un archivo de hash: Este es el archivo que contiene la contraseña cifrada que quieres descifrar. El formato del hash debe ser compatible con Hashcat.

  • Un archivo de diccionario (opcional): Si vas a realizar un ataque de diccionario, necesitas un archivo de texto con una lista de posibles contraseñas.


2. Sintaxis Básica de Hashcat

La sintaxis general de Hashcat es la siguiente:

Bash
hashcat -m <tipo_de_hash> -a <tipo_de_ataque> <archivo_de_hash> <opciones>

A continuación, se explican los parámetros más importantes:

  • -m <tipo_de_hash>: Especifica el modo de hash. Cada tipo de hash (como MD5, SHA1, NTLM) tiene un número asociado. Puedes ver la lista completa de modos de hash ejecutando hashcat --help o consultando la documentación oficial.

  • -a <tipo_de_ataque>: Define el tipo de ataque a realizar. Los más comunes son:

    • 0: Ataque de diccionario.

    • 3: Ataque de máscara.


3. Tipos de Ataques Comunes

Ataque de Diccionario (-a 0) 📖

Este es el ataque más común y efectivo. Hashcat prueba cada palabra de un archivo de diccionario contra el hash.

Sintaxis:

Bash
hashcat -m <tipo_de_hash> -a 0 <archivo_de_hash> <archivo_de_diccionario>

Ejemplo (descifrar un hash MD5):

Bash
hashcat -m 0 -a 0 hash_md5.txt rockyou.txt
  • hash_md5.txt: El archivo que contiene el hash MD5.

  • rockyou.txt: El archivo de diccionario.

Ataque de Máscara (-a 3) 🎭

Este ataque es útil cuando se conocen las características de la contraseña (por ejemplo, su longitud o los tipos de caracteres que contiene). Se utilizan placeholders para generar combinaciones.

Placeholders comunes:

  • ?l: Letras minúsculas (a-z)

  • ?u: Letras mayúsculas (A-Z)

  • ?d: Dígitos (0-9)

  • ?s: Símbolos especiales (!@#$%^&*()_+-={}[]:;"'|<>,./?)

  • ?a: Todos los caracteres anteriores (?l?u?d?s)

Sintaxis:

Bash
hashcat -m <tipo_de_hash> -a 3 <archivo_de_hash> <máscara>

Ejemplo (descifrar un hash NTLM de 8 dígitos):

Bash
hashcat -m 1000 -a 3 ntlm_hash.txt ?d?d?d?d?d?d?d?d
  • -m 1000: Modo para NTLM.

  • ?d?d?d?d?d?d?d?d: Máscara que representa 8 dígitos.


4. Opciones Adicionales y Consejos

  • Pausa y reanudar: Usa s para pausar y reanudar el ataque. Hashcat guarda automáticamente el progreso en un archivo .potfile.

  • Ver el progreso: Presiona p para ver el estado y el rendimiento del ataque.

  • Ataques combinados: Puedes combinar un ataque de diccionario con reglas (-r) para modificar las palabras del diccionario (ej. añadir números o símbolos al final).

  • Revisa la documentación: Hashcat es una herramienta muy potente. La documentación oficial es tu mejor fuente para profundizar en todos sus modos y opciones.

    Hashtopolis

    Hashtopolis es una herramienta de código abierto diseñada para gestionar y automatizar el cracking de contraseñas de forma distribuida utilizando Hashcat. En lugar de tener que configurar y gestionar manualmente cada máquina (como se haría con hashcat-utils), Hashtopolis proporciona una solución centralizada y más eficiente.

    Componentes de Hashtopolis

    Hashtopolis se compone de dos partes principales:

    1. El servidor (Server): Es el cerebro de la operación. Se encarga de:

      • Gestionar la cola de tareas de cracking.

      • Distribuir las listas de hashes y los diccionarios a los agentes.

      • Recopilar los resultados de los agentes.

      • Ofrecer una interfaz de administración web para controlar todo el proceso.

      • Proporcionar estadísticas en tiempo real sobre el progreso del cracking.

    2. Los agentes (Agents): Son los clientes que se ejecutan en las máquinas que harán el trabajo de cracking.

      • Se conectan al servidor de Hashtopolis.

      • Solicitan tareas de cracking al servidor.

      • Descargan los datos necesarios (hashes, diccionarios, etc.).

      • Ejecutan Hashcat para realizar el cracking.

      • Envían los resultados (contraseñas crackeadas) de vuelta al servidor.

    Ventajas de usar Hashtopolis

    • Automatización: Elimina la necesidad de la gestión manual de archivos. El servidor se encarga de todo el proceso de distribución y recolección.

    • Centralización: Todo se gestiona desde una única interfaz web, lo que facilita el control y la monitorización de las tareas.

    • Escalabilidad: Permite agregar o eliminar fácilmente nodos de cracking (agentes) a medida que sea necesario.

    • Gestión de colas: Permite la creación y priorización de múltiples tareas de cracking, lo que es ideal para entornos con varios proyectos simultáneos.

    • Multiplataforma: Tanto el servidor como los agentes pueden funcionar en diferentes sistemas operativos (Linux, Windows, etc.).

    • Eficiencia: Optimiza el uso de los recursos de la red y el hardware, ya que los agentes solo descargan lo que necesitan y el servidor equilibra la carga de trabajo.

    En resumen, mientras que herramientas como hashcat-utils son útiles para configuraciones sencillas y manuales, Hashtopolis es la opción preferida para entornos más grandes y complejos donde se requiere una solución robusta y automatizada para la gestión de cracking de contraseñas de forma distribuida.

     https://github.com/hashtopolis/server/wiki/Installation

    Configurar Hashtopolis implica tres pasos principales: configurar el servidor, crear los agentes y gestionar las tareas a través de la interfaz web. Aquí te explicamos el proceso paso a paso.

    1. Configuración del servidor ⚙️

    El servidor de Hashtopolis es el cerebro de la operación. Deberás instalar un servidor web con PHP y una base de datos.

    • Instalar los requisitos:

      • Servidor web: Apache, Nginx o IIS.

      • PHP: Versión 7.1 o superior, con las siguientes extensiones habilitadas: php-curl, php-json, php-mysqlnd (o el conector de tu base de datos), php-zip, php-gd, php-mbstring, php-xml y php-bcmath.

      • Base de datos: MySQL o MariaDB.

    • Descargar Hashtopolis: Descarga la última versión del repositorio oficial de GitHub.

    • Configurar la base de datos:

      • Crea una base de datos y un usuario para Hashtopolis en tu servidor de MySQL/MariaDB.

      • Importa el archivo de base de datos database.sql que se encuentra en la carpeta raíz de Hashtopolis.

    • Configurar el archivo config.php:

      • Renombra el archivo config.template.php a config.php.

      • Edita el archivo config.php con la información de tu base de datos y el URL base de tu servidor.

    • Configurar permisos: Asegúrate de que el servidor web tenga permisos de escritura en las carpetas tasks/, files/, files/chunks/ y sessions/.


    2. Creación y conexión de agentes (Workers) 🚀

    Los agentes son los clientes que se ejecutan en las máquinas de cracking y se conectan al servidor.

    1. Generar el agente: En la interfaz web de Hashtopolis, ve a "Agentes" y haz clic en "Crear Agente". Selecciona el sistema operativo (Windows o Linux) y el tipo de plataforma (CPU o GPU). El servidor generará un script de agente (por ejemplo, agent.sh o agent.exe) que ya contendrá la URL del servidor y una clave de autenticación.

    2. Preparar la máquina del agente:

      • Instala Hashcat en la máquina.

      • Asegúrate de que los drivers de las GPU estén actualizados.

      • Copia el script de agente a la máquina.

    3. Ejecutar el agente:

      • En Linux, ejecuta el script con bash ./agent.sh.

      • En Windows, simplemente ejecuta agent.exe.

      • El agente se conectará automáticamente al servidor y comenzará a trabajar en las tareas asignadas.


    3. Gestión de tareas desde la interfaz web 📊

    Una vez que los agentes están conectados, puedes crear y gestionar las tareas de cracking.

    • Subir hashes: Ve a "Hashes" y sube el archivo de hashes que quieres crackear.

    • Crear una tarea: Ve a "Tareas" y haz clic en "Crear Tarea". Aquí configurarás:

      • Nombre de la tarea: Un nombre descriptivo.

      • Modo de Hashcat: El tipo de hash que estás crackeando (por ejemplo, -m 100 para NTLM).

      • Archivo de hashes: Selecciona el archivo de hashes que subiste.

      • Diccionario o reglas: Sube el diccionario que usarás o las reglas de ataque (por ejemplo, un ataque de diccionario, un ataque de fuerza bruta, etc.).

    • Añadir agentes a la tarea: En la sección "Agentes" de la tarea, puedes asignar los agentes que quieres que trabajen en ella. Hashtopolis distribuirá automáticamente el trabajo entre los agentes asignados.

    • Monitorizar el progreso: La interfaz web te mostrará el estado de la tarea, la velocidad de cracking, el tiempo estimado para finalizar y los hashes que ya han sido descifrados.

     

Entradas populares de este blog

Ciberseguridad y hacking con Whatweb

Como robar contraseñas haciendo un phishing web

Arsenal software hacking NFC