본문 바로가기
악성코드 정보

엑셀 매크로 코드에서 확인된 Anti-VM 기능 (very hidden)

by 분석팀 2020. 3. 27.

ASEC분석팀은 3월 25일 악성 매크로 코드를 '좀 더' 숨긴 엑셀파일에서 Anti-VM 기능까지 추가 된 것을 확인하였다. 해당 엑셀파일을 실행 시, 사용자는 아래의 그림과 같이 왼쪽 하단에 'Sheet1' 이름의 시트만 확인이 가능하다. 실제 악성코드가 사용하는 매크로 코드는 'Sheet1'이 아닌 숨겨진 시트에서 확인이 가능하다.

 

사용자에게 보여지는 악성 매크로 화면

매크로 시트를 구성하는 바이너리를 보면 '01' (Excel 4.0 macro sheet)가 '02' (very hidden)로 값이 되어 있음을 확인할 수 있고, 02를 00 으로 수정 시 숨겨져 있는 악성 Sheet를 확인 할 수 있다. very hidden에 대한 자세한 내용은 아래 글을 참고하면 된다.

 

Excel 4.0 macro sheet - very hidden

2020/03/11 - [악성코드 정보] - 악성 매크로 코드를 '좀 더' 숨긴 엑셀 파일 유포 - very hidden

 

악성 매크로 코드를 '좀 더' 숨긴 엑셀 파일 유포 - very hidden

새로운 방식으로 악성 매크로 코드를 숨긴 엑셀 파일이 발견되었다. 이번 파일은 엑셀 4.0 (XLM) 매크로 시트를 이용하였는데, 기존의 악성 매크로 시트를 단순히 숨겼던 방식에서 일반적인 사용자 인터페이스로는..

asec.ahnlab.com

숨겨진 시트를 보이도록 수정한 후에는 아래의 그림과 같이 왼쪽 하단에 'k6GEbGaEyi'라는 이름의 시트를 새롭게 확인할 수 있다. 이 숨겨져 있던 시트에는 악성 매크로 코드가 존재하며, 사용자에 의해 상단의 '콘텐츠 사용' 버튼을 클릭 시 실행되는 구조이다.

 

숨겨진 매크로 시트

 

악성 매크로 코드 중 일부

 

해당 매크로 코드는 특정 URL로 접속하여 2차 악성파일 다운로드 행위를 수행한다. 하지만, 이번에 확인된 매크로 코드에서는 기존과 달리 (파일 다운로드 행위를 수행하기 전에) Anti-VM으로 추정되는 코드가 새롭게 확인되었다. 위 그림에 표시된 매크로 코드 중, GET.WORKSPACE()라는 함수를 통해 현재 엑셀 프로그램의 workspace 환경을 체크한다. 즉, 조건에 따라 파일 다운로드 행위가 발생하지 않을 수 있도록 제작되었다. 조건이 일치하지 않으면 CLOSE()함수를 실행해 아래와 같은 화면이 나오게 된다.

 

[파일 다운로드 URL]

  • https[:]//grpxmqnrb.pw/ehrj4g9g

 

CLOSE()가 실행 된 엑셀

 

악성코드에서 GET.WORKSPACE() 함수의 인자값으로 사용한 Type_num의 정보는 총 4가지로 아래와 같다.

 

Type_num Returns
13 Usable workspace width, in points
14 Usable workspace height, in points.
19 If a mouse is present, returns TRUE; otherwise, returns FALSE. In Microsoft Excel for the Macintosh, always returns TRUE.
42 If your computer is capable of playing sounds, returns TRUE; otherwise, returns FALSE.
참고자료 : Excel-4.0-Macro-Functions-Reference.pdf

너비와 높이 등의 조건이 일치 할 경우 URLDownlaod 함수를 이용해 악성 파일을 다운받는다. 그 후 아래의 그림과 같은 Fake Alert 메시지 창을 띄워 사용자에게 마치 엑셀파일이 잘못 된 것처럼 보여지게 한다. 하지만, 이때 '확인' 버튼을 누르면 rundll32.exe를 통해 다운로드 받은 2차 악성파일 실행하고, CLOSE()함수를 이용해 사용자에게는 마치 엑셀이 실행되지 않은것 처럼 보이게 한다.

 

엑셀이 손상되었다는 거짓 Alert

 

기존 Very hidden 악성코드는 매크로 실행 시 Download 행위만 했다면, 이번에 발견 된 악성코드는 사용자 환경을 파악해 일정 크기보다 작으면 매크로가 동작하지 않도록 하였다. 이는 Anti-VM 기능으로 보여지며 기본적으로 가상 환경은 고해상도를 사용하지 않는다. Virtual Box 기본 해상도는 1024 x 768 이다. 이 상태로는 엑셀파일을 최대화 해도 너비가 770보다 작아 악성코드가 동작할 수 없다. 

 

virtual box 기본 해상도

샌드박스가 아닌 경우에는 모두 이보다 높은 해상도를 사용하여 악성코드가 동작함에 있어 제약이 없을 것으로 생각된다. 이처럼 나날이 악성코드 기법이 발전하고 다양해지고 있으므로 사용자의 주의가 필요하다.

 

또한, 모르는 사용자가 보낸 이메일의 첨부파일은 열어 보면 안되고, 아는 사람이 보낸 메일이라도 매크로 실행을 누르는 것은 항상 주의 해야한다. 자사에서는 새로운 악성코드 기법에 대해 모니터링 및 분석을 진행 하고있으며, 최신 공격기법이 우회되지 않고 탐지 될 수 있도록 대응중이다.

 

현재 안랩 V3에서는 이와 같은 악성코드를 다음과 같은 진단명으로 진단하고 있다.

  • Downloader/Xls.Generic (2020.03.25.05)

 

댓글