Me gustaría compilar e instalar una versión de OpenSSL vulnerable a Heartbleed en un servidor que estoy configurando para un desafío de seguridad web del equipo (ya que no están disponibles para instalar desde el repositorio de Ubuntu por razones obvias).
Descargué y compilé el código fuente de OpenSSL 1.0.1f usando las instrucciones proporcionadas (ejecutar ./config
, luego make
y make install
), e intenté ejecutar el Heartbleed POC disponible desde GitHub desde mi PC, sin embargo, el script no me confirma que no se haya recibido ninguna respuesta de latido y Es probable que el servidor no sea vulnerable.
La ejecución openssl version
produce el siguiente resultado: OpenSSL 1.0.1f 6 de enero de 2014 . Instalé un certificado SSL, por supuesto, y el acceso SSL funciona en el servidor.
OpenSSL está instalado para funcionar con Apache 2.4.7.
¿Alguien puede ayudar?
fuente
Respuestas:
Hay dos cosas que pueden estar sucediendo aquí:
Un simple "./configure; make; make install" colocará por defecto las bibliotecas compartidas
/usr/local/lib
. Sin embargo, las bibliotecas instaladas en el sistema estarán en/usr/lib
, que viene antes en la ruta de búsqueda de la biblioteca. A menos que elimine la versión de OpenSSL instalada en el sistema, no se encontrará la versión vulnerable.Incluso si está sobrescribiendo las bibliotecas del sistema, el cambio no se recogerá hasta que reinicie Apache. Los archivos eliminados permanecen accesibles (y ocupan espacio en el disco) hasta que todos los programas que tienen controles de archivo abiertos cierren esos controles de archivo.
fuente
¿Qué software de servidor se está utilizando?
A pesar de que el binario OpenSSL es vulnerable, es probable que un servidor web instalado desde un paquete de sistema operativo utilice una versión de biblioteca que no sea vulnerable.
La forma más sencilla de ejecutar un oyente vulnerable será
openssl s_server
: si necesita un servidor web completo para ser vulnerable, es probable que necesite compilar contra el vulnerable OpenSSL.fuente
s_server
era una cosa. Lo he estado usando desdes_client
siempre, y tiene mucho sentido que también haya una opción de servidor.