
Zeek-Skript zur Erkennung von Servern, die für CVE-2020-13777 anfällig sind
Dieses Skript führt einen einfachen Test durch, um zu prüfen, ob ein Server möglicherweise anfällig für CVE-2020-13777 ist.
CVE-2020-13777 führt dazu, dass GnuTLS unverschlüsselte Sitzungstickets erstellt. Dies scheint erkennbar zu sein, indem geprüft wird, ob gnutls den key_name auf Null setzt – wofür es die ersten 16 Bytes des Sitzungstickets verwendet. Dieses Skript prüft, ob:
Beide Fälle deuten darauf hin, dass ein Server eine anfällige Version von GnuTLS verwendet.
Gefundene Fälle werden in notice.log geschrieben. Beispielausgabe:
1591660828.497706 CHhAvVGS1DHFjwGM9 ::1 58800 ::1 5556 - - - tcp CVE_2020_13777::CVE_2020_13777_Server Server potentially vulnerable to CVE-2020-13777 detected - ::1 ::1 5556 - - Notice::ACTION_LOG 3600.000000 - - - - -
1591660837.423412 ClEkJM2Vm5giqnMf4h ::1 58802 ::1 5556 - - - tcp CVE_2020_13777::CVE_2020_13777_Resumed Server potentially vulnerable to CVE-2020-13777 detected; client resumed with suspicious session ticket - ::1 ::1 5556 - - Notice::ACTION_LOG 3600.000000 - - - - -
Meldungen werden dedupliziert und nur einmal pro default_suppression_interval (Standard: 1 Stunde) für jeden Server protokolliert.
Für die Installation über zkg einfach
zkg install 0xxon/cve-2020-0601
verwenden.
Dieses Skript funktioniert nur für TLS 1.2 (oder niedriger) Verbindungen. Es wird nicht auf anfällige Server aufmerksam machen, die TLS 1.3 verwenden. Das
Dieses Skript wurde nicht umfassend getestet. Es funktioniert mit meinen selbst erzeugten Testdaten und sollte anfällige Server finden. Es besteht die Möglichkeit, dass es bei unterschiedlicher Serversoftware zu Fehlalarmen kommt, aber dies ist eher unwahrscheinlich.