1. 개요
○ VirusTotal(VT)에서 CVE-2024-43572*를 악용한 MSC 파일 1건 확보하여 분석 진행
* CVE-2024-43572: Microsoft Management Console(MMC)의 원격 코드 실행(RCE) 취약점
○ 중국 APT 그룹 Mustang Panda에서 사용하는 PUBLOAD 악성코드로 판단되며, C2 통신을 통해 PlugX, CobaltStrike, TONESHELL 등의 추가 악성코드 유포할 것으로 추정
- 초대장 문서로 위장한 악성 MSC 파일 실행 시 취약점 발현되어 악성 행위 수행
- 최종적으로 시스템 기본 정보 탈취 및 추가 악성코드 다운받아 실행하는 동작 수행
[그림 1] 공격 흐름도
2. 대응방안
○ “8. [별첨] 윈도우 업데이트” 참고하여 영향 받는 제품의 Build Number 확인 후 최신 업데이트
○ 파일 실행 시 아이콘, 확장자, 유형 등 신중히 확인하여 실행
- 확장자 확인을 위해 “폴더 옵션 > 보기 탭 > 알려진 파일 형식의 파일 확장명 숨기기” 체크 해제 권장
3. 악성코드 상세 분석
3.1 Invitation letter.msc – Loader(CVE-2024-43572, GrimResource)
○ 분석한 파일은 ‘Invitation letter’라는 이름의 Word 문서로 위장한 .msc 파일로 문서 편집기로 열람 시 스크립트 확인 가능
[그림 2] msc 파일 내 작성된 스크립트
○ 해당 파일은 CVE-2024-43572 취약점을 악용하여, apds.dll 라이브러리 내 DOM 기반 XSS 결함을 이용해 MSC 파일에서 자바스크립트를 실행하는 GrimResource 기법이 사용됨
구분 | 내용 |
형식 | res://apds.dll/redirect.html?target=<실행할 JavaScript> |
특징 | %LOCALAPPDATA%\Microsoft\Windows\INetCache\IE\<랜덤>\redirect[?] 파일 생성
스크립트 실행 시 transformNode 난독화 기법 사용하여 ActiveX 경고 회피가능 |
[표 1] GrimResource 기법이 사용된 MSC 파일 특징
[그림 3] 생성되는 redirect 파일
○ 최종적으로 실행되는 자바스크립트는 VBScript로 cmd 명령어를 실행하는 것으로 확인됨
- cmd 명령어는 curl 도구를 이용해 C2에서 jisu.bat 파일을 공용 폴더에 다운로드 받아 실행
[그림 4] 최종 실행되는 자바스크립트 내용
3.2 jisu.bat – Loader
○ jisu.bat 파일은 프로그램 종료 방해 및 탐지 우회를 위해 레지스트리 등록 및 작업스케줄러 추가 등록하여 지속성 유지
○ curl 이용해 jisu.bat 파일 업데이트 및 공용(Public) 폴더에 추가 페이로드 다운로드 받아서 실행
[그림 5] jisu.bat 스크립트 내용
레지스트리 경로 | 이름 | 형식 | 데이터 | 설명 |
HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System | DisableTaskmgr | REG_DWORD | 1 | 작업관리자 비활성화 |
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System | EnableLUA | REG_DWORD | 0 | 사용자 계정 컨트롤(UAC) 비활성화 |
HKLM\Software\Microsoft\Windows\CurrentVersion\Run | jisucommon | REG_SZ | C:\Users\Public\jisucommon.exe | 부팅 시 마다 자동실행
(지속성 유지) |
[표 2] 레지스트리 등록 작업
3.3 FileAssociation.dll – Shellcode Injection & Run
○ jisucommon.exe는 파일의 형식을 변환해주는 정상 프로그램인 “JisuOffice”로 확인되며, 실행 시 같은 폴더에 있는 악성 FileAssociation.dll 파일이 DLL-SideLoading 방식으로 실행
[그림 6] curl 명령어를 통해 다운로드 받는 파일들
[그림 7] jisuoffice 홈페이지
○ FileAssociation.dll의 export 함수들 중 CreateFileAssociation 함수에서 악성행위 발견되며, 타 함수들의 경우 MessageBox를 출력하거나 ExitProcess를 실행하는 등 기능이 미구현된 것으로 확인
[그림 8] FileAssociation.dll Export 함수 일부
[그림 9] MessageBox 기능만 발견되는 타 Export 함수
○ ProgramData 하위 경로에 “FastPerfPDFv624” 폴더 생성 및 파일 복사
[그림 10] ProgramData 하위 폴더에 폴더 생성 및 파일 복사
○ 지속성 유지를 위해 HKCU\SOFTWARE\Microsoft\CurrentVersion\Run 경로에 AmindPDFAA 레지스트리 등록
[그림 11] 레지스트리 등록 현황
○ 지속성 유지를 위해 6분마다 실행되는 AmindPDFAA 작업스케줄러 등록
[그림 12] 작업스케줄러 등록 현황
○ 레지스트리 또는 작업스케줄러를 통해 실행 시 “PrintPDFB” 문자열을 인자로 받아, dll 파일 내 암호화된 쉘코드 복호화하여 가상메모리 할당 후 열거형 API(EnumPropsExW)를 이용해 Callback으로 삽입하여 실행
•
동적 분석 시 원인 불명으로 쉘코드가 실행되지 않아 별도 추출하여 분석 진행
[그림 13] 쉘코드 복호화 및 삽입 기능
[그림 14] 암호화된 쉘코드 데이터 복호화
3.4 Shellcode – Loader (PUBLOAD 변형 추정)
○ 쉘코드에서 사용할 API는 동적으로 로드하여 사용하는 방식
○ GetTickCount, GetComputerNameA, GetUserNameA API를 이용해 데이터 수집 후 Key 값을 이용하여 4번의 XOR 암호화 진행 후 C2와 소켓 통신하여 데이터 전송 시도
[그림 15] 쉘코드 메인 동작 함수
[그림 16] C2 통신 관련 메모리 정보(데이터 암호화 전)
[그림 17] 데이터 암호화 함수
○ C2(45.150.128[.]212:443)와 통신 불가로 이후 과정 확인 불가하나, 앞서 동적으로 로드된 함수 확인 시 추가 파일 혹은 명령을 받아 실행하는 로더 혹은 백도어로 추정됨
[그림 18] 소켓 정보 상세
[그림 19] C2 통신 실패
4. Mustang Panda와의 연관성
○ Mustang Panda가 MSC 파일을 이용해 변형 PUBLOAD를 유포한 캠페인으로 추정됨
○ Mustang Panda는 이전에 MSC 파일을 이용해 PlugX 악성코드를 유포한 사례*가 존재하며 추후 MSC 파일을 통한 공격 가능성이 제기되었음
* 참고: 기배포 문서 [IG-24-4030-O] MS관리콘솔을 활용한 Kimsuky APT 공격 악성코드 분석(3보)
○ 이번 파일에서 확인된 TTP는 2022년 11월 TrendMicro 보고서에서 공개한 Mustang Panda의 공격 캠페인에 사용된 악성코드 PUBLOAD*의 TTP와 유사한 점 다수 확인됨
* PUBLOAD: 로더형 악성코드로 PlugX, Cobalt Strike, TONESHELL 등의 악성코드를 유포하는 것으로 알려짐
NO | 내용 |
1 | Public 폴더에 추가 페이로드 다운로드 |
2 | 지속성 유지를 위해 작업스케줄러 등록, 레지스트리 Run 키 등록 |
3 | DLL Side-Loading 기법 수행 |
4 | Shellcode 복호화 후 Callback 함수를 이용하여 실행 |
5 | C2 통신 시 패킷 암호화에 사용되는 Key, 패킷 구조 동일 |
[표 3] Mustang Panda PUBLOAD와의 TTP 유사성
[그림 20] PUBLOAD 패킷 구조(출처: TrendMicro)
○ 신뢰되지 않는 인증서가 사용된 정황 발견됨. 발급 대상과 발급자가 동일한 루트 인증서지만 개인 회사로 인증 되어있는 점을 보았을 때, 2024년 4월 18일에 공개된 Mustang Panda의 새로운 공격 캠페인에서와 동일한 방식으로 Setup Factory 도구를 이용해 인증서를 만들어 사용한 것으로 추정
[그림 21] Mustang Panda에서 사용한 악성파일 인증서 정보(출처: FatzQatz 블로그)
[그림 22] FileAssociation.dll 인증서 정보
5. C2 IP 관련 추가 정보
○ C2로 사용된 IP(45.150.128[.]212)는 태국 IP로 확인되며 해당 IP와 연관된 다른 파일 발견
[그림 23] C2(45.150.128[.]212) 연관 파일 정보
○ 문서 제목처럼 위장한 EXE 파일 실행 시 숨겨진 악성 DLL 파일이 Side-Loading 되어 “3.3 FileAssociation.dll – Shellcode Injection & Run” 분석내용과 동일한 작업을 수행하는 것으로 확인됨
[그림 24] C2와 연관된 추가 파일
○ 해당 IP에 연결된 도메인은 2021년까지 발견되었으며 현재는 연결된 도메인이 확인되지 않음
[그림 25] IP 관련 확인된 도메인 목록
○ 브라우저를 통해 해당 IP로 접근 결과 Xfinity xFi*를 통해 관리되는 것으로 확인됨
* Xfinity xFi : 미국의 주요 ISP 중 하나인 Comcast의 Xfinity 인터넷 서비스 가입자를 위한 홈 WiFi 관리 플랫폼
○ Xfinity xFi는 주로 미국 내 사용자를 대상으로 제공되기 때문에, Mustang Panda가 미국 지역의 네트워크를 해킹하여 중간 거점으로 삼은 뒤 태국 IP를 VPN으로 사용하여 공격에 사용했을 것으로 추정됨
[그림 26] C2 IP 접근 시 표시된 화면
6. IOC 정보
NO | Type | Data | Info |
1 | MD5 | 0873d4d8db314710c63448be9b9e5a45 | invitation letter.msc |
2 | MD5 | 72fb3297bb7ee94727134b2ff5147bad | jisu.bat |
3 | MD5 | 04212669fb901a8e7232aedc45139d02 | FileAssociation.dll |
4 | MD5 | ce584d4bf02358ec31c9d5a763ad60ce | jisucommon.exe(정상) |
5 | C2 | 185.62.57[.]118 | |
6 | C2 | 185.62.57[.]118/FileAssociation.rar | FileAssociation.dll 다운로드 |
7 | C2 | 185.62.57[.]118/jisu.rar | jisu.bat 다운로드 |
8 | C2 | 185.62.57[.]118/jisucommon.rar | jisucommon.exe 다운로드 |
9 | C2 | 45.150.128[.]212 | Loader C2 |
10 | MD5 | bcbea3850e69e2884d7cd4d03c5ac851 | Notice of Final Meeting.zip |
11 | MD5 | d4d2ae2cd4611159a9e0baaaf1e0e804 | Notice of Final Meeting.exe(정상) |
12 | MD5 | ecd662c0161fb1ad9ddec60cb213424b | AmindPDFCore.dll |
7. 참고자료
8. [별첨] 윈도우 업데이트
Product | Build Number | Download |
Windows Server 2012 R2 (Server Core installation) | 6.3.9600.22221 | |
Windows Server 2012 R2 | 6.3.9600.22221 | |
Windows Server 2012 (Server Core installation) | 6.2.9200.25118 | |
Windows Server 2012 | 6.2.9200.25118 | |
Windows Server 2008 R2 for x64-based Systems Service Pack 1 (Server Core installation) | 6.1.7601.27366 | |
Windows Server 2008 R2 for x64-based Systems Service Pack 1 (Server Core installation) | 6.1.7601.27366 | |
Windows Server 2008 R2 for x64-based Systems Service Pack 1 | 6.1.7601.27366 | |
Windows Server 2008 R2 for x64-based Systems Service Pack 1 | 6.1.7601.27366 | |
Windows Server 2008 for x64-based Systems Service Pack 2 (Server Core installation) | 6.0.6003.22918 | |
Windows Server 2008 for x64-based Systems Service Pack 2 (Server Core installation) | 6.0.6003.22918 | |
Windows Server 2008 for x64-based Systems Service Pack 2 | 6.0.6003.22918 | |
Windows Server 2008 for x64-based Systems Service Pack 2 | 6.0.6003.22918 | |
Windows Server 2008 for 32-bit Systems Service Pack 2 (Server Core installation) | 6.0.6003.22918 | |
Windows Server 2008 for 32-bit Systems Service Pack 2 (Server Core installation) | 6.0.6003.22918 | |
Windows Server 2008 for 32-bit Systems Service Pack 2 | 6.0.6003.22918 | |
Windows Server 2008 for 32-bit Systems Service Pack 2 | 6.0.6003.22918 | |
Windows Server 2016 (Server Core installation) | 10.0.14393.7428 | |
Windows Server 2016 | 10.0.14393.7428 | |
Windows 10 Version 1607 for x64-based Systems | 10.0.14393.7428 | |
Windows 10 Version 1607 for 32-bit Systems | 10.0.14393.7428 | |
Windows 10 for x64-based Systems | 10.0.10240.20796 | |
Windows 10 for 32-bit Systems | 10.0.10240.20796 | |
Windows 11 Version 24H2 for x64-based Systems | 10.0.26100.2033 | |
Windows 11 Version 24H2 for ARM64-based Systems | 10.0.26100.2033 | |
Windows Server 2022, 23H2 Edition (Server Core installation) | 10.0.25398.1189 | |
Windows 11 Version 23H2 for x64-based Systems | 10.0.22631.4317 | |
Windows 11 Version 23H2 for ARM64-based Systems | 10.0.22631.4317 | |
Windows 10 Version 22H2 for 32-bit Systems | 10.0.19045.5011 | |
Windows 10 Version 22H2 for ARM64-based Systems | 10.0.19045.5011 | |
Windows 10 Version 22H2 for x64-based Systems | 10.0.19045.5011 | |
Windows 11 Version 22H2 for x64-based Systems | 10.0.22621.4317 | |
Windows 11 Version 22H2 for ARM64-based Systems | 10.0.22621.4317 | |
Windows 10 Version 21H2 for x64-based Systems | 10.0.19044.5011 | |
Windows 10 Version 21H2 for ARM64-based Systems | 10.0.19044.5011 | |
Windows 10 Version 21H2 for 32-bit Systems | 10.0.19044.5011 | |
Windows 11 version 21H2 for ARM64-based Systems | 10.0.22000.3260 | |
Windows 11 version 21H2 for x64-based Systems | 10.0.22000.3260 | |
Windows Server 2022 (Server Core installation) | 10.0.20348..2762 | |
Windows Server 2022 | 10.0.20348..2762 | |
Windows Server 2019 (Server Core installation) | 10.0.17763.6414 | |
Windows Server 2019 | 10.0.17763.6414 | |
Windows 10 Version 1809 for x64-based Systems | 10.0.17763.6414 | |
Windows 10 Version 1809 for 32-bit Systems | 10.0.17763.6414 |



