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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
BlueGate-CVE-2020-0609 — BlueGate Exploit 검증기 - OpenSSL DTLS를 UDP/3391 포트로 사용하는 CVE-2020-0609 및 CVE-2020-0610(BlueGate)용 RD Gateway 검증기. | Kitploit
도구/GitHubGitHub/bhanunamikaze/bluegate-cve-2020-0609
Vulnerability ScannersVulnerability AnalysisExploitationNetwork SecurityPenetration Testing
GitHubbhanunamikaze/bluegate-cve-2020-0609

BlueGate-CVE-2020-0609

BlueGate Exploit 검증기 - OpenSSL DTLS를 UDP/3391 포트로 사용하는 CVE-2020-0609 및 CVE-2020-0610(BlueGate)용 RD Gateway 검증기.

저장소 보기

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
13시간 45분 전아직 검토되지 않음
공유

RD Gateway BlueGate 검증기

CVE-2020-0609 / CVE-2020-0610 원격 검증 도구

Microsoft 원격 데스크톱 게이트웨이 취약점과 관련된 패치 동작을 원격으로 검증하기 위한 작은 검증 전용 Python 유틸리티입니다:

  • CVE-2020-0609
  • CVE-2020-0610

일반적으로 BlueGate 연구와 연관된 이 취약점은 Microsoft 원격 데스크톱 게이트웨이(RD Gateway) 에 영향을 미치며, 패치되지 않은 서버에서 인증되지 않은 원격 공격자가 임의 코드를 실행할 수 있게 할 수 있습니다.

이 유틸리티는 원격 코드 실행, 서비스 거부, 지속성 또는 페이로드 전달을 구현하지 않습니다.

단일 프로토콜 수준 검증 요청을 수행하고 RD Gateway 응답을 평가합니다.


취약점 요약

속성세부 사항
CVECVE-2020-0609, CVE-2020-0610
구성 요소Microsoft 원격 데스크톱 게이트웨이
취약점 유형원격 코드 실행
인증 필요 여부아니요
사용자 상호 작용아니요
공격 경로네트워크
심각도치명적(Critical)
CVSS v3.19.8
CVSS 벡터CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
주요 프로토콜RD Gateway UDP 전송
기본 UDP 포트3391/UDP
공개 명칭BlueGate

영향을 받는 Windows Server 제품군은 다음과 같습니다:

root@kitploit:~
Windows Server 2012
Windows Server 2012 R2
Windows Server 2016
Windows Server 2019

Microsoft의 2020년 1월 보안 업데이트 또는 이후 누적 업데이트를 설치한 시스템에는 관련 수정 사항이 포함되어 있어야 합니다.


HTTPS/443 대신 UDP/3391을 사용하는 이유는 무엇인가요?

RD Gateway 배포는 여러 관련 서비스를 노출할 수 있습니다.

예를 들어:

root@kitploit:~
                  Microsoft RD Gateway
                         |
            +------------+------------+
            |                         |
        TCP/443                     UDP/3391
            |                         |
      HTTPS / RDWeb             RD Gateway UDP
      RPC-over-HTTPS             DTLS 전송

RDWeb 포털은 브라우저에서 다음 주소로 볼 수 있습니다:

root@kitploit:~
https://gateway.example/RDWeb/

RD Gateway 기능은 TCP/443을 통해서도 노출될 수 있습니다.

그러나 이 BlueGate 스타일 검증기가 테스트하는 공격 표면은 일반적으로 다음 주소에서 수신 대기하는 RD Gateway UDP 전송입니다:

root@kitploit:~
UDP/3391

따라서 스캐너는 TCP/443을 통한 HTTPS가 아닌 UDP/3391을 통한 DTLS를 사용합니다.

스크립트를 포트 443으로 변경하면 다음을 테스트하는 것입니다:

root@kitploit:~
UDP/443

이는 다음과 동일하지 않습니다:

root@kitploit:~
TCP/443

RD Gateway UDP 서비스 확인

취약점 검증기를 실행하기 전에 UDP/3391을 Nmap으로 확인할 수 있습니다:

