
CVE-2025-59287에 대한 개념 증명 익스플로잇으로, 안전하지 않은 역직렬화를 통해 Microsoft WSUS에서 원격 코드 실행 취약점을 악용합니다. SYSTEM 권한으로 코드 실행을 트리거하기 위해 조작된 SOAP 요청을 전송합니다.
⚠ 이 도구는 교육 목적으로만 제작되었습니다. 통제된 환경 외부에서의 무단 사용은 엄격히 금지됩니다.
CVE-2025-59287은 Microsoft Windows Server Update Services(WSUS)의 치명적인 원격 코드 실행 취약점입니다. 이 취약점은 WSUS 구성 요소 내부의 안전하지 않은 역직렬화에서 비롯되며, 원격의 인증되지 않은 공격자가 서비스로 하여금 조작된 .NET 객체를 역직렬화하고 SYSTEM 계정으로 임의 코드를 실행하도록 할 수 있습니다. 이 취약점은 일반적으로 WSUS 웹 엔드포인트에 특수하게 제작된 SOAP 요청을 전송하여 악용됩니다. 이 저장소는 이 취약점에 대한 개념 증명(PoC)을 시연하기 위해 생성되었습니다.
이 PoC는 .NET BinaryFormatter로 직렬화되고 Base64로 인코딩된 페이로드를 기대합니다. 페이로드가 제공되지 않으면 무해한 계산기 페이로드가 대신 사용됩니다. 사용자 정의 페이로드를 사용하는 방법은 여러 가지가 있습니다.
payload.txt에 페이로드를 삽입하기만 하면 됩니다.
YOUR_PAYLOAD
코드는 이 파일의 페이로드를 사용합니다.
두 번째 옵션: 페이로드를 수동으로 추가할 수 있습니다. exp.py를 열고 다음 블록을 찾으십시오. 'your_payload'를 Base64로 인코딩된 .NET BinaryFormatter 페이로드로 교체하십시오.
...
if not args.no_wait:
time.sleep(0.02)
injected = payload_text or 'your_payload'
success, event_id, target_sid = send_malicious_event(target, cookie, injected)
...
python exp.py http://example.local:8533
(http://example.local:8530을 대상 WSUS 서버 URL로 교체하십시오)
encrypt.py는 WSUS가 기대하는 암호화/패킹된 데이터처럼 보이는 blob을 준비합니다. exp.py는 해당 blob을 취약한 서비스가 복호화하고 역직렬화할 WSUS 필드에 배치하는 SOAP 요청을 구성하고 전송합니다. 서버가 취약한 경우 역직렬화된 객체가 코드 실행을 트리거할 수 있습니다.
이 도구는 교육 목적으로만 제작되었습니다. 통제된 환경 외부에서의 무단 사용은 엄격히 금지됩니다.