Rompiendo verificaciones de clave con Theorem Provers

TIPOS DE CLAVE DE PRODUCTO

A la hora de comprobar la legitimidad de la compra de un software, uno de los métodos más extendidos es la del uso de una clave de compra que se entrega al usuario cuando se compra el acceso al servicio o software. Estas claves deben ser comprobadas en algún punto de la ejecución y utilizar técnicas de ofuscación para que la generación de “keygens” no sea trivial.

Sin embargo, ¿cómo se comprueban estas claves? Aquí podemos encontrarnos con algunas de las siguientes situaciones: [Read more…]

Las contraseñas han muerto, larga vida a las contraseñas

Desde hace muchos años se viene hablando de la muerte de las contraseñas: Bill Gates afirmaba en 2006 que iban a morir en 3 o 4 años, IBM vaticinaba en 2011 que en menos de 5 años iban a ser sustituidas, y en el mismo sentido se pronunciaban en 2013 en la BBC cuando Apple añadía sensor de huellas a su iPhone.

Como veis a día de hoy, ninguno de esos presagios se ha cumplido y seguimos utilizando contraseñas para acceder a nuestros servicios digitales cada día. Pero aunque no se hayan cumplido totalmente, sí que están cogiendo fuerza varios mecanismos, herramientas y políticas que estoy seguro que en los próximos años darán mucho que hablar y “enterrarán” la concepción actual de las contraseñas en favor de métodos nuevos -o complementarios- de autenticarse con el número creciente de servicios digitales que utilizamos a diario.

[Read more…]

Cracking de contraseñas con hashcat

En esta entrada, he querido hacer una recopilación de los distintos métodos de ataque para la obtención de contraseñas mediante la herramienta Hashcat, posiblemente la herramienta más extendida y eficaz para este propósito, al alcance de cualquier persona interesada en el tema.

Para ello he decidido utilizar la versión 3.00 de la misma, ya que a partir de esta versión se deja de lado la separación entre ataques basados en la potencia de la CPU(antiguo Hashcat) y los ataques basados en la potencia de las tarjetas gráficas (HaschatOCL), para unir en una sola herramienta ambas opciones, aunque la mayor parte de los ataques que se explicarán en este artículo son válidos en versiones anteriores de esta herramienta.

Una de las tareas más importantes a la hora de crackear contraseñas cuando no disponemos de tiempo infinito (que suele ser bastante a menudo), es la planificación del propio ataque. Para ello, deberemos medir el tiempo que tenemos para el mismo, y en función de éste, limitar nuestras opciones de crackeo a aquellas tipologías de contraseña que creamos más probables de obtener en el tiempo que disponemos. Ésta no es una tarea sencilla, ya que la tipología de las contraseñas utilizadas puede depender de muchos factores entre los que se encuentra, por ejemplo, el país y el lenguaje de los usuarios de esas contraseñas o la edad media de los mismos, por lo que cuanta más información de contexto tengamos más podremos afinar en nuestra planificación.
[Read more…]