MS 워드 문서로 위장한 MSC 파일, 실제로는 악성코드?
안랩 분석팀은 최근 Rhadamanthys 인포스틸러가 MSC 확장자 파일을 통해 유포되고 있는 정황을 확인했다. MSC 확장자는 Microsoft Management Console(MMC)에 의해 실행되는 XML의 기반 포맷으로, 스크립트 코드 및 커맨드 명령 실행, 프로그램 실행 등 다양한 작업을 등록해 실행할 수 있는 점이 특징이다. 이번 글에서는 MSC 확장자를 통한 Rhadamanthys 인포스틸러의 유포 방식과 이를 통한 악성코드 실행 메커니즘을 중점적으로 살펴본다.
Rhadamanthys 인포스틸러는 2가지 방식으로 실행된다. 첫 번째 방식은 apds.dll의 취약점(CVE-2024-43572)을 악용하는 방법이고, 두 번째는 Console Taskpad를 사용하여 커맨드 명령을 실행하는 방식이다. MSC 악성코드 유포는 2024년 6월부터 급증하기 시작했으며, 그 중 apds.dll의 취약점(CVE-2024-43572)을 이용한 방식이 가장 많이 발견됐다. 이번에 확인된 MSC 파일은 Console Taskpad 방식을 사용한 유형이다.
유형별 실행 방식에 대한 설명은 다음과 같다.
1. apds.dll의 취약점(CVE-2024-43572) 사용
apds.dll에 존재하는 리소스에서 “redirect.html”이라는 리소스를 찾아 그 기능을 사용하는 방식이다. MSC에서 이 유형을 트리거하기 위해서는 반드시 “res://apds.dll/redirect.html?target=javascript:eval(external.Document.ScopeNamespace.GetRoot().Name)” 구문이 필요하다.
[그림 1] apds.dll의 취약점을 사용하는 MSC 내부 페이로드 일부
여기서 “res://” 프로토콜을 이용해 로컬에 존재하는 파일의 리소스에 접근할 수 있다. 이를 해석하면 apds.dll에 존재하는 “redirect.html” 리소스에 접근하는 것이다. 해당 리소스에는 정규식 검색을 통해 “target=” 뒤의 코드를 찾고, 해당 코드를 “.exec()“를 통해 실행하는 방식이다. 즉, 요약하면 MMC에서 코드를 실행하는 것이 아니라 취약한 DLL 내부에서 직접 코드를 실행하는 방식이다.
[그림 2] “redirect.html” 리소스의 내용
2. Console Taskpad 사용
<ConsoleTaskpads>와 </ConsoleTaskpads> 사이에 존재하는 명령어를 해석하여 실행하는 방식으로, 1번과는 다르게 MMC 내부에서 명령을 실행하는 방식이다. 1번 방식처럼 DLL 내부에서 코드를 실행하는 방식이 아니라, MMC 자체적으로 지원하는 기능을 사용하는 방식이기 때문에 간단한 명령어 및 특정 파일 실행 정도만 가능하다.
[그림 3] Console Taskpad 방식을 사용하는 MSC 내부 페이로드
MSC 파일은 MS Word 문서로 위장돼 있으며, [그림4]와 같이 “Open” 버튼을 클릭하면 외부에서 파워쉘(PowerShell) 스크립트를 다운로드하여 실행한다. 이후 다운로드된 파워쉘 스크립트에는 EXE(Rhadamanthys) 파일이 포함돼 있으며, %LocalAppData%(C:\Users\[사용자 유저명]\AppData\Local) 경로에 “eRSg.mp3″라는 이름으로 생성되고 실행된다.
[그림 4] 악성 MSC 파일의 아이콘
[그림 5] 다운로드된 파워쉘 스크립트
apds.dll의 취약점(CVE-2024-43572)을 사용하는 유형은 취약점 패치로 인해 더 이상 실행되지 않지만, Console Taskpad를 사용하는 유형은 취약점을 악용하는 방식이 아니기 때문에, 정상적인 방법으로도 사용될 수 있다. 따라서 출처가 불분명한 MSC 파일을 실행할 때에는 사용자의 각별한 주의가 필요하다.
출처 : AhnLab