Wins blog

글로벌 정보보안 파트너! Global Security  No.1 윈스는 국가대표 정보보안 기업에서 글로벌 강소기업으로 도약합니다.

보안 정보

앞 내용 보기 다음 내용 보기
취약점 정보원격데스크탑 취약점 CVE-2019-0708 스캐너 209대 발견
작성일 2019-05-30 조회 1451

 

Translation into English

Translation into Japanese (日本語への翻訳)

Translation into Chinese (翻译成中文)

 

 

 

2019년 5월 23일부터 지속적으로 국내에 BlueKeep 또는 Wormable Flaw로 불리는 CVE-2019-0708  Windows 원격 데스크톱 서비스 (RDS) 취약점 스캐닝 공격이 유입되고 있습니다.

 

[그림. 1] Windows RDS BlueKeep CVE-2019-0708 209개 취약점 스캔 탐지 일간 그래프 (출처: 윈스 허니넷)

 

 

[그림. 2] Windows RDS BlueKeep CVE-2019-0708 209개 취약점 스캔 탐지 시간 그래프 (출처: 윈스 허니넷)

 


CVE-2019-0708 RDP 취약점을 이용하면 사용자 조작 없이도 원격 코드 실행을 통해 기기가 위험에 노출될 수 있습니다. 

 

MS는 현재 윈도XP, 윈도 서버 2003에 대한 공식 지원을 중단한 상태임에도 긴급 패치를 진행했습니다.

