¿Hydra divide el archivo de lista de palabras en tantas partes como tareas / subprocesos?

2

Estoy jugando con Hydra y una autenticación xmpp.

Creé mi propio servidor xmpp básico, reproduciendo una autenticación (del lado del servidor) desde un archivo pcap de texto claro. Creo que tengo un error en el manejo de mis conexiones (estoy creando un hilo por cada nueva conexión pero lo cierro por error) pero no importa, este no es mi punto.

He solucionado este problema de escalabilidad. Para aquellos interesados, se debió a una optimización de Hydra, que no se repite la primera, llamémosla "solicitud de saludo". Una autenticación regular necesita 4 solicitudes o respuestas de un cliente, 4 paquetes del servidor también. Y esta optimización salta la primera, yendo directamente a la segunda, que se parece a eso en mi caso: <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='SCRAM-SHA-1'/>

Estadísticas / Información:

  • Conf de la máquina virtual: 2 CPU, 2 GB de RAM.
  • Ubicación de la contraseña en la lista de palabras: posición 795 de 60k.
  • Tarea única: ~ 50 intentos / min - > ~ 17min para encontrar la contraseña.
  • 16 tareas: ~ 820 intentos / min - > 1h14min para completar sin encontrar el pw ('debido al problema de manejo de las conexiones).

Nuevas estadísticas (después de la optimización):

  • Tarea única: ~ 90 intentos / min - > 9min 13s
  • 16 tareas: ~ 1400 + intentos / min - > 33s

La pregunta es: ¿Hydra divide la lista de palabras en 16 partes iguales? Y como?

El tamaño de una parte es ~ 3.8k contraseñas. ¿Está el hilo 1 trabajando en las primeras contraseñas de 3.8k? El hilo 2 que trabaja en el 3801rst - > 7600? y así sucesivamente hasta el hilo 16? ¿De modo que las últimas 16 contraseñas probadas serían la 3799, la 7599 y así sucesivamente?

La otra posibilidad es que el subproceso 1, por ejemplo, proceda a cada 1% 16 (módulo) de contraseña de la lista de palabras, de modo que las contraseñas se prueban en el mismo orden que si solo tuviéramos 1 tarea (/ subproceso) en ejecución.

Puedo probarlo yo mismo, pero si alguien ya lo hizo, ilumina mi oscuridad.

    
pregunta T. Rode 29.11.2018 - 14:03
fuente

1 respuesta

0

He encontrado la respuesta.

Hydra está, creo, haciendo un módulo [número de tareas] para crear cada "subarchivo" que se procesa en paralelo. Por qué eso ? Debido a que es 99% la misma secuencia de prueba de contraseñas, quiero decir que se procesan en el mismo orden.

es decir: la contraseña número 1 se probará como número 1 lanzando 16 tareas, la contraseña número 2000 se probará en la posición 2000 y en el procesamiento de hidra de las 16 tareas.

También significa que el hilo / tarea 1 procesará las contraseñas 1, 17, 33, 49 ...

Thread / task 2 procesará las contraseñas 2, 18, 34, 50 ... y así sucesivamente.

Y, por supuesto, las contraseñas se procesan secuencialmente, es decir, en el mismo orden, si inicias Hydra con solo 1 tarea.

Lo probé con contraseñas de 8k y es casi siempre el mismo orden en ambos casos, con muy poca variación a veces.

    
respondido por el T. Rode 30.11.2018 - 15:12
fuente

Lea otras preguntas en las etiquetas