HOME
home
CV News
home

BlueKeep (CVE-2019-0708)

속성
CVE
날짜
CVE-2019-0708은 2019년 05월 14일 공표된 취약점으로 인증되지 않은 공격자가 RDP(Remote Desktop Protocol)를 사용하여 대상 시스템에 연결하고 특수 제작된 요청을 보내는 경우 데스크톱 서비스에 원격 코드를
실행할 수 있는 취약점이다.
소스코드 분석
BlueKeep는 GitHub에서 제공되는 소스코드로 CVE-2019-0708 취약점을 사용자가 쉽게 접근할 수 있도록 공개되어 있다.
BlueKeep_poc.py는 공격하기 전 대상 시스템에 공격 가능 여부를 판단하기 위한 소스코드이다. 가장 처음 RDP(Remote Desktop Protocol) 서비스가 활성화 되어 있는지 고정 패킷을 전송해 확인한다.
RDP가 활성화되어 있다면 SSL/TLS 연결을 시도하고 초기화 패킷을 전송한다.
다음 도메인을 생성하고 대상의 도메인과 연결 후 높은 채널 번호로 조인 요청을 해 버그를 유발하여 공격 가능 여부를 판단한다.
3389포트로 세션을 맺고 SSL/TLS 연결을 시도한다.
대상 정보를 확인하기 위한 패킷을 만들어 전송하고 버전에 맞게 채널을 조인을 요청한다.
PDU 패킷을 만들어 연결이 되면 Dos 패킷을 생성해 전송한다.
공격 테스트
공격 테스트는 Windows Server 2008 R2 버전을 대상으로 진행하였다.
GitHub에서 BlueKeep를 다운로드 받는다. # git clone https://github.com/Ekultek/BlueKeep.git
다운로드 후 setup.sh를 실행하면 자동으로 파일이 설치 된다.
BlueKeep_poc.py 옵션
bluekeep_poc.py를 실행하면 그림 4-6과 같이 RDP와 PDU가 활성화 되었는지 확인하게 된다.
# python bluekeep_poc.py –i [Target IP]
와이어샤크를 이용해 패킷 분석을 하게 되면 RDP 연결 요청과 SSL/TLS 연결 요청을 하는 것을확인할 수 있다.
bluekeep_weaponized_dos.py 옵션
# python bluekeep_weaponized_dos.py –I 192.168.252.132 -v
패킷을 분석해 보면 상단에서 RDP, PDU, SSL/TLS Domain 등 연결 요청을 하게 되고 모든 연결요청이 끝나면 Dos 패킷을 보내고 잠시 후 서버 측에서 RST 패킷을 보내는 것을 확인할 수 있다.
서비스 다운
대응 방안으로는 원격 데스크톱 서비스를 사용하지 않으면 비활성화 하고 Microsoft에서 제공하는 윈도우 보안 업데이트를 하여야 한다.