_%25EC%25B5%259C%25EC%25B4%2588_msc_%25ED%258C%258C%25EC%259D%25BC_%25EB%2582%25B4_%25EC%258A%25A4%25ED%2581%25AC%25EB%25A6%25BD%25ED%258A%25B8(%25EC%25A4%2584%25EB%25B0%2594%25EA%25BF%2588x_%25EA%25B0%2595%25EC%25A1%25B0).png&blockId=181f216a-760c-8065-a4cf-df0de8799148)
_IE_%25ED%258F%25B4%25EB%258D%2594%25EC%2597%2590_%25EC%2583%259D%25EC%2584%25B1%25EB%2590%2598%25EB%258A%2594_redirect_%25ED%258C%258C%25EC%259D%25BC.png&blockId=181f216a-760c-80bb-9718-e101d3abedb6)
_%25EC%25B5%259C%25EC%25B4%2588_msc_%25ED%258C%258C%25EC%259D%25BC_%25EB%2582%25B4_%25EC%2595%2585%25EC%2584%25B1_%25EB%25B6%2580%25EB%25B6%2584_url_encoding_%25EB%25B6%2580%25EB%25B6%2584_%25EB%2594%2594%25EC%25BD%2594%25EB%2594%25A9_%25EC%258B%259C_%25ED%2599%2595%25EC%259D%25B8_%25EA%25B0%2580%25EB%258A%25A5.png&blockId=181f216a-760c-802e-8447-e98eaf849a0e)
_jisu_bat_%25ED%258C%258C%25EC%259D%25BC_%25EC%258A%25A4%25ED%2581%25AC%25EB%25A6%25BD%25ED%258A%25B8.png&blockId=181f216a-760c-8014-8d1b-e38536876fe8)
_bat_%25ED%258C%258C%25EC%259D%25BC%25EC%2597%2590%25EC%2584%259C_%25EC%25B6%2594%25EA%25B0%2580_%25EB%258B%25A4%25EC%259A%25B4%25EB%25B0%259B%25EB%258A%2594_%25EC%2595%2585%25EC%2584%25B1%25EC%25BD%2594%25EB%2593%259C(%25EC%2588%259C%25EC%2588%2598).png&blockId=181f216a-760c-8078-a35d-d45a92c3bcd0)
_jisuoffice_%25ED%2599%2588%25ED%258E%2598%25EC%259D%25B4%25EC%25A7%2580.png&blockId=181f216a-760c-802c-bebf-d3fa58d7f357)
_%25EC%2595%2585%25EC%2584%25B1%25ED%2596%2589%25EC%259C%2584_%25EB%25B0%259C%25EA%25B2%25AC_%25EC%259E%25A5%25EC%2586%258C2.png&blockId=181f216a-760c-8083-9872-fbec9f6f039f)
_%25EA%25B8%25B0%25EB%258A%25A5_%25EC%2597%2586%25EB%258A%2594_export_%25ED%2595%25A8%25EC%2588%2598.png&blockId=181f216a-760c-80da-b499-e123c53b47b7)
_%25ED%258F%25B4%25EB%258D%2594_%25EB%25B0%258F_%25ED%258C%258C%25EC%259D%25BC_%25EC%2583%259D%25EC%2584%25B1.png&blockId=181f216a-760c-8053-bbc7-c9d7f070cb45)
_%25EB%25A0%2588%25EC%25A7%2580%25EC%258A%25A4%25ED%258A%25B8%25EB%25A6%25AC_%25EB%2593%25B1%25EB%25A1%259D(%25EC%258B%25A4%25EC%25A0%259C_%25EA%25B0%2595%25EC%25A1%25B0).png&blockId=181f216a-760c-80a7-bb25-d234ec25d5b5)
_%25EC%259E%2591%25EC%2597%2585_%25EC%258A%25A4%25EC%25BC%2580%25EC%25A4%2584%25EB%259F%25AC_%25EB%2593%25B1%25EB%25A1%259D(%25EC%258B%25A4%25EC%25A0%259C_%25EA%25B0%2595%25EC%25A1%25B0).png&blockId=181f216a-760c-80d5-a41a-c612a05cab90)
_%25EC%2589%2598%25EC%25BD%2594%25EB%2593%259C_%25EC%259D%25B8%25EC%25A0%259D%25EC%2585%2598_%25EB%25B6%2580%25EB%25B6%2584.png&blockId=181f216a-760c-80dc-9519-e2da6ca14bd0)
_(%25EC%25B6%2594%25EA%25B0%2580)_%25EC%2589%2598%25EC%25BD%2594%25EB%2593%259C_%25EC%2595%2594%25ED%2598%25B8%25ED%2599%2594_%25EB%258D%25B0%25EC%259D%25B4%25ED%2584%25B0_%25EB%25B6%2580%25EB%25B6%2584.png&blockId=181f216a-760c-801a-be94-cbc74c9d3a6a)
_(%25EC%25B6%2594%25EA%25B0%2580)_%25EC%2589%2598%25EC%25BD%2594%25EB%2593%259C_%25EB%258D%25B0%25EC%259D%25B4%25ED%2584%25B0_%25EB%25B3%25B5%25ED%2598%25B8%25ED%2599%2594_%25ED%259B%2584.png&blockId=181f216a-760c-80b1-baa7-cc66af27378d)
_(%25EC%25B6%2594%25EA%25B0%2580)_%25EC%2589%2598%25EC%25BD%2594%25EB%2593%259C_%25EC%25BD%2594%25EB%2593%259C_%25EB%25B6%2584%25EC%2584%259D_%25EB%2582%25B4%25EC%259A%25A9(1).png&blockId=181f216a-760c-803c-b137-f8a24ad11edf)
_(%25EC%25B6%2594%25EA%25B0%2580)_%25EB%258D%25B0%25EC%259D%25B4%25ED%2584%25B0_%25EC%2595%2594%25ED%2598%25B8%25ED%2599%2594_%25EC%25A0%2584_(%25EB%2582%25B4%25EC%259A%25A9%25EC%25B6%2594%25EA%25B0%2580_mustang_header).png&blockId=181f216a-760c-808d-b94e-c3c30834fa48)
_(%25EC%25B6%2594%25EA%25B0%2580)_%25EC%2589%2598%25EC%25BD%2594%25EB%2593%259C_%25EB%25B3%25B5%25ED%2598%25B8%25ED%2599%2594_%25EB%25B6%2580%25EB%25B6%2584.png&blockId=181f216a-760c-80ca-9fb9-efe134df9e91)
_(%25EC%25B6%2594%25EA%25B0%2580)_%25EC%2586%258C%25EC%25BC%2593_%25EB%258D%25B0%25EC%259D%25B4%25ED%2584%25B0_%25EB%25B6%2580%25EB%25B6%2584_%25EC%2583%2581%25EC%2584%25B8.png&blockId=181f216a-760c-80c0-b0e9-e8a3dd71a2d9)
_(%25EC%25B6%2594%25EA%25B0%2580)_%25EC%2589%2598%25EC%25BD%2594%25EB%2593%259C_%25ED%2586%25B5%25EC%258B%25A0_%25EC%258B%25A4%25ED%258C%25A8.png&blockId=181f216a-760c-80ef-a8e6-eb739d3b358b)

_Mustang_Panda_%25EC%259D%25B8%25EC%25A6%259D%25EC%2584%259C(FatzQatz).png&blockId=181f216a-760c-804b-a6e6-d328fa53f641)
_FileAssociation_dll_%25EC%259D%25B8%25EC%25A6%259D%25EC%2584%259C(%25ED%2586%25B5%25ED%2595%25A9).png&blockId=181f216a-760c-80cc-bbf2-dd51bb1616ed)
_VT_IP_%25EA%25B4%2580%25EB%25A0%25A8_%25EC%25A0%2595%25EB%25B3%25B4(%25ED%258E%25B8%25EC%25A7%2591_01.03%25EC%259D%25BC%25EC%259E%2590).png&blockId=181f216a-760c-8098-8a65-f17041046276)
_(%25EC%259C%25A0%25EC%2582%25AC%25ED%258C%258C%25EC%259D%25BC)_%25ED%258C%258C%25EC%259D%25BC_%25EB%25AA%25A9%25EB%25A1%259D.png&blockId=181f216a-760c-8028-804c-f722f52c86ad)
_IP_%25EC%25A0%2595%25EB%25B3%25B4_secai_%25EA%25B2%2580%25EC%2583%2589_%25EA%25B2%25B0%25EA%25B3%25BC.png&blockId=181f216a-760c-80db-9d54-ffd56203beab)
_IP_%25EC%25A0%2591%25EA%25B7%25BC_%25EC%258B%259C_%25ED%2599%2595%25EC%259D%25B8%25EB%2590%2598%25EB%258A%2594_app_%25EC%25A0%2595%25EB%25B3%25B4.png&blockId=181f216a-760c-8092-9967-da3ba7ee661c)


