Come installare una versione vulnerabile di OpenSSL su un server Linux?


9

Mi piacerebbe compilare e installare una versione OpenSSL vulnerabile di Heartbleed su un server che sto configurando per una sfida di sicurezza Web del team (poiché questi non sono disponibili per l'installazione dal repository di Ubuntu per ovvie ragioni).

Ho scaricato e compilato dal sorgente OpenSSL 1.0.1f usando le istruzioni fornite (esegui ./config, quindi makee make install) e ho provato a eseguire il POC Heartbleed apertamente disponibile da GitHub dal mio PC, tuttavia lo script non mi sta rilevando che non è stata ricevuta alcuna risposta al battito cardiaco e il server probabilmente non è vulnerabile.

L'esecuzione openssl versionproduce il seguente output: OpenSSL 1.0.1f 6 gen 2014 . Naturalmente ho installato un certificato SSL e l'accesso SSL funziona sul server.

OpenSSL è installato per funzionare con Apache 2.4.7.

Qualcuno può aiutare?


3
In generale, un buon modo per testare le versioni precedenti e le distribuzioni Linux è scaricare le immagini ISO precedenti della distribuzione e possibilmente installare una VM che la utilizza. Non tutti i pacchetti sono disponibili in questo, ma OpenSSL lo sarebbe sicuramente.
Bruno

Se hai familiarità con il pacchetto Debian, dovrebbe essere abbastanza facile scaricare il pacchetto sorgente openssl corrente, rimuovere CVE-2014-0160.patch e ricostruirlo.
Matt Nordhoff

Risposte:


7

Ci sono due cose che potrebbero succedere qui:

  1. Un semplice "./configure; make; make install" posizionerà di default le librerie condivise /usr/local/lib. Le librerie installate dal sistema, tuttavia, saranno presenti /usr/lib, che arriva prima nel percorso di ricerca delle librerie. A meno che non si rimuova la versione di OpenSSL installata dal sistema, la versione vulnerabile non verrà trovata.

  2. Anche se stai sovrascrivendo le librerie di sistema, la modifica non verrà presa fino al riavvio di Apache. I file eliminati rimangono accessibili (e occupano spazio sul disco) fino a quando tutti i programmi che dispongono di filehandle aperti non li chiudono.


7

Quale software server viene utilizzato?

Nonostante il binario OpenSSL sia vulnerabile, è probabile che un server Web installato da un pacchetto del sistema operativo stia utilizzando una versione della libreria non vulnerabile.

Il modo più semplice per far funzionare un ascoltatore vulnerabile openssl s_server- se hai bisogno di un server web completo per essere vulnerabile, probabilmente dovrai compilare contro l'OpenSSL vulnerabile.


1
Whoa, non ho mai saputo che s_serverfosse una cosa. Sto usando da s_clientsempre, e ha perfettamente senso che ci dovrebbe essere anche un'opzione server.
SEE

1
@EEAA Sì, è folle quanti sottocomandi diversi siano stipati lì dentro.
Shane Madden
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.