Pregunta ¿Hay alguna manera de verificar manualmente la vulnerabilidad de openssl CVE-2014-0160?


¿Hay alguna manera de verificar algunos de los servicios internos? CVE - CVE-2014-0160 (preferiblemente usando openssl CLI)?

yo NO PODER prueba todo simplemente usando: Pruebe su servidor para Heartbleed (CVE-2014-0160).


5
2018-04-09 17:30


origen


Las preguntas frecuentes en su sitio (filippo.io/Heartbleed/faq.html) menciona que publicó una versión de CLI en github. - faker


Respuestas:


Tu podrías intentar:

openssl s_client -connect domain.com:443 -tlsextdebug 2>&1 | grep 'server extension "heartbeat" (id=15)' || echo safe

Desde https://devcentral.f5.com/questions/openssl-and-heart-bleed-vuln


6
2018-04-09 17:40



No estoy tan seguro de eso. Sin duda, le indica si el latido del corazón de TLS está habilitado y dice "seguro" si no lo está, pero solo porque el latido del corazón de TLS está habilitado, eso no hace que un servidor sea vulnerable. Por lo tanto, esta es una buena técnica para eliminar rápidamente todos los casos fáciles de su lista de servidores que puede tener parches, pero da muchos falsos positivos. - MadHatter


Puedes usar este script por ejemplo: http://rehmann.co/projects/heartbeat/ssltest.py


2
2018-04-09 17:33





Aquí hay varios detectores / comprobadores de vulnerabilidad de Heartbleed locales:

titanous en github Parece que todavía está en desarrollo activo, y Titanous también lanzó el código de programación Go para la detección de Heartbleed, tenía mejores mensajes que Filippo a partir de esta mañana y se actualizó por última vez hace 32 minutos. Parece estar bajo la licencia Go, aunque no hice una comparación completa; similar a una licencia BSD 3 cláusula.

musalbas en github lanzó el programa "ssltest.py" de Python, una variante del código que responde a los enlaces de respuesta de MichelZ que se modifica para hacer listas grandes a la vez, sin licencia listada. Musalbas también publicó listas de los resultados de escanear los 100, 1000, 10000 y 1 millones de sitios de Internet desde hace aproximadamente 5 horas.

Filippo.io fue uno de los primeros sitios web, y lanzó su código en github con una licencia MIT (Ir a lenguaje de programación).

Codenomicon Defensics Parece que también detecta Heartbleed.

Lekensteyn Por supuesto, se lanzó el verificador de clientes Python de marcapasos, modificado hace unas horas, así como la versión original de Stafford de ssltest.py. No se enumera ninguna licencia específica.

Metasploit También está ganando pruebas de Heartbleed muy rápidamente, incluyendo ambas la comprobación del servidor enlazada aquí y un cheque de cliente de @HDMoore y @Lekensteyn

Además, es posible que desee obtener alguna detección e interrupción automática de ataques instalando nuevas reglas de Snort desde Indicadores de compromiso en tiempo real., ya que el ataque puede ir en ambos sentidos (su cliente también puede ser atacado, si es vulnerable). Esto no te dice si alguien más ha atacado el sitio web en el pasado, pero podría decirte si alguien te está atacando en este momento.

  • alert tcp any [! 80,! 445] -> any [! 80,! 445] (msg: "FOX-SRT - Sospechoso - SSLv3 Large Heartbeat Response"; flujo: establecido, to_client; contenido: "| 18 03 00 | "; depth: 3; byte_test: 2,>, 200, 3, big; byte_test: 2, <, 16385, 3; big; umbral: type limit, track by_src, count 1, seconds 600; reference: cve, 2014- 0160; classtype: mal-desconocido; sid: 1000000; rev: 4;)

  • alert tcp any [! 80,! 445] -> any [! 80,! 445] (msg: "FOX-SRT - Sospechoso - TLSv1 Large Heartbeat Response"; flujo: establecido, to_client; contenido: "| 18 03 01 | "; depth: 3; byte_test: 2,>, 200, 3, big; byte_test: 2, <, 16385, 3; big; umbral: type limit, track by_src, count 1, seconds 600; reference: cve, 2014- 0160; classtype: bad-unknown; sid: 1000001; rev: 4;)

  • alert tcp any [! 80,! 445] -> any [! 80,! 445] (msg: "FOX-SRT - Sospechoso - TLSv1.1 Respuesta de latido cardíaco grande"; flujo: establecido, to_client; contenido: "| 18 03 02 | "; profundidad: 3; byte_test: 2,>, 200, 3, big; byte_test: 2, <, 16385, 3; big; threshold: type limit, track by_src, count 1, second 600; reference: cve, 2014-0160; classtype: mal-desconocido; sid: 1000002; rev: 4;)

  • alert tcp any [! 80,! 445] -> any [! 80,! 445] (msg: "FOX-SRT - Sospechoso - TLSv1.2 Respuesta de latido cardíaco grande"; flujo: establecido, to_client; contenido: "| 18 03 03 | "; profundidad: 3; byte_test: 2,>, 200, 3, big; byte_test: 2, <, 16385, 3; big; threshold: type limit, track by_src, count 1, second 600; reference: cve, 2014-0160; classtype: mal-desconocido; sid: 1000003; rev: 4;)

Por favor también agradezca a snort.org por liberar un conjunto de reglas de detección de Heartbleed que normalmente habría estado solo en su lista de reglas VRT (suscripción pagada) durante los primeros 30 días antes de ir a la comunidad:

  • alert tcp $ EXTERNAL_NET any -> $ HOME_NET 443 (msg: "SERVER-OTHER OpenSSL SSLv3 heartbeat read overrun try"; flow: to_server, establecido; contenido: "| 18 03 00 |"; depth: 3; dsize:> 40; detección_filtros: seguimiento por_src, cuenta 3, segundos 1; metadatos: política equilibrada-ips caída, política seguridad-ips caída, servicio ssl; referencia: cve, 2014-0160; classtype: intent-recon; sid: 30510; rev: 2; )

  • alert tcp $ EXTERNAL_NET any -> $ HOME_NET 443 (msg: "SERVER-OTHER OpenSSL TLSv1 heartbeat read overrun try"; flujo: to_server, establecido; contenido: "| 18 03 01 |"; profundidad: 3; dsize:> 40; detección_filtros: seguimiento por_src, cuenta 3, segundos 1; metadatos: política equilibrada-ips caída, política seguridad-ips caída, servicio ssl; referencia: cve, 2014-0160; classtype: intent-recon; sid: 30511; rev: 2; )

  • alert tcp $ EXTERNAL_NET any -> $ HOME_NET 443 (msg: "SERVER-OTHER OpenSSL TLSv1.1 heartbeat read overrun try"; flujo: to_server, establecido; contenido: "| 18 03 02 |"; profundidad: 3; dsize:> 40; detection_filter: track by_src, cuenta 3, segundos 1; metadatos: política equilibrada-ips caída, política seguridad-ips caída, servicio ssl; referencia: cve, 2014-0160; classtype: intent-recon; sid: 30512; rev: 2;)

  • alert tcp $ EXTERNAL_NET any -> $ HOME_NET 443 (msg: "SERVER-OTHER OpenSSL TLSv1.2 heartbeat read overrun try"; flujo: to_server, establecido; contenido: "| 18 03 03 |"; profundidad: 3; dsize:> 40; detection_filter: track by_src, cuenta 3, segundos 1; metadatos: política equilibrada-ips caída, política seguridad-ips caída, servicio ssl; referencia: cve, 2014-0160; classtype: intent-recon; sid: 30513; rev: 2;)

  • alert tcp $ HOME_NET 443 -> $ EXTERNAL_NET any (msg: "SERVER-OTHER SSLv3 respuesta de latido grande - posible intento de sangrado ssl"; flujo: to_client, establecido; contenido: "| 18 03 00 |"; profundidad: 3; byte_test: 2,>, 128,0, relativo; detector_filtro: seguimiento by_dst, recuento 5, segundos 60; metadatos: caída de ips balanceados de política, caída de ips-seguridad de política, servicio ssl; referencia: cve, 2014-0160; classtype: intent- sid: 30514; rev: 3;)

  • alert tcp $ HOME_NET 443 -> $ EXTERNAL_NET any (msg: "SERVER-OTHER TLSv1 respuesta de latido cardíaco grande - posible intento de sangrado de corazón ssl"; flujo: to_client, establecido; contenido: "| 18 03 01 |"; profundidad: 3; byte_test: 2,>, 128,0, relativo; detector_filtro: seguimiento by_dst, recuento 5, segundos 60; metadatos: caída de ips balanceados de política, caída de ips-seguridad de política, servicio ssl; referencia: cve, 2014-0160; classtype: intent- recon; sid: 30515; rev: 3;)

  • alert tcp $ HOME_NET 443 -> $ EXTERNAL_NET any (msg: "SERVER-OTHER TLSv1.1 respuesta de latido cardíaco grande - posible intento de sangrado de corazón ssl"; flujo: to_client, establecido; contenido: "| 18 03 02 |"; profundidad: 3; byte_test: 2,>, 128,0, relativo; detector_filtro: seguimiento by_dst, cuenta 5, segundos 60; metadatos: caída de ips equilibrados de política, caída de ips-ips de política, servicio ssl; referencia: cve, 2014-0160; classtype: intento de reconocimiento; sid: 30516; rev: 3;)

  • alert tcp $ HOME_NET 443 -> $ EXTERNAL_NET any (msg: "SERVER-OTHER TLSv1.2 respuesta de latido cardíaco grande - posible intento de sangrado de corazón ssl"; flujo: to_client, establecido; contenido: "| 18 03 03 |"; profundidad: 3; byte_test: 2,>, 128,0, relativo; detector_filtro: seguimiento by_dst, cuenta 5, segundos 60; metadatos: caída de ips equilibrados de política, caída de ips-ips de política, servicio ssl; referencia: cve, 2014-0160; classtype: intento de reconocimiento; sid: 30517; rev: 3;)


2
2018-04-10 03:24





Los servidores se pueden probar con la herramienta ssltest.py. Los clientes pueden ser probados con la herramienta marcapasos. Ambos se pueden encontrar en https://github.com/Lekensteyn/pacemaker.

Servidor

Ejecute el cliente de prueba, mostrará si el servidor es vulnerable o no:

python2 ssltest.py example.com

Cliente

Iniciar el servidor (por defecto a puerto 4433):

./pacemaker.py

Ahora haz que el cliente se conecte a https://address.of.machine:4433/ y mira en la salida del servidor. MySQL también es compatible. En el momento de redactar este documento, todavía no he agregado la compatibilidad con STARTTLS.

Asegúrese de añadir --help para cualquiera de las herramientas para más opciones.


0
2018-04-09 21:52