보안동향

최신 보안정보를 신속하게 전해드립니다.

윈도우 MS Office 365 매크로 차단을 우회하기 위한 XLL 악성코드 유포 증가

2022-12-30

2022년 7월, 윈도우용 MS Office 365에는 인터넷을 통해 다운로드한 문서 파일에서 매크로를 기본적으로 비활성화 시키는 기능이 도입되었다. 이는 문서 매크로를 이용한 악성코드 유포 사례가 지속적으로 발생함에 따른 조치로 도입된 기능이다.

 

물론, 기존에도 매크로가 포함된 문서 열람 시 기본적으로 경고 메시지가 표시되었기 때문에 사용자의 추가적인 액션 없이는 매크로가 동작하지 않았다. 하지만, '콘텐츠 사용' 버튼을 클릭하는 것만으로 매크로 실행이 가능하였기 때문에 사용자 부주의로 인해 악성코드에 감염되는 사례가 많았다.

[그림 1] 인터넷에서 다운로드 한 매크로가 포함된 문서 열람 시 화면 (기존)

 

매크로 비활성화 기능이 도입된 이후에는 윈도우 MS Office 365에서 인터넷을 통해 다운로드한 매크로가 포함된 문서 파일 열람 시 [그림 2]와 같이 매크로가 기본적으로 차단된다.

[그림 2] 인터넷에서 다운로드 한 매크로가 포함된 문서 열람 시 화면 (비활성화 기능 도입 후)

 

하지만, 공격자들은 이러한 MS Office 365의 매크로 차단 기능을 우회하기 위한 전략을 사용하고 있다. 우회하는 단순한 방법 중 하나는 바로 IMG, ISO, RAR, ZIP과 같은 아카이브 파일에 매크로가 적용된 문서를 포함시키는 것이다. 예를 들어, 공격자는 악성 매크로가 적용된 문서 파일을 ZIP 파일로 압축하여 피싱 이메일에 첨부한다. 만약, 사용자가 첨부된 파일을 다운로드하여 압축을 해제한 뒤 문서 파일을 열람할 경우, 해당 문서에는 매크로 비활성화 기능이 적용되지 않는다. 따라서, 이전과 마찬가지로 ‘콘텐츠 사용’ 버튼을 클릭하는 것만으로 매크로 실행이 가능하게 된다.

 

한편, 매크로 차단 기능을 우회하기 위해 XLL 형식의 파일을 유포하는 사례도 증가하고 있다.

XLL 형태의 악성코드 유포는 최소 2017년부터 존재해온 것으로 확인되지만, FormBook 및 Dridex와 같은 악성코드에서 XLL을 사용하기 시작한 2021년 말까지는 그다지 많이 발견되지 않았다.

하지만, MS Office 365의 매크로 비활성화 기능이 도입되면서 이를 우회하기 위한 방식 중의 하나로써 XLL 형태의 악성코드 유포가 점차 증가하고 있다.

 

XLL 파일(.xll)은 외형은 윈도우 PE(Portable Executable) 파일 중 하나인 DLL 포맷이지만, MS Excel의 추가 기능에 의해 실행되는 파일이다.

[그림 3] DLL 포맷의 XLL 파일

 

XLL 파일을 실행하면 다음과 같이 Excel이 실행되면서 추가 기능 사용을 위한 보안 알림 메시지가 나타난다. ‘이 세션에서만 이 추가 기능을 사용합니다’ 버튼을 클릭하면 악성코드가 동작하게 된다.

[그림 4] XLL 파일 실행 시 나타나는 보안 알림 메시지

 

해당 XLL 샘플은 ‘Excel-DNA’ 라는 오픈소스 도구를 통해 제작된 형태로써, 내부 리소스 영역에 실제 악성행위를 수행하는 파일(JACK.dll)이 포함되어 있다.

[그림 5] 악성 XLL 샘플 내 리소스 확인

 

다음은 악성 XLL 샘플을 언패킹하여 XLL 샘플의 리소스 영역에 존재하는 dll 파일과 .dna 파일을 추출한 것이다.

[그림 6] 악성 XLL 샘플 언패킹 결과

 

.dna 파일에서는 엑셀 추가 기능 실행 시 실행될 악성 DLL(JACK.dll)을 확인할 수 있다.

[그림 7] __MAIN__.dna

 

엑셀 추가 기능 실행 시 실행되는 악성 DLL(JACK.dll)은 %TEMP% 경로에 정상문서로 위장하기 위한 디코이 문서(sample.xlsx)를 생성 후 실행하며, 추가적으로 %APPDATA% 경로에 악성코드(service.exe)를 생성하여 실행하는 기능을 한다.

[그림 8] 엑셀 추가 기능 실행 시 동작하는 DLL (JACK.dll)

 

사용자가 XLL 문서 열람 후 ‘이 세션에서만 이 추가 기능을 사용합니다’ 버튼을 클릭하여 엑셀 추가 기능을 실행할 경우, 최종적으로 [그림 9]와 같은 디코이 문서(sample.xslx)를 보게 되며, 백그라운드에서는 악성코드(service.exe)가 실행되기 때문에 일반적인 사용자는 악성코드에 감염되었다는 사실을 인지하지 못할 수 있다.

[그림 9] 정상문서로 위장하기 위한 디코이 문서 실행 (sample.xlsx)

 

[그림 10] 엑셀 추가 기능 실행 시 프로세스 트리 구조

 

이처럼 공격자들은 윈도우 MS Office 365의 매크로 차단을 우회하기 위한 방법 중 하나로 XLL 형태의 악성 파일을 제작하여 유포하고 있다. XLL 파일의 경우, 매크로와 마찬가지로 악성코드 실행을 위해서는 사용자의 상호작용이 필요하다. 사용자는 출처가 불분명한 문서를 열람하지 않도록 해야 하며, 만약 실수로 XLL 파일을 열람하게 되더라도 ‘이 세션에서만 이 추가 기능을 사용합니다’ 버튼을 클릭하지 않도록 해야 한다.

 

 

 

보안관제센터 MIR Team

목록