
# CVE-2020-13777에 취약한 서버를 탐지하는 Zeek 스크립트
이 스크립트는 서버가 CVE-2020-13777에 잠재적으로 취약한지 확인하기 위한 간단한 테스트를 수행합니다.
CVE-2020-13777은 GnuTLS가 암호화되지 않은 세션 티켓을 생성하도록 합니다. 이는 gnutls가 key_name을 0으로 설정하는지 확인함으로써 감지할 수 있는 것으로 보입니다. 이때 세션 티켓의 처음 16바이트를 사용합니다. 이 스크립트는 다음을 확인합니다:
두 경우 모두 서버가 취약한 버전의 GnuTLS를 사용하고 있음을 나타냅니다.
발견된 경우는 notice.log에 기록됩니다. 예시 출력:
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 - - - - -
알림은 중복 제거되며 각 서버에 대해 default_suppression_interval(기본값: 1시간)당 한 번만 기록됩니다.
zkg를 통해 설치하려면 다음을 사용하세요.
zkg install 0xxon/cve-2020-0601
이 스크립트는 TLS 1.2(또는 그 이하) 연결에만 작동합니다. TLS 1.3을 사용하는 취약한 서버에 대해서는 경고하지 않습니다. 그
이 스크립트는 광범위하게 테스트되지 않았습니다. 제가 직접 생성한 테스트 데이터로 작동하며 취약한 서버를 찾을 수 있어야 합니다. 다른 서버 소프트웨어에서 오탐(false positive)을 유발할 가능성이 있지만 다소 가능성은 낮습니다.