Este blog ya no está activo, sigue informándote aquí:

Mostrando entradas con la etiqueta SHA1. Mostrar todas las entradas
Mostrando entradas con la etiqueta SHA1. Mostrar todas las entradas

miércoles, 8 de marzo de 2017

Eat more hashes.- El juego de la colisión SHA1

Ayer, por mis redes sociales, mucho revuelo con una entrada del blog [BugRoast] un reto donde el escritor Kinine nos invitaba a descubrir el porque dos binarios con el mismo hash, en MD5 y en SHA1, colisionaban.


Me tire un rato largo pensando y por si queréis hacer el experimento antes de que desvele el porqué, podéis dirigiros a la fuente descargaros los binarios, ejecutarlos (en uno debería imprimirse un Evil y en el otro un Liev) y verificarlos con un md5sum, sha1sum o cualquier herramienta que nos permita verificar el hash del binario.

Enlace a la fuente: 
Dicho esto después de estrujarme mucho la cabeza me dio por buscar e twitter y encontré lo siguiente: 
Es un pequeño truco en Python y la verdad es que divertido ya que de esta manera podríamos generar hasta binarios que colisionaran usando SHA256.  Claro, seria el mismo archivo solo que actuaria de maneras diferentes, mostrando dos resultados diferentes por lo que es normal que tengan el mismo numero de hash. Como he dicho, es un pequeño truco que, la verdad me ha dado un rato muy agradable y me ha servido mas para entender, o eso creo yo, este mundo que tanto me gusta. 

Sed Buenos ;) 

miércoles, 1 de marzo de 2017

SHA1.- Colisión de documentos en Python

Python se esta consolidando como el lenguaje predominante en el campo de la seguridad informática y cada vez me cuesta encontrar herramientas que no tengan parte de este lenguaje de programación en ellas. Como sabéis, esto me gusta mucho y me asusta ya que creo que debería estar aprendiendo a programar en otro lenguaje antes de que obsesione mas por el. 


Dicho esto y como hace [un par o tres de días] hablamos sobre la "primera" colisión de SHA1, hoy podemos jugar con sha1collider. Una herramienta de [Robert Xiao], que dándole dos archivos PDFs diferentes (Aunque deben tener el mismo tamaño de página y numero de páginas) nos genera dos PDFs diferentes con el mismo Hash y sí, lo hace mediante la manipulación de los archivos tratándolo como JPGs

Ademas, como siempre, el comando a usar es muy sencillo, aunque tendremos que instalar algunas dependencias:
  • python3 collide.py PDF1.pdf PDF2.pdf
Enlace a la herramienta: 
Sed Buenos con esto 0;) 

viernes, 24 de febrero de 2017

La "primera" colisión de SHA1

Hoy Google ha anunciado la primera colisión de la función de Hash SHA1. Bueno, la primera colisión pública desde que se [anunciara la vulnerabilidad teórica] en el año 2005. Me acuerdo que en la certificación sobre peritaje telemático forense ya teníamos como recomendación no usar SHA1 y nos prohibían el uso de MD5.

Para empezar, SHA1 es una función de hash muy famosa. Cuando pasamos una entrada (una cadena de caracteres por ejemplo) por dicha función ella nos devuelve un digest o salida en forma de cadena de caracteres que debería de ser única y de una longitud determinada.

Pues si al generar este digest con dos cadenas o documentos diferentes, el resultado es el mismo. Se dice que ha habido una colisión, que por definición en una función de hash segura no debería de pasar.




Pues eso es lo que ha conseguido Google aunque les ha costado un año conseguir. La verdad es que la entrada que han publicado al respecto es muy entretenida así que os recomiendo echarle un ojo ya que SHA1 no solo se usa para verificar documentos:

Sed Buenos ;)