
Para realizar el ataque por fuerza bruta, vamos a emplear la herramienta Brute12, se puede descargar en formato binario ya compilado y su código fuente aquí.
Para que funcione correctamente has de tener instalado en tu equipo CAPICOM, una interface a la CryptoAPI de windows vía objetos COM/OLE.
Para poder realizar las pruebas necesitas tener un diccionario lo más amplio posible. Uno con mucha solera y tradición lo puedes obtener en la Web Openwall, contiene múltiples palabras en numerosos idiomas.
Una vez tengamos CAPICOM instalado y el diccionario procedemos a usar Brute12, para ello abrimos un terminal cmd.exe y nos situamos donde hayamos descomprimido el .zip descargado ejecutándolo de la siguiente forma:
D:\brute12>brute12.exe certificado.p12 diccionario.txt
Brute12 31032008
http://www.security-projects.com/?Brute12
yjesus@security-projects.com
[*]Start
The current date/time is: Mon Mar 31 12:43:12 2008
Words tested: 1000
The current date/time is: Mon Mar 31 12:43:14 2008
Words tested: 2000
The current date/time is: Mon Mar 31 12:43:16 2008
Words tested: 3000
The current date/time is: Mon Mar 31 12:43:17 2008
El proceso continuara hasta que encontremos la contraseña del certificado y obtengamos el siguiente mensaje con la contraseña:
PKCS12 Deciphered !!
password:1234
The current date/time is: Mon Mar 31 12:44:59 2008
Pese a la criticidad de este tipo de ficheros (almacenan credenciales criptográficas para accesos seguros) es increíble la cantidad de entradas que devuelve google con una búsqueda como: filetype:p12 OR filetype:pfx
Desde mi punto de vista exponer este tipo de ficheros de forma publica es análogo a publicar un fichero passwd o SAM
-Referencias-
http://www.security-projects.com/?Brute12
http://www.rsa.com/rsalabs/node.asp?id=2124
http://www.openwall.com/
http://msdn2.microsoft.com/en-us/library/ms995332.aspx
2 comments :
Curioso :-)
Tengo hecha por ahí una funcioncilla en Java para hacer esto mismo; ¿sabes si se nota mucha diferencia de rendimiento con tu versión no-lastrada-por-la-jvm?
Hombre, yo entiendo que necesariamente debería ser mas rápido, no obstante, si te digo que, pensando en el rendimiento, hice una versión que tiraba directamente de CAPI sin usar objetos OLE y después de terminarla, el rendimiento era idéntico. Siempre puedes poner un contador como en el brute12 y ver lo que tarda en procesar 2000 o 3000 palabras.
Publicar un comentario