Gostaria de compilar e instalar uma versão OpenSSL vulnerável ao Heartbleed em um servidor que estou configurando para um desafio de segurança da equipe da web (já que eles não estão disponíveis para instalação no repositório do Ubuntu por razões óbvias).
Eu baixei e compilei a partir do código-fonte OpenSSL 1.0.1f usando as instruções fornecidas (execute ./config
, então make
e make install
) e tentei executar o Heartbleed POC disponível no GitHub no meu PC, no entanto, o script não está me dizendo que nenhuma resposta de pulsação foi recebida e o servidor provavelmente não está vulnerável.
A execução openssl version
produz a seguinte saída: OpenSSL 1.0.1f 6 de janeiro de 2014 . Instalei um certificado SSL, é claro, e o acesso SSL funciona no servidor.
O OpenSSL está instalado para funcionar com o Apache 2.4.7.
Alguém pode ajudar?
fonte
Respostas:
Há duas coisas que podem estar acontecendo aqui:
Um simples "./configure; make; make install" colocará por padrão as bibliotecas compartilhadas
/usr/local/lib
. As bibliotecas instaladas pelo sistema, no entanto, entrarão/usr/lib
, o que ocorre mais cedo no caminho de pesquisa da biblioteca. A menos que você remova a versão instalada do sistema do OpenSSL, a versão vulnerável não será encontrada.Mesmo se você estiver sobrescrevendo as bibliotecas do sistema, a alteração não será detectada até que você reinicie o Apache. Os arquivos excluídos permanecem acessíveis (e ocupam espaço no disco) até que todos os programas que possuem identificadores de arquivos abertos fechem esses identificadores.
fonte
Qual software de servidor está sendo usado?
Apesar do binário OpenSSL ser vulnerável, é provável que um servidor da Web instalado de um pacote do SO esteja usando uma versão da biblioteca que não é vulnerável.
A maneira mais simples de executar um ouvinte vulnerável será
openssl s_server
: se você precisar de um servidor da Web completo, provavelmente precisará compilar com o OpenSSL vulnerável.fonte
s_server
era uma coisa. Estou usandos_client
sempre, e faz todo o sentido que também deva haver uma opção de servidor.