Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
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
401563hace 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.

Conclusión

Este trabajo confirma las limitaciones del algoritmo LRP de PACK observadas originalmente por _NSAKEY en conjuntos de datos modernos cuando se usa el diccionario rockyou. Si bien el algoritmo LRP genera reglas que aumentan el porcentaje de descifrado, lo hace con un gran aumento en el espacio de búsqueda. Por esta razón, Pantagrule es más útil en casos donde el descifrado difícil requiere reglas exóticas.

Es importante señalar que si puedes usar PACK para generar reglas basadas en un corpus específico y luego apuntar tus hashes restantes con él, es probable que obtengas un mayor porcentaje de descifrado que usando uno de estos grandes conjuntos de reglas. Por ejemplo, Pantagrule V2 no funciona tan bien en PPv5 como el conjunto de reglas calibrado para v5.

Desde el lanzamiento original de Pantagrule, estas reglas han demostrado su valía en múltiples compromisos de equipos rojos en grandes empresas de tecnología y consultorías por igual. La lista original pantagrule.1m descifró el 8% de los hashes HIBP restantes que habían resistido el corpus utilizado para generar Pantagrule, los conjuntos de reglas comunes anteriores, una fuerza bruta alfanumérica de 7 caracteres y las topologías PathWell de KoreLogic.

Como incluso el autor de la meta-regla One Rule to Rule Them All (Hunt, 2017) afirma, no existe una regla que funcione mejor que otras. Cada caso de uso es diferente, y cada fuente de reglas puede ser una que te ayude más que otra en un volcado de hashes específico o con una lista de palabras específica. Tenga en cuenta que estos datos no muestran qué se ha descifrado; algunas reglas han descifrado hashes que otras reglas no han descifrado.

Citas

  1. Rabelais, F. (1532). Pantagruel. Paris: Libr. générale française.
  2. Kacherginsky, P. (2013). Automatic Password Rule Analysis and Generation. [en línea] Disponible en: https://medium.com/@iphelix/automatic-password-rule-analysis-and-generation-7d2574516e48 [Consultado el 4 oct. 2019].
  3. _NSAKEY. (2014). NSAKEY/nsa-rules. [en línea] Disponible en: https://github.com/NSAKEY/nsa-rules [Consultado el 4 oct. 2019].
  4. Hunt, W. (2017). One Rule to Rule Them All. [en línea] Disponible en: https://www.notsosecure.com/one-rule-to-rule-them-all/ [Consultado el 4 oct. 2019].

Licencia

Las reglas de Pantagrule se publican bajo la licencia MIT. Siéntete libre de integrarlas en tus propias herramientas.

Descargar herramienta
ReglasNúmero de reglasV5 25MV5 100MRPP
Sin reglas (solo rockyou.txt)016.549%6.450%N/A
pantagrule.private.v5.one99,09279.814%69.417%1,574
pantagrule.private.v5.hybrid355,20581.346%73.372%5,308
pantagrule.private.v5.popular478,73681.792%73.544%7,135
pantagrule.private.v5.random616,23681.687%69.805%8,828
pantagrule.hashorg.v6.one99,09274.500%60.573%1,831
pantagrule.hashorg.v6.hybrid339,95377.649%68.341%5,493
pantagrule.hashorg.v6.popular514,41680.668%72.377%6,931
pantagrule.hashorg.v6.random638,77380.603%72.713%8,614
pantagrule.private.hashorg.one.royce99,09279.618%69.092%1,582
pantagrule.private.hashorg.hybrid.royce314,26881.068%73.082%4,716
pantagrule.private.hashorg.popular.royce420,98481.386%73.102%6,316
pantagrule.private.hashorg.random.royce592,23581.659%74.010%8,766
best646445.117%24.985%3
hob0646837.786%19.773%5
OneRuleToRuleThemAll52,01478.058%64.541%895
d3adhob057,54851.274%34.800%2,030
dive99,09277.111%63.314%1,743
_NSAKEY V1123,28976.42%64.121%2,138
_NSAKEY V2123,28976.882%64.472%2,124