Para explotar la vulnerabilidad, un atacante MITM haría
efectivamente hacer lo siguiente:
o Espere una nueva conexión TLS, seguida de ClientHello
Mensajes del protocolo de enlace de ServerHello.
o Emitir un paquete CCS en ambas direcciones, lo que hace que OpenSSL
Código para usar una clave secreta pre maestro de longitud cero. El paquete se envía a
Ambos extremos de la conexión. Las claves de sesión se derivan usando un cero
la clave secreta de pre maestro de longitud, y las claves de sesión futuras también comparten esto
debilidad.
o Renegociar los parámetros del protocolo de enlace.
o El atacante ahora puede descifrar o incluso modificar los paquetes en
tránsito.
El script funciona enviando un mensaje 'ChangeCipherSpec' fuera de orden
y verificando si el servidor devuelve una alerta 'UNEXPECTED_MESSAGE'
grabar o no Dado que un servidor no parcheado simplemente aceptaría esto
mensaje, el paquete CCS se envía dos veces, para forzar una alerta desde
el servidor. Si el tipo de alerta es diferente a 'UNEXPECTED_MESSAGE',
Podemos concluir que el servidor es vulnerable.
Fuente: enlace
Puede usar openssl s_client en linux para enviar paquetes al servidor y confirmar la vulnerabilidad manualmente.
Además, le sugeriré que use testssl.sh disponible en enlace porque la herramienta es mucho más completa y precisa.