Cómo crear un ataque DROWN [cerrado]

0

Necesito crear un laboratorio de pruebas para demostrar cómo un DROWN ( Descifrar RSA con eNcryption obsoleto y debilitado puede ser preformado, ¿alguien sabe de una guía o pasos para crear este ataque?

Necesito demostrar esto por mis honores, pero no puedo encontrar nada sobre esto. Sé cómo probar si un servidor es vulnerable, cómo resolver el problema, pero no puedo encontrar nada sobre cómo realizar el ataque realmente.

¿Puede alguien ayudarme por favor?

    
pregunta Sheldon 11.10.2016 - 08:45
fuente

1 respuesta

2

Como dijo el primer comentario, me parece muy dudoso que no puedas encontrar nada.

Una descripción completa de la implementación se puede encontrar aquí: enlace

Creo que lo que quieres decir es; "¿Me puede indicar un PoC público que pueda copiar?"

No.

Este ataque es altamente peligroso. Y si bien es un proyecto escolar asombroso, se puede usar para estafar a los bancos y robar información altamente confidencial, por lo que tiene sentido restringir las herramientas para hacerlo.

Si quieres construir el ataque por ti mismo, observa el ataque del canal lateral del oráculo de relleno de Bleichenbacher.

Aquí puede encontrar una implementación de esto.

Además, el documento técnico menciona esto para aumentar la probabilidad de encontrar un relleno válido:

  

Ataques de Oracle de relleno eficiente en hardware criptográfico. En   Avances en criptología – CRYPTO   2012. Springer, 2012, pp. 608–625.

Luego, para usar un servidor SSLv2 como un oráculo para mostrar la validez del relleno:

  

Esto le permite a un atacante deducir la validez de RSA   ciphertexts de la siguiente manera:   1.   El atacante envía un   ClientMasterKey   mes-   sage, que contiene un texto cifrado RSA   do   0   y   Cualquier secuencia de 11 bytes como la parte clara.   del   llave maestra   ,   mk   claro   .   El servidor re   sponds con un   ServerVerify   mensaje, que   contiene el   reto   cifrado utilizando el   server_write_key   .   2.   El atacante realiza una   búsqueda exhaustiva   terminado   Los posibles valores de los 5 bytes del   llave maestra   mk   secreto   .   Luego calcula el   correspondiente   server_write_key   y cheques   si el   ServerVerify   mensaje descifrado a la   reto   . Un valor debe pasar esta verificación; dejar   este valor se denomina   mk   0   . Recordemos que si el RSA   el texto en claro era válido,   mk   0   son los datos no rellenados en el   RSA en texto plano. De otra manera,   mk   0   es una generación aleatoria   Secuencia atada de 5 bytes.   3.   El atacante se vuelve a conectar al servidor con el   el mismo texto cifrado RSA   do   0   .   El servidor responde   con otro   ServerVerify   mensaje que contiene   la corriente   reto   cifrado utilizando el actual   server_write_key   . Si el cifrado RSA descifrado   el texto era válido, el atacante puede descifrar directamente un   correcto   reto   valor de la   ServerVerify   mensaje utilizando el   llave maestra   mk   0   . De otra manera,   Si el   ServerVerify   mensaje no correctamente   descifrar a la   reto   , el texto cifrado RSA era   inválido, y el atacante conoce el   mk   0   el valor era   generado al azar.

    
respondido por el J.A.K. 11.10.2016 - 14:43
fuente

Lea otras preguntas en las etiquetas