Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2020-0688 — CVE-2020-0688용 취약점 스캐너 | Kitploit
도구/GitHubGitHub/cert-lv/cve-2020-0688
ReconnaissanceVulnerability ScannersExploitationInformation GatheringWeb SecurityPenetration Testing
GitHubcert-lv/cve-2020-0688

CVE-2020-0688

CVE-2020-0688용 취약점 스캐너

저장소 보기
816년 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2020-0688에 취약한 Exchange 서버 식별

CVE-2020-0688은 정적 키 사용으로 인한 Microsoft Exchange의 치명적인 취약점입니다. 악용하려면 유효한 자격 증명(이메일 사용자 수준)이 필요하고 대규모 악용 위험은 낮지만, 이 취약점은 SYSTEM 수준 RCE로 이어지기 때문에 표적 공격에 매우 유용할 수 있습니다.

추가 정보:

  • https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2020-0688
  • https://www.thezdi.com/blog/2020/2/24/cve-2020-0688-remote-code-execution-on-microsoft-exchange-server-through-fixed-cryptographic-keys
  • https://www.tenable.com/blog/cve-2020-0688-microsoft-exchange-server-static-key-flaw-could-lead-to-remote-code-execution

미탐(false negative)에 대한 참고 사항

알려진 미탐(이 스크립트가 놓칠 수 있는 취약한 Exchange 서버)의 원인은 여러 가지가 있습니다:

  1. 잠재적 Exchange 서버는 포트 25와 443이 모두 열려 있는 호스트를 식별하여 사전 선별됩니다. 이 중 하나를 차단하는 설정이 있으면 해당 서버는 놓치게 됩니다.

  2. zmap은 정밀도를 희생하면서 속도와 확장성에 최적화되어 있습니다. 일반적으로 zmap을 연속으로 여러 번 실행하면 결과가 약간씩 다릅니다. 따라서 이 스크립트를 여러 번 실행해도 결과가 약간씩 다릅니다.

    이는 순전히 네트워크 혼잡 때문인지 버그가 있는 코드 때문인지 확실하지 않습니다. 패치/해결 방법이 포함된 풀 리퀘스트는 언제든 환영합니다!

  3. 우리는 은밀하게 행동하려는 것이 아니므로 일부 방화벽은 우리를 로봇으로 간주하고 차단할 수 있습니다.

  4. 우리는 화려한 핑거프린팅을 수행하지 않고 Exchange 서버가 스스로 보고하는 버전에만 의존하므로 버전 번호의 처음 세 필드로 제한됩니다.

    예를 들어, Exchange Server 2019의 최신 누적 업데이트는 15.2.529.5이며 12월에 출시되었고 취약합니다. 패치가 포함된 최신 업데이트는 15.2.529.8입니다. 둘 다 자신의 버전을 15.2.529로 보고하므로, 스크립트는 최신 패치가 설치되어 있지 않고 취약하더라도 서버가 패치된 것으로 간주합니다.

    그러나 실제로는 패치가 나오는 즉시 시스템을 업데이트하는 Exchange 관리자나 “작동하면 건드리지 말라”는 원칙을 따르는 관리자만 있는 것 같습니다. 그 중간은 없습니다.

요구 사항

zmap, Python >= 3.5, 모듈:

  • dnspython
  • pyOpenSSL
  • requests

다음과 같이 전역으로 설치할 수 있습니다:

root@kitploit:~
$ sudo dnf install zmap python3-gevent python3-dns python3-pyOpenSSL

또는:

root@kitploit:~
$ sudo apt install zmap python3-gevent python3-dns python3-openssl

Python 모듈은 virtualenv를 통해 로컬로도 설치할 수 있습니다:

root@kitploit:~
$ virtualenv -p python3 CVE-2020-0688
$ . ./CVE-2020-0688/bin/activate
$ pip install -r ./requirements.txt

사용법

기본 스캔에는 스캔할 IP/서브넷(CIDR 형식)이 포함된 파일만 있으면 됩니다:

root@kitploit:~
$ ./scan.py ~/my_networks.txt output.csv

출력은 다음 열로 구성된 CSV 형식으로 작성됩니다:

IPExchange 버전서버 이름PTRCommon Name (TLS 인증서에서)

선택적으로, 발견된 모든 Exchange 서버에 대한 정보를 출력하도록 요청할 수 있습니다:

root@kitploit:~
$ ./scan.py -f ~/my_networks.txt output.csv

이 경우 서버의 취약 여부를 나타내는 열이 하나 더 추가됩니다:

IPExchange 버전취약?서버 이름PTRCommon Name (TLS 인증서에서)

차단 목록의 IP/서브넷이 포함된 파일(-b 옵션)을 제공하거나, 병렬 작업 수(-p) 또는 시간 제한 길이(-t)를 변경할 수도 있습니다:

root@kitploit:~
$ # ./scan.py -h
usage: scan.py [-h] [-b BLACKLIST] [-f] [-p PARALLEL] [-t TIMEOUT]
               input output

Identify Exchange servers vulnerable to CVE-2020-0688.

positional arguments:
  input                 Input file, each line contains one IP/subnet
  output                File to save the results (in CSV format)

optional arguments:
  -h, --help            show this help message and exit
  -b BLACKLIST, --blacklist BLACKLIST
                        File containing IPs/subnets to avoid
  -f, --full            Don't filter seemingly up-to-date Exchange servers
  -p PARALLEL, --parallel PARALLEL
                        How many requests to send in parallel (default: 1000)
  -t TIMEOUT, --timeout TIMEOUT
                        Timeout (seconds) to use for network connections
                        (default: 5)
도구 다운로드