(https://support.microsoft.com/en-ca/help/4500705/customer-guidance-for-cve-2019-0708)

 

이번 긴급 패치된 버전은 윈도XP, 윈도7, 윈도 서버 2003, 윈도 서버 2008 R2, 윈도 서버 2008 등입니다.
해당 취약점은 2017년 워너크라이와 유사한 방식으로 최근 비트코인 상승세와 맞물려 랜섬웨어 배포에 사용될 가능성이 높습니다.

 

[그림. 3] 국내에 유입되고 있는 Tor 기반의 스캔닝 공격 (출처: 윈스 허니넷)

 


이러한 만큼 현재 국내에 유입되고 있는 취약점 스캐닝 공격은 공격그룹의 사전작업일 수도 있어 각별한 주의가 필요합니다.
현재 유입되는 대부분의 트래픽은 Tor를 이용해 다양한 소스IP를 통해 스캔을 시도하고 있습니다.

 

또한 국내만을 타겟하는 것이 아니라 전세계 IP대역에 대한 스캐닝을 실시하고 있어, 많은 양의 트래픽이 들어오고 있지는 않지만, 시간이 지날수록 공격 트래픽은 증가세에 있습니다.

 

 

 

 

► 취약점 분석

 

BlueKeep CVE-2019-0708  Windows 원격 데스크톱 서비스 (RDS) 취약점

원격 데스크톱 서비스 (RDS)의 원격 코드 실행 결함으로 인해 RDP를 통해 대상 시스템에 연결하고 특수하게 조작 된 요청을 보내 인증되지 않은 공격자가 악용 할 수 있습니다.


이 취약점은 XP, 7, Server 2003 및 Server 2008과 같은 이전 버전의 Windows OS에 포함 된 RDP (Remote Desktop Protocol) 서비스에 영향을줍니다.
Microsoft는 5 월 14 일 패치 화요일 업데이트 열차의 일환으로이 취약점에 대한 수정 사항을 발표하고 사용자와 회사에게 가능한 한 빨리 취약한 시스템을 패치하고이 문제점을 매우 위험한 것으로 분류하고 CVE-2019-0708 (자기 복제) 악용을 만들기 위해 무기화 될 수 있습니다.

 

[그림. 4] 정상적인 RDP Connection

 

 

RDP 프로토콜은 RDP 구성 요소 및 사용자 확장에 대한 통신 링크로 사용하기 위해 Static Virtual Channel을 지원합니다.
구조는 다음과 같습니다.

 

Slot Number ChannelControlStructure pointer
------------ --------------------------------
0 Empty
1 Empty
2 Empty
3 Empty
4 Empty
5 Empty
6 Empty
7 Pointer to CTXTW
8 Empty
...
0x1F Pointer to MS_T120

 

위의 표에서 각 슬롯은 ChannelControlStructure 포인터를 저장할 수 있으며 Empty는 NULL 포인터를 저장하는 것으로 표시됩니다. 
CTXTW는 항상 슬롯 7에 있고 MS_T120은 슬롯 0x1F에 있습니다.


clientNetworkData가 포함 된 MCS Connect Initial 및 GCC Create 패킷을 수신하면 지정된 채널에 대한 ChannelControlStructures가 만들어집니다. 

 

[그림. 5] 악성 RDP Connection

 

 

공격자는 MS_T120 채널을 슬롯 10번과 같은 임의 슬롯 지정을 하게 되면 테이블 메모리 포인터가 10번 슬롯과 원래 MS_T120의 static 슬롯이었던 31번에 동시에 저장 됩니다.
이러한 메모리 포인터 조작으로 비정상적인 위치에 공격자의 코드실행이 가능한 메모리 포인터가 남게 됩니다.

 

[Client] ---------X.224 Connection Request----------------> [Server]
[Client] <--------X.224 Connection Confirm----------------- [Server]
[Transport may switch over to TLS at this point]
[Client] ---------MCS Connect Initial and GCC Create------> [Server]  <- 취약점 발생
[Client] <--------MCS Connect Response and GCC Response---- [Server]
[Client] ---------MCS Erect Domain Request----------------> [Server]
[Client] ---------MCS Attach User Request-----------------> [Server]
[Client] <--------MCS Attach User Confirm------------------ [Server]
[Client] ---------MCS Channel Join Request----------------> [Server]
[Client] <--------MCS Channel Join Confirm----------------- [Server]
[Client] ---------Security Exchange ----------------------> [Server]
[Client] ---------Client Info-----------------------------> [Server]
[Client] <--------License Error---------------------------- [Server]
[Client] <--------Demand Active---------------------------- [Server]
[Client] ---------Confirm Active--------------------------> [Server]
[Client] ---------Synchronize-----------------------------> [Server]
[Client] ---------Control - Cooperate---------------------> [Server]
[Client] ---------Control - Request Control---------------> [Server]
[Client] ---------Persistent Key List---------------------> [Server]
[Client] ---------Font List-------------------------------> [Server]
[Client] <--------Synchronize------------------------------ [Server]
[Client] <--------Control - Cooperate---------------------- [Server]
[Client] <--------Control - Granted Control---------------- [Server]
[Client] <--------Font Map--------------------------------- [Server]

서버와 클라이언트는 MS-RDPBCGR에 의해 RDP Connection 시퀀스 메세지를 전송 *MS-RDPBCGR (Remote Desktop Protocol: Basic Connectivity and Graphics Remoting)

 

현재 공개된 PoC를 이용해 다수의 취약점 스캐닝 공격이 탐지되고 있습니다.
Tor를 이용한 스캐닝 공격은 연구목적용 또는 공격 사전 준비용으로 판단되고 있습니다.


현재 온라인 상에는 다수의 공격 가능한 PoC(Proof of Concept) Code가 공개 되어 있습니다.

https://github.com/nccgroup/Cyber-Defence/commit/b2965daaa7bd89779bee95ad6b8c1bfed3821fda
https://github.com/zerosum0x0/CVE-2019-0708
https://github.com/Leoid/CVE-2019-0708

 

 

또한 NCC 그룹에서는 탐지 패턴을 공개하기도 했습니다.

 

[그림. 6] nccgroup Cyber-Defence First PoC detection for CVE-2019-0708 (RDP) (https://github.com/nccgroup/Cyber-Defence/commit/b2965daaa7bd89779bee95ad6b8c1bfed3821fda)

 

 

 


► 취약점 서버 리스트

https://pastebin.com/570cys8F

[그림. 7] 국내에 유입된 취약점 서버 스캔 리스트 (출처:윈스 https://pastebin.com/570cys8F)

 

 

 


► MS 권고 대응 방안

1. 필요하지 않은 경우 원격 데스크톱 서비스를 사용하지 않도록 설정합니다.
시스템에서 이러한 서비스가 더 이상 필요하지 않은 경우이를 보안 모범 사례로 사용하지 않도록 설정하는 것이 좋습니다. 사용되지 않고 불필요한 서비스를 비활성화하면 보안 취약점에 노출 될 가능성이 줄어 듭니다.
2. 지원되는 Windows 7, Windows Server 2008 및 Windows Server 2008 R2 에디션을 실행하는 시스템에서 NLA (네트워크 수준 인증)를 사용하도록 설정합니다.
네트워크 수준 인증을 사용하면 인증되지 않은 공격자가이 취약점을 악용하는 것을 차단할 수 있습니다. NLA가 설정되면 공격자는 먼저 대상 시스템의 유효한 계정을 사용하여 원격 데스크톱 서비스에 인증을 받아 취약점을 악용 할 수 있습니다.
3. 기업 경계 방화벽에서 TCP 포트 3389를 차단합니다.
TCP 포트 3389는 영향을받는 구성 요소와의 연결을 시작하는 데 사용됩니다. 네트워크 경계 방화벽에서이 포트를 차단하면이 취약점을 악용하려는 시도로부터 해당 방화벽 뒤의 시스템을 보호하는 데 도움이됩니다. 이렇게하면 엔터프라이즈 경계 외부에서 발생하는 공격으로부터 네트워크를 보호 할 수 있습니다. 영향을받는 포트를 기업 경계에서 차단하는 것이 인터넷 기반 공격을 피하는 데 도움이되는 최선의 방어 방법입니다. 그러나 시스템은 여전히 ​​기업 경계 내에서 공격에 취약 할 수 있습니다.

 

 

 


► KISA 권고 대응 방안

1.영향 받는 제품의 이용자는 윈도우 자동/수동 업데이트를 이용하여 최신 버전으로 설치
  - 수동 설치가 필요한 경우 아래 참고사이트(1번)에 접속하여 “Security Updates”의 하단 표에 있는 
     Download 링크를 클릭하여 설치 적용
  - 윈도우 XP, 2003 서버 사용자의 경우 아래 참고사이트(2번)에 접속하여 보안 업데이트 파일 다운로드 및 설치 적용
2.허용한 관리자만 윈도우 RDP를 접근할 수 있도록 방화벽 등을 통한 접근 통제 강화

 

 

 

 

► 윈스 대응 방안

Sniper-IPS

[4791] MS Windows RDS Bluekeep termdd.sys RCE

Sniper-UTM

[805374914] MS Windows RDS Bluekeep termdd.sys RCE

Sniper-APTX

[4075] MS Windows RDS Bluekeep termdd.sys RCE

IP-Black-Pool

국내에 유입된 취약점 서버 스캔 리스트 (https://pastebin.com/570cys8F)는 기존부터 취약점 스캐너 서버로 악용되었습니다.
해당 IP에 대해 사이트별 적합여부를 판단하여 차단 조치를 실시합니다.

 

 

 

 

► 참조

https://isc.sans.edu/diary/An+Update+on+the+Microsoft+Windows+RDP+%22Bluekeep%22+Vulnerability+%28CVE-2019-0708%29+%5Bnow+with+pcaps%5D/24960
https://brica.de/alerts/alert/public/1260338/first-poc-detection-for-cve-2019-0708-rdp/
https://github.com/nccgroup/Cyber-Defence/commit/b2965daaa7bd89779bee95ad6b8c1bfed3821fda
https://github.com/zerosum0x0/CVE-2019-0708
https://github.com/Leoid/CVE-2019-0708
https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2019-0708
https://securingtomorrow.mcafee.com/other-blogs/mcafee-labs/rdp-stands-for-really-do-patch-understanding-the-wormable-rdp-vulnerability-cve-2019-0708/
https://www.youtube.com/watch?v=syF6rSM0JSM&feature=youtu.be

첨부파일 첨부파일이 없습니다.
태그 CVE-2019-0708  BlueKeep  Wormable