
RDG Gateway Server에서 CVE-2020-0609 및 CVE-2020-0610 취약점을 확인하기 위한 개념 증명(PoC) 스캐너입니다.
RDP 게이트웨이 서버에서 CVE-2020-0609 및 CVE-2020-0610 취약점을 확인하기 위한 개념 증명 스캐너입니다.
메모리 손상 취약점 스캔은 위험하며 시스템을 충돌시킬 수 있습니다. 이 도구는 충돌을 유발하지 않도록 설계되었지만 안정성은 100% 보장할 수 없습니다. 본인 책임 하에 사용하고 테스트 권한이 있는 시스템에서만 스캔하십시오.
python3 RDGScanner.py <ip> <port>
취약점을 이해하려면 제 분석 글을 읽어보세요: https://www.kryptoslogic.com/blog/2020/01/rdp-to-rce-when-fragmentation-goes-wrong/
CONNECT_PKT_FRAGMENT 메시지는 연결 메시지가 여러 패킷으로 분할될 수 있게 합니다. 각 패킷에는 시퀀스 내 패킷의 위치를 지정하는 필드(fragment_id)와 시퀀스의 총 패킷 수를 지정하는 필드(num_fragments)가 있습니다.
CVE-2020-0610은 fragment_id가 64보다 클 때 발생하는 OOB(Out-of-Bounds) 쓰기 취약점입니다. 이 취약점을 완화하기 위해 fragment_id 또는 num_packets가 64보다 크면 실패하도록 검사가 추가되었습니다.
num_fragments(fragment_id는 제외)를 64보다 큰 값으로 설정하면 취약점 악용을 감수하지 않고도 보안 검사를 우회할 수 있습니다. 패치된 시스템에서는 0x8000ffff 오류 코드와 함께 연결이 끊기지만, 패치되지 않은 시스템에서는 아무 일도 일어나지 않습니다.