
CVE-2023-21554 PoC
이 저장소는 TCP 포트 1801에서 수신 대기 중인 Microsoft Message Queuing을 대상으로 하는 즉시 실행 가능한 개념 증명(PoC)을 포함합니다. 이 작업은 원본 프로젝트의 자료를 기반으로 하며 이를 사용합니다:
https://github.com/leongxudong/MSMQ-Vulnerability
이 저장소는 해당 프로젝트에서 제공한 바이너리 아티팩트를 사용합니다. PoC에 포함되고 참조되는 바이너리 파일은 다음과 같습니다:
establish_connection.binconnection_parameters.binuser_message.bin이 PoC는 일련의 MSMQ 프로토콜 프레임을 포트 1801의 대상 호스트에 전송하여 CVE 2023 21554에 설명된 조건을 재현하려고 시도합니다. PoC 스크립트는 네트워크 수준 활동만 수행하며 사후 악용 작업은 수행하지 않습니다. 이 프로젝트는 격리된 실습 환경에서의 분석 및 방어 검증만을 목적으로 합니다.
CVE-2023-21554.py — 세 개의 바이너리 블롭을 순서대로 전송하는 원본 PoC 스크립트CVE-2023-21554.py — 응답, 헥스 덤프, 타임스탬프, 소켓 수준 오류를 기록하는 공격자 측 보조 스크립트. 이 스크립트를 사용하여 보다 유용한 공격자 측 증거를 확보하십시오establish_connection.bin — 원본 저장소의 1단계 바이너리 페이로드connection_parameters.bin — 원본 저장소의 2단계 바이너리 페이로드user_message.bin — 원본 저장소의 3단계 바이너리 페이로드README.md — 이 파일세 개의 바이너리 파일을 PoC 스크립트와 같은 폴더에 둡니다
PoC 스크립트 또는 CVE-2023-21554.py를 편집하여 대상 IP 주소를 설정합니다
공격자 머신에서 대상 IP와 포트에 대한 네트워크 캡처를 시작합니다. 별도의 셸에서 사용하는 예시 명령(IP를 대상 IP로 바꾸세요):
sudo tcpdump -i eth0 host 10.0.2.15 and port 1801 -w msmq_test.pcap
타임스탬프가 포함된 로그와 헥스 덤프를 얻기 위해 향상된 확인 스크립트를 실행합니다
python3 CVE-2023-21554.py
PoC 출력과 네트워크 캡처 파일을 분석용으로 저장합니다
CVE-2023-21554.py가 페이로드 단계 직후 connection_reset 또는 orderly_close를 보고합니다(이들은 보조 스크립트가 출력하는 명시적 상태입니다).mqsvc.exe가 크래시되거나 다시 시작됩니다.mqsvc.exe를 참조하는 이벤트가 있습니다.mqsvc 프로세스의 예외가 표시됩니다.각 필터에서 <TARGET>을 대상 IP로 바꾸세요.
공격자와 대상 간 MSMQ 포트의 모든 트래픽 표시:
ip.addr == <TARGET> && tcp.port == 1801
서버에서 발생한 TCP RST만 표시:
ip.src == <TARGET> && tcp.port == 1801 && tcp.flags.reset == 1
애플리케이션 데이터(비어 있지 않은 TCP 페이로드)가 포함된 패킷 표시:
ip.addr == <TARGET> && tcp.port == 1801 && tcp.len > 0
길이가 0인 세그먼트 또는 FIN 표시:
ip.addr == <TARGET> && tcp.port == 1801 && (tcp.len == 0 || tcp.flags.fin == 1)
재전송 및 TCP 이상 징후 표시:
tcp.analysis.retransmission || tcp.analysis.fast_retransmission || tcp.analysis.duplicate_ack
tcp.len 값이나 RST 바로 앞의 패킷을 찾아보십시오.server_reply.hex).CVE-2023-21554.py의 전체 stdout 로그를 텍스트 파일로 저장합니다msmq_test.pcap)을 저장합니다mqsvc.exe의 크래시 덤프를 캡처하고 분석용으로 저장합니다이 코드는 대상 호스트에서 서비스 크래시와 불안정성을 유발할 수 있습니다. 소유하지 않았거나 테스트에 대한 명시적 허가가 없는 시스템에서 실행하지 마십시오. 항상 격리된 실습 환경에서 테스트하고 테스트 전에 VM 스냅샷을 만드십시오. 원저작물은 업스트림 프로젝트에 있습니다:
https://github.com/leongxudong/MSMQ-Vulnerability
이 저장소는 다음 원본 프로젝트에서 파생되었습니다:
https://github.com/leongxudong/MSMQ-Vulnerability
탐지 보조 도구나 증거 수집 스크립트를 추가하는 경우 이를 문서화하고 안전한 실습 사용을 위한 지침을 포함해 주세요
원래 컨텍스트와 바이너리 아티팩트는 위 링크의 업스트림 저장소를 참조하십시오. 방어 지침 관련해서는 CVE 2023 21554에 대한 공급업체 권고와 공개된 분석 글을 확인하십시오.