lunes, marzo 15, 2010

Ataque por diccionario en Perl II

Teniendo en cuenta esto que decía el otro día, así quedaría el programita Perl para el ataque por diccionario:

Nota: También es recomendable la forma que propone Nemo en los comentarios del primer post.

Este programa se ejecuta a toda leche, aunque obviamente es muy mejorable (por ejemplo quitando la visualización de las palabras).

Explicación rápida:

Abrimos el diccionario y por cada palabra hacemos el siguiente tratamiento:

1.-Quitamos el retorno de carro a la palabra con el chop.
2.-Preparamos el comando gpg con sus parámetros para la ejecución pasándole la password. MUY IMPORTANTE: Terminamos con un PIPE o tubería (la rayita vertical). Esto hace que se le pase a nuestro programita Perl la salida del gpg.
3.-Ponemos el contador a 0. Con este contador contamos las líneas que genera el gpg en la salida.
Cuando falla la contraseña el GPG devuelve 2 líneas indicando el error. Cuando acierta devuelve un mínimo de 3. El máximo es variable porque muestra todo el mensaje en claro.
4.-Sin más. Si hay más de 2 líneas muestra la contraseña y termina.
5.-Si llega al final del programa es que no ha encontrado la contraseña válida.

Saludos.

No hay comentarios: