
Zeek-Paket, das OpenSSL verwendet, um CVE-2020-0601-Exploit-Versuche zu erkennen.
Dieses Skript kann Exploit-Versuche für CVE-2020-0601 erkennen. Es führt eine Prüfung durch, ob eine bekannte Kurve in einem Zertifikat verwendet wird - falls nicht, wird ein Hinweis ausgegeben.
Beispielhinweis in notice.log:
1579043477.791522 CHhAvVGS1DHFjwGM9 192.241.209.49 46110 192.241.202.21 4433 F37z6n1B8zn1fZjpj application/x-x509-user-cert 192.241.202.21:4433/tcp tcp CVE_2020_0601::Unknown_X509_Curve ECC certificate with unknown curve; potential CVE-2020-0601 exploit attempt Curve validation code: 0 192.241.209.49 192.241.202.21 4433 - -Notice::ACTION_LOG 3600.000000 - - - - -
Um verdächtige Zertifikate zu protokollieren, verwenden Sie bitte
redef CVE_2020_0601::log_certs = T;
in Ihrer local.bro/local.zeek, um die Extraktion zu aktivieren. Sobald dies aktiviert ist, werden verdächtige Zertifikate in einer neuen Datei cve-2020-0601-certs.log protokolliert.
Dieses Skript benötigt OpenSSL 1.1.1. Es nutzt OpenSSL-Funktionalität, um zu testen, ob eine in einem Zertifikat enthaltene Kurve eine bekannte Kurve ist oder nicht.
Bitte beachten Sie, dass dieser Test möglicherweise übertrieben ist. Wenn Sie ein einfacheres Skript wünschen, das kein Laden von kompiliertem C-Code in Ihre Zeek-Installation erfordert, werfen Sie einen Blick auf das Repository unter https://github.com/0xxon/cve-2020-0601, das eine reine Skriptlösung verwendet. Die reine Skriptlösung hat eine potenziell höhere Falsch-Positiv-Rate - aber ich habe derzeit keine Berichte über Fehlalarme.
Ich habe derzeit keine Pläne, eine Version dieses Pakets zu erstellen, die gegen ältere Versionen von OpenSSL kompiliert.