root@kitploit:~
nmap -Pn -sU -p3391 --reason <TARGET>

예시:

root@kitploit:~
PORT     STATE SERVICE
3391/udp open  savant

savant 서비스 레이블은 단순히 Nmap의 포트 이름 매핑일 뿐이며 실제 서비스를 식별하지는 않습니다.

RD Gateway DTLS 서비스는 OpenSSL로 더 안정적으로 확인할 수 있습니다.

DTLS 1.0

root@kitploit:~
openssl s_client \
    -dtls1 \
    -connect <TARGET>:3391 \
    -state

DTLS 1.2

root@kitploit:~
openssl s_client \
    -dtls1_2 \
    -connect <TARGET>:3391 \
    -state

핸드셰이크가 성공하면 UDP/3391에서 DTLS 서비스가 응답하고 있음을 확인할 수 있습니다.

일반적인 성공 출력에는 다음이 포함됩니다:

root@kitploit:~
SSL handshake has read ...
New, SSLv3, Cipher is ...
Protocol: DTLSv1

또는:

root@kitploit:~
Protocol: DTLSv1.2

이 도구의 기능

검증기는 다음을 수행합니다:

  1. OpenSSL DTLS 클라이언트를 시작합니다.
  2. UDP/3391을 통해 대상 RD Gateway에 연결합니다.
  3. DTLS 핸드셰이크가 완료될 때까지 기다립니다.
  4. 단일 BlueGate 스타일 단편화 검증 패킷을 전송합니다.
  5. RD Gateway 애플리케이션 응답을 기다립니다.
  6. 16바이트 응답에서 최종 상태 DWORD를 추출합니다.
  7. 응답을 분류합니다.

검증에는 인증 자격 증명이 필요하지 않습니다.

이 유틸리티는 의도적으로 다음을 포함하지 않습니다:

root@kitploit:~
리버스 셸 없음
명령 실행 없음
익스플로잇 페이로드 없음
서비스 거부 루프 없음
반복적인 잘못된 패킷 전송 없음

요구 사항

다음 환경에서 테스트되었습니다:

root@kitploit:~
Python 3
OpenSSL 명령줄 클라이언트
Linux

OpenSSL 확인:

root@kitploit:~
openssl version

Python 확인:

root@kitploit:~
python3 --version

스크립트가 시스템 openssl s_client 구현을 실행하므로 Python OpenSSL 모듈은 필요하지 않습니다.

이를 통해 다음과 같은 더 이상 사용되지 않는 Python/OpenSSL API에 의존했던 기존 BlueGate 구현에서 발생하는 호환성 문제를 피할 수 있습니다:

root@kitploit:~
DTLSv1_client_method

사용법

기본 스캔:

root@kitploit:~
python3 BlueGate.py <TARGET>

예시:

root@kitploit:~
python3 BlueGate.py 192.0.2.10

기본 대상은 다음과 같습니다:

root@kitploit:~
UDP/3391

포트 지정

root@kitploit:~
python3 BlueGate.py \
    -P 3391 \
    192.0.2.10

DTLS 1.0

root@kitploit:~
python3 BlueGate.py \
    --dtls 1 \
    192.0.2.10

DTLS 1.2

root@kitploit:~
python3 BlueGate.py \
    --dtls 1.2 \
    192.0.2.10

두 가지를 모두 테스트하는 것이 유용할 수 있습니다:

root@kitploit:~
python3 BlueGate.py --dtls 1 192.0.2.10

python3 BlueGate.py --dtls 1.2 192.0.2.10

패치된 예시

패치된 RD Gateway의 예시 결과:

root@kitploit:~
[*] Target: 192.0.2.10:3391/udp
[*] DTLS mode: 1.2
[*] Starting OpenSSL DTLS client...
[+] DTLS handshake completed.
[*] Probe (11 bytes): 0500070000004100010041
[*] Sending one validation packet...

[*] Response length: 16
[*] Response hex: 02000c0000000000ffffffffffff0080
[*] Status: 0x8000ffff

[+] PATCHED SIGNATURE RECEIVED
    Server returned 0x8000ffff, which is
    the rejection value used by the public
    CVE detector to identify a patched host.

동일한 패치된 응답이 DTLS 1.0을 통해서도 반환될 수 있습니다:

root@kitploit:~
Response length: 16
Response hex: 02000c0000000000ffffffffffff0080
Status: 0x8000ffff

결과 이해

0x8000ffff

다음으로 끝나는 응답:

root@kitploit:~
0x8000ffff

은 공개 BlueGate/RD Gateway 스캐너가 잘못된 단편화 조건이 거부되었음을 식별하는 데 사용하는 거부 값입니다.

따라서 도구는 다음을 보고합니다:

root@kitploit:~
PATCHED SIGNATURE RECEIVED

이는 CVE-2020-0609/CVE-2020-0610에 대해 테스트된 특정 조건이 알려진 공개 탐지 기술을 사용하여 악용될 수 없음을 강력한 프로토콜 수준 증거로 제공합니다.


다른 16바이트 상태

16바이트 RD Gateway 응답을 수신했지만 최종 DWORD가 다음이 아닌 경우:

root@kitploit:~
0x8000ffff

도구는 다음을 보고합니다:

root@kitploit:~
DETECTOR POSITIVE

이는 다음과 같이 처리해야 합니다:

root@kitploit:~
잠재적으로 취약함

즉각적인 원격 코드 실행 성공의 증거가 아닙니다.

결과는 가급적 다음을 사용하여 뒷받침해야 합니다:

root@kitploit:~
Windows 빌드 정보
설치된 KB 정보
Microsoft 패치 인벤토리
자격 증명 기반 취약점 스캐닝

취약점을 확정적으로 악용 가능하다고 보고하기 전에 말입니다.


응답 없음

애플리케이션 응답을 수신하지 못한 경우:

root@kitploit:~
INCONCLUSIVE

도구는 의도적으로 시간 초과를 취약한 것으로 분류하지 않습니다.

시간 초과는 다음과 같은 원인으로 발생할 수 있습니다:

  • 방화벽 동작
  • UDP 패킷 손실
  • DTLS 비호환성
  • 네트워크 필터링
  • 애플리케이션 동작
  • 서비스 구성

따라서:

root@kitploit:~
응답 없음 != 취약함

탐지 로직

공개 BlueGate/RDG 탐지 방식은 비정상적인 단편 수를 포함하는 RD Gateway 단편화 패킷을 사용합니다.

개념적으로:

root@kitploit:~
DTLS 연결
      |
      v
+-----------------------+
| RD Gateway UDP 파서   |
+-----------------------+
      |
      | 단편화 검증 패킷
      v
+-----------------------+
| 단편 검증             |
+-----------------------+
      |
      +---- 패치됨 ----> 거부
      |                   0x8000ffff
      |
      +---- 예상치 못함 --> 조사 필요

이 유틸리티가 사용하는 검증 패킷은 한 번만 전송됩니다.


법적 고지

이 프로젝트는 다음 용도로만 사용됩니다:

  • 공인된 침투 테스트
  • 취약점 검증
  • 방어적 보안 연구
  • 실험실 환경
  • 교육용 보안 연구

명시적 승인을 받은 시스템만 테스트하십시오.

저자는 이 소프트웨어의 사용 또는 수정으로 인해 발생하는 오용, 무단 액세스, 서비스 중단, 데이터 손실 또는 기타 결과에 대해 책임을 지지 않습니다.


크레딧

탐지 방법론은 BlueGate 및 RD Gateway 보안 연구 커뮤니티에서 수행된 작업을 포함하여 Microsoft RD Gateway 취약점 CVE-2020-0609 및 CVE-2020-0610에 대한 공개적으로 문서화된 연구를 기반으로 합니다.

이 프로젝트는 주로 더 이상 사용되지 않는 pyOpenSSL DTLS 내부 대신 시스템 OpenSSL DTLS 구현을 사용하여 검증 워크플로를 현대화합니다.

도구 다운로드