Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
pantagrule — grandes rulesets de hashcat generados a partir de contraseñas comprometidas del mundo real | Kitploit
Herramientas/GitHubGitHub/rarecoil/pantagrule
Descifrado de ContraseñasAtaques de ContraseñasUtilidades y Frameworks
GitHubrarecoil/pantagrule

pantagrule

grandes rulesets de hashcat generados a partir de contraseñas comprometidas del mundo real

Ver Repositorio
4015610hace 5 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Pantagrule

conjuntos de reglas hashcat gigantescos generados a partir de contraseñas comprometidas

Advertencia de mantenimiento del proyecto: Este proyecto se considera completado. No se realizarán solicitudes de extracción ni cambios en este proyecto en el futuro a menos que sean errores reales o migraciones para permitir que estas reglas funcionen con versiones más recientes de hashcat.

Pantagrule es una serie de reglas para el crackeador de contraseñas hashcat generadas a partir de grandes cantidades de datos reales de compromiso de contraseñas. Si bien los archivos de reglas de Pantagrule pueden ser grandes, las reglas son ajustables y funcionan mejor que muchos conjuntos de reglas existentes.

Pantagrule se generó utilizando el algoritmo de ruta inversa de Levenshtein de PACK para la generación automatizada de reglas (Kacherginsky, 2013). Luego, la salida de PACK se ordenó según el número de veces que PACK generó la regla para crear el conjunto de reglas base. Este proceso es similar a las reglas generadas por _NSAKEY para las competiciones de descifrado de contraseñas en 2014 (_NSAKEY, 2014), sin embargo, Pantagrule se generó a partir de un conjunto de contraseñas significativamente más grande.

La versión 2 de Pantagrule se desarrolló a partir del corpus público "founds" de hashes.org, una lista de palabras pública de primera clase. Esto produce resultados más transparentes que la variante original, que utilizaba un corpus propietario que contenía 842,643,513 contraseñas únicas.

Cuando se introducen conjuntos de reglas tan grandes en PACK, se obtienen millones de reglas. Sin embargo, dado que la mayoría de las reglas generadas aparecen solo unas pocas veces, la mayoría de las reglas útiles son las que el algoritmo genera con mayor frecuencia. Este repositorio contiene un subconjunto de reglas generadas por PACK mientras se iteraba a través del corpus existente.

Variantes optimizadas

Para generar una optimización de segunda pasada de las reglas contra datos del mundo real, las mejores un millón de reglas generadas se ejecutaron contra la lista NTLM de Pwned Passwords utilizando la lista de palabras rockyou. Cualquier regla que descifró una contraseña se agregó a su propia lista y las reglas con peor rendimiento se descartaron.

Se crearon cuatro tipos de optimización:

  • popular.rule: pantagrule.1m ejecutado contra los 25,000,000 principales de contraseñas del conjunto HIBP.
  • random.rule: pantagrule.1m ejecutado contra 25,000,000 contraseñas seleccionadas aleatoriamente del conjunto HIBP.
  • hybrid.rule: Una lista ordenada de una combinación de las reglas popular y random más exitosas, luego reducida a la mitad, en un intento de crear un conjunto de reglas más ligero y "equilibrado" que funcione en un conjunto de muestra más grande.
  • one.rule: Una versión de OneRuleToRuleThemAll en la que se agregan las reglas hybrid de mejor rendimiento, y la lista se trunca al tamaño del conjunto de reglas dive. Curiosamente, solo hay una superposición de un par de miles de reglas con OneRuleToRuleThemAll y las reglas de Pantagrule, lo que hace que las dos estrategias sean complementarias. La regla one de Pantagrule funciona mejor que otras listas conocidas de este tamaño, y se recomienda comenzar con este conjunto de reglas antes de intentar una de las variantes más grandes.

Pantagrule hashorg.v6

Después del éxito de estos grandes conjuntos de reglas, se intentó hacer lo inverso de la variante royce, en la que se utilizó la metodología original de Pantagrule pero ambos conjuntos de datos eran diferentes. Pantagrule ahora utiliza la lista pública "founds" de hashes.org como base de lista de palabras para la generación de reglas, y luego se realizó una pasada de optimización contra la lista NTLM V6 de Have I Been Pwned. Dada la naturaleza completamente pública de los datos utilizados, también permite la publicación de datos de reproducibilidad brutos, incluido pantagrule.v2.1m.rule, que son el millón de reglas principales generadas por esta metodología. Los datos para V5 y V6 son los mismos para los 25 millones de contraseñas principales.

Para esta versión, la forma en que se genera one ha cambiado. Para generar one, la lista completa de 1 millón se agregó a OneRuleToRuleThemAll.rule y luego todo el conjunto se calibró en Pwned V6, en lugar de solo agregar reglas y truncar.

Las convenciones de nomenclatura de las reglas ahora han cambiado al formato pantagrule.${corpus}.${trainingversion}.${extension}. Esto facilita la comprensión de para qué fue optimizada la regla. Por ejemplo, para pantagrule.hashorg.v6.random, utilizamos la metodología random con hashes.org como base para la generación de reglas, optimizada en Pwned Passwords V6.

Reglas originales

Las reglas originales se entrenaron utilizando la lista de palabras propietaria junto con el conjunto Pwned Passwords NTLM v5 usando rockyou.txt como base. Dado que los "datos de entrenamiento" y los datos de validación son los mismos, tendría sentido verlos optimizados para el conjunto de datos V5.

Las variantes royce

A petición del colaborador de hashcat Royce Williams, también se ejecutaron optimizaciones del millón de reglas principales con la lista founds de hashes.org. Esto se debe a que el corpus HIBP está relativamente sucio, y es probable que la lista founds de hashes.org produzca un conjunto de reglas más práctico para el descifrado en el mundo real. Estas se han agregado como las variantes royce. Las optimizaciones royce parecen consistir en un número marginalmente menor de reglas en general, y random.royce es sustancialmente más efectiva en una larga cola de contraseñas que la random original. El rendimiento no aumentó con respecto a las reglas existentes en algunas variantes, pero dado que los datos de entrenamiento y validación del Pantagrule original provienen ambos del conjunto de datos Pwned Passwords, esto no parece sorprendente. Las variantes Pantagrule royce existen en la carpeta rules/royce.

Rendimiento frente a otras reglas de uso común

Para probar cualquier éxito de la estrategia Pantagrule frente a otros conjuntos de reglas, ejecutaremos datos de validación en los 25 millones principales de contraseñas de Pwned Passwords V5 y los 100 millones principales de contraseñas de Pwned Passwords V5 para comprender la efectividad de las reglas para descifrar la "larga cola" con cada conjunto de reglas. El rockyou.txt canónico será nuestro diccionario y nuestra línea base.

La generación de la variante original se realizó en un equipo con 8x 1070Ti ejecutando hashcat v5.1.0. Las variantes Pantagrule royce se crearon en un equipo con 4x Radeon VII ejecutando la compilación git de hashcat v5.1.0-1774-gf96594ef. Las variantes hashorg.v6 se crearon y validaron (muy lentamente) en una sola NVIDIA Tesla M4, una sola 1070Ti y hashcat v6.1.0.

Para observar el rendimiento de las reglas contra contraseñas muy comunes, 0-25M se separa en su propia columna. La columna RPP son las reglas por porcentaje en el conjunto de datos de 100M. Esto se calcula usando la fórmula rpp = Math.round(num_rules / (0_100m_percent - 6.450)). Cuanto mayor sea este número, más reglas se ejecutan por porcentaje descifrado. Esto ayuda a comprender los rendimientos decrecientes en los conjuntos de reglas y da una idea del costo amplificado de ejecutar las reglas en hashes más lentos.

Descargar herramienta