Crazy Journey: Evolution of Smoky Camouflage2022/01/27
Ryuichi Tanabe, Yuta Sawabe

AgendaAbout Us
Motivation and Goal
Overview of Malsmoke
Attack Flow
Infrastructure
Relationships with Other Campaigns
How to Hunt
How to Research
Zloader’s IoC Collecting System
Conclusion
2

About Us
田邉龍一• NTTセキュリティ・ジャパンでログ分析やマルウェア解析に従事• 主にEDRに関する業務を担当• VB, SAS, CODE BLUE にて講演
澤部祐太
• NTTセキュリティ・ジャパンでログ分析やマルウェア解析に従事• 以前は悪性ドメイン名に関する研究をしていた• 2019 JIP Specially Selected Paper 受賞

3Motivation and Goal
Malsmokeキャンペーンの活発化• 日本のユーザーも主な標的となっている• 攻撃手法を頻繁に更新しているため中長期的な対策が難しい過去から現在に至るまでの攻撃者の試行錯誤の共有• Malsmokeキャンペーンの歴史・攻撃フロー、インフラ• 他の攻撃キャンペーンとの関連性
Malsmokeの中長期的な対策についての提案• 効果的なHuntingやResearch方法の共有• ZloaderのIoC抽出システムを提案
4

Overview of Malsmoke

Malsmoke History

FalloutEK 初観測

FalloutEK消滅？

AD参加確認の追加

GPGの利用

(2019/12)(2020/10)(2021/08)(2021/11)

MalwareBytesによるレポート(2020/09)

6

偽の Java PluginによるSocial Engineering 利用

VHDの利用(現在未使用)
AteraAgentの利用開始(2020/11)(2021/09)

Characteristics
1. Malvertisingの利用⚫ 広告ページ経由でLandingページへ到達⚫ Malvertisingでは該当の広告へ意図してアクセスするのが困難⚫ 再現性が低いためリサーチしにくい

Legitimate Website

7

MalvertisingGateLanding Page

Characteristics
2. Region-Specificである⚫ 日本、米国、カナダのユーザーをターゲットにしている⚫ 日本を意識したURLや流暢な日本語を使用する

8

Characteristics
3. 有効な電子署名がされたマルウェアの利用⚫ アンチウイルスソフトによる検知を回避を意図していると思われる⚫ 実際に検知率は低く2021/08に使用されたマルウェアでの検知はなかった

9

Characteristics
4. Zloaderの利用⚫ Silent Night(2019/12から観測されているZloader)の登場から現在まで
Zloader関連のマルウェアファミリを利用している⚫ 2021年8月時点では1日に100以上のマシンが感染している

5. 他の攻撃キャンペーンとの関連性⚫ 2つの攻撃キャンペーン(SeamlessとPseudoGate)とのオーバーラップ⚫ 同一攻撃グループによる犯行の可能性大10

Attack Flow

Attack Flow
有効な電子署名

Legitimate Website

Malvertising

ロシア語環境のデータ

start.EXE

Landing PageJavaPlugin.msi

setup.bat

Windows Defenderの無効化などの設定変更
Start.EXEをDLして実行

updatescript.bat

regsvr32.exeにより実行

JavaN.dllをDLしregsvr32.exeで実行
その後nsudo.batをDLして実行

JavaN.dll(Zloader)start.batjavase.exeのDL
Windows Defenderの無効化

12

updatescript.batをDLして実行

nsudo.bat

再起動後に実行される
これまでの痕跡削除

autorun100.bat

Landing Page
日本語でJava Plug-Inのダウンロードを促す画面が表示される

13

nsudo.bat
javase.exe (NSudoという一般に公開されたツール)をダウンロード• NSudoは管理者権限でアプリケーションを起動できるツール• javase.exe (NSudo) を用いてWindows Defenderの無効化を試行•

14

Recent Malsmoke
経路15

ファイルタイプ手法

活動中か

進捗サーバのマルウェア利用×(以前は使っていた)

Ursnif, Zloader,CobaltStrike, Raccoon
Stealer

WebA(Fake Porno Site)

Social Engineering(Java Plug-In)

MSIWeb(Fake Major
BSoftware
Download Site)

Social Engineering(Zoom,TeamViewer,Brave Browser, etc)

MSI

〇

〇

CobaltStrike, Zloader

Web(Fake MinerCSoftware
Download Site)

Social Engineering(Fotor,MoneyDance, etc)

EXE

〇

〇

Unknown

D Web (EK)

Drive-byDownload(FalloutEK)×××

Zloader〇

Attack Flow

Attack Flow(New pattern A)
正規のソフトウェア***_load.bat

appContast.dll

regsvr32により実行Expired Signature(ASUSTek Computer Inc.)

AteraAgent.exe
9092.dll(Zloader)AgentPackageAgentInformation.exe

Malvertising

new.batShutdown
追加の除外処理
各種ファイルのDLと実行

new2.batregsvr32により実行
Expired Signature(ASUSTek Computer Inc.)

new1.batLanding Page
Defenderの除外設定など

adminpriv.exe(NSudo)9092.dll(Zloader)再起動後に実行

AteraNetworks Ltd

regsvr32により実行***_defenderr.bat

reboot.dll

java.msi

16

auto.batzoom.dll(Zloader?)appContast.dll/reboot.dll• mshta.exeの引数に指定されている• DLLファイル末尾のスクリプトを実行する• DLLには有効な署名あり

17Attack Flow(New pattern B)
LlantrisantServices Inc.

TeamViewer.msi

各種ファイルのDLと実行

Mshtaにより実行
Microsoft Windowsの署名

rundll32により実行

processingSet
RequestBat4

flashupdate.ps1

processingSet
RequestBat5

Internal.exe

launch.bat
processingSet
RequestBat2

ais.bat
進捗サーバーへの通信と取得ファイルの対応

zoom2.dll(CobaltStrike)ais.bat
どちらも実行はされるが、実際にDLLがある方が起動され続ける様子

ais700.bat

processingSet
RequestBat6

apiicontrast.dll

processingSet
RequestCoba

zoom2.dll.pgp

processingSet
RequestBot

zoom.dll.pgp

processingSet
RequestAtera

zoom1.msi

進捗サーバーのパス

appContast.dll

ADNot ADapiicontrast.dll

adminpriv.exe(NSudo)Regsvr32により実行
Ivaylo Beltchev(Invalid)

再起動後に実行
Apiicontrast.dllを起動後に自身を削除

共通zoom.dll(Zloader)flash.bat

18

auto.batprocessingSet
RequestBat3

appContast.dll

flashupdate.ps1• GPG関連の処理• AD参加をしているか確認•

19

取得ファイルが分岐する (参加あり：CobaltStrike, 参加なし：Zloader)apiicontrast.dll• mshta.exeの引数に指定されている• 有効な証明書あり• GPGによる復号化
ais.bat20

Infrastructure

Infrastructure
大きく3種類サーバが存在• Landing Pageやマルウェアをホスティングするサーバ• 攻撃の進行状況を管理するサーバ(進捗サーバ)• ZloaderのC2サーバ

Landing Page/Malware hosting
Server
22

Attack Progress Checking
ServerZloader C2 Server

Landing Page
ローカル言語に対応している(Region-Specific)• アクセスしたユーザーのIPの地理情報に基づいて読み込むJavaScriptフ
ァイルを変更• JavaScriptが読み込まれるとDOMを操作してダウンロード画像を表示するが、その際各言語でメッセージが表示される

23

Landing Page
偽のJavaプラグインインストールの誘導を多言語で行っている

24

Attack Progress Checking Server
攻撃の進行状況を管理するサーバ（進捗サーバ）• いくつかの段階で進行状況を管理するためのサーバ• ドメインやパスは変化しているが、システムとしては変化していない

25

Attack Progress Checking Server• /processingSetRequestDownload へのリクエストで攻撃対象のユーザーのIPを登録• /processingSetRequestLicense や /processingSetRequestBat へリクエ
ストを送ると登録されたユーザーか否かを判断•登録されている場合はデータを返す
IP:X.X.X.X (Registered)/processingSetRequestDownload

IP:X.X.X.X/processingSetRequestLicense/processingSetRequestBat

IP:X.X.X.X

26

Data

IP:X.X.X.X isthere?
IP:X.X.X.X Exists

Relationship with Other Campaigns

The earliest Malsmoke• 観測初期の攻撃フローの特徴• Malvertisingを利用• Exploit Kit (FalloutEK)を利用• Seamless, PseudoGateと似た特徴を持つ

Legitimate Website

28

Malvertising

Gate

FalloutEK

SmokeLoader

ZloaderSeamless, PseudoGate, Malsmoke• 経路、標的のコントロール、標的はほぼ同じ• どのキャンペーンでもDrive-by Downloadを利用していた•

MalsmokeはSocial Engineeringを使った手法に変更された• 観測時期の移り変わりと使用するマルウェアの変化がリンクしている
Seamless
経路Malvertising
標的コントロール IPの地理的情報
標的アメリカ、カナダ、日本

PseudoGate
Malvertising
IPの地理的情報
アメリカ、カナダ、日本

Malsmoke
Malvertising
IPの地理的情報
アメリカ、カナダ、日本

手法

Drive-by Download

Drive-by Download

Drive-by Download, Social Engineering

バンキングトロジャン

バンキングトロジャン

バンキングトロジャン（Ramnit）（Ramnit、Ursnif、Zloader） （Zloader, CobaltStrike, etc…)

N/A
2016/06-2018/03

SmokeLoader
2018/07-

マルウェア
ローダ
観測時期
29

SmokeLoader
2019/09-

NewPseudoGate and Malsmoke
Malsmokeで使用されるJavaScriptにPseudoGateに関連するドメイン• 2018/09にGrandsoft EKを利用したRamnit感染で利用されたGateのドメインと同一
jp-javascript.jsのコメントアウト

Grandsoft EKのGateのドメイン
30

Summary of the campaigns
非常に近しいグループによるものの可能性が高い➢ 経路、標的のコントロール、標的が同じである➢ 攻撃手法としてDrive-by downloadを利用していたこと➢ 観測時期の移り変わりと使用するマルウェアの変化がリンクしている

常に有効な攻撃手段を模索しているように見える➢ Seamless、PseudoGateからMalsmokeへの変遷の間でも攻撃の変化が見える➢ Malsmokeキャンペーンにおいても模索が見える

これらの攻撃者は今後も継続的に日本のユーザーを狙い続ける可能性が高く、さらに有効な攻撃手段を模索し続けると可能性が高い

31

How to Hunt

Hunting (NW)

Malvertising

Gate

Landing Page

Fake MSI

NSudo, Atera
33

Zloader

Landing Page / Malware hosting
Server

Attack Progress CheckingServerZloaderのC2は別セクションで説明

Zloader C2 Server

Hunting Landing Page (1/3)
Landing Page / Malware hosting Server• 最終的にマルウェアのダウンロードが成功したかを判断したい• Landing PageのURLは頻繁に変更されるため、変化しにくい特徴を組み合わせて検知の精度を上げる

34

Hunting Landing Page (2/3)
URLパスに着目• MalsmokeではURLパスが数か月間変化していない• e.g., /hdportno.php, /5dicksSmallPussy.php
読み込まれるファイルに着目• jp-javascript.js: 日本からのアクセス判別に利用• ic_java.png: Javaのロゴ画像

35

Hunting Landing Page (3/3)
MSIファイルのダウンロードに着目• ファイル名は頻繁に更新されてしまう• MSIの拡張子が付いたファイルを検知できるようにしておき、他のシグネチャと組み合わせて利用する
マルウェアの検知方法 (例)• /hdporno.php, jp-javascript.js への通信を検知• 直後にMSIファイルのダウンロードを検知した場合は「マルウェアダウンロードに成功した」と判断

36

Hunting Attack Progress Checking Server
進捗サーバ• ドメイン、URLパスは長期間同一のものが使用される➢ /processingSetRequestDownload➢ /processingSetRequestLicense➢ /processingSetRequestBat• ファイル取得処理にPowerShellのInvoke-WebRequestを使うため、User-Agentの特徴を監査アラートとして検出することも有効

37

Hunting (Endpoint)

Malvertising

Gate

Landing Page

Fake MSI

NSudo, Atera
38

Zloader

Landing Page / Malware hosting
Server

Attack Progress Checking
ServerZloader感染後挙動も検知に活用できる

Zloader C2 Server

Hunting Change Settings of Windows Defender
Windows Defenderの設定書き換え• Zloaderの感染活動を妨害されないようにするために実行される• これらの設定書き換えが一度に発生した場合は感染の可能性が高い

39

Hunting Nsudo, Atera
攻撃で利用される特徴的なツールをもとに検知
NSudo (5cae01aea8ed390ce9bec17b6c1237e4)• Atera (ade0cabd965a289969c5654514aefd72)• NSudoによるWindows Defender無効化の挙動を検知することも有効•

40How to ResearchResearchMalvertising

Gate

Landing Page

Fake MSI

NSudo, Atera
42

Zloader

Landing Page / Malware hosting
ServerAttack Progress Checking
ServerZloader C2 Server

Research Landing Page
Landing Page
• 頻繁にURLが変更されるため、最新のURLを把握したい• 以下の特徴をもとにLanding Pageを発見➢ URL パス: 誤検知が少ないパスを検索➢ favicon: 長期間変化していないため、ドメイン検索に利用可能➢ Gateを利用したLanding PageのURL取得 (後述)
43

GateGate• Malvertisingにおいて、広告ページからLanding Pageへリダイレクトする間に挿入されるページ• 広告ページの設定を変更することなくLanding URLを頻繁に更新可能• Malsmokeでは登場初期からGateを使用してきた
Gateの”認知”は困難• GateのURL自体は悪性情報と結びつかないため、正規の広告NWと攻撃者が用意したサーバを判別することが困難• 一方で、Gateは長期間同一のURLが利用されるため、一度Gateを把握できればLanding PageのURLを把握しやすくなる
44

Research “Gate”
Gateを用いたLanding PageのURL取得• Gateを利用することでLanding Pageの変遷を追従できる➢ RefererにGateのURLが含まれている場合、Landing Pageへのアクセスを調査する➢ 逆に、Landing Pageへのアクセス検知をした場合、Refererに未知のGate URLが含まれていないか調査する

2021/06 から数か月間利用されていた

45

Research MSI file
進捗サーバとの通信• Malsmokeの感染システムの中では最も変化が少ないシステム• 以下の進捗サーバドメインと通信する検体を調査する✓ vivacemusic[.]site✓ websekir[.]com
MSIファイルの電子署名✓ Software Artisans Limited✓ D&K ENGINEERING✓ Flyintellect Inc.
✓ Llantrisant Services Inc.
46

Zloader’s IoC Collecting System

Zloader
世界中で感染被害が出ているバンキングトロジャン• モジュールをロードすることで様々な挙動を行う• C2サーバと通信して必要なデータ取得し、銀行などの金融機関のサイトへ送信するデータを窃取する• BaseConfigと呼ばれるZeus由来の設定データを利用して通信する
Botnet ID, Campaign ID

C2 (URL)

RC4 key48

DGA• MalsmokeではハードコードされたC2ドメインではなくDGAで計算したドメイン名を使用• DGAではBaseConfig中のRC4 key + 日付 の情報でドメイン名を計算
BaseConfig••••

C2 (URL)
RC4 keyCampaign ID
Botnet ID

Zloader

nbwvognpavwitxxedlob[.]com
psgxqkfufyrwydoofkri[.]com
onliojnzlaelqwkniftl[.]com…

DGA

キャンペーンごとに使用される鍵が固定化されている

49

DGA domains list
実行日のUTC時刻 00:00

UNIX timestampDGA Source Code
入力: 日付 + RC4 key

1日につき32個のドメインを生成

ランダムな英字20文字+.comの形式

50

Zloader’s IoC Collecting System
ZloaderのIoC収集自動化• Malsmoke以外のキャンペーンでも利用されているため、SOCやCSIRTで活用できる脅威インテリジェンスを容易に収集できるようにしたい• DGAのアルゴリズムは変化しないため、事前にC2ドメインを算出してブラックリストとして活用できる• BaseConfigの抽出にオンラインサンドボックス「Triage」を活用

51

Zloader’s IoC Collecting System
1. 検体の収集

2. BaseConfigの抽出

3. C2ドメイン名の計算

RC4 key, timestamp

BaseConfig

Zloader••••

C2 (URL)
RC4 keyCampaign ID
Botnet ID

DGA domains list
nbwvognpavwitxxedlob[.]com
psgxqkfufyrwydoofkri[.]com
onliojnzlaelqwkniftl[.]com…

• ZloaderのIoCを自動で収集するシステムを構築• DGAで生成されるドメイン名を網羅
52

DGA

Infected Hosts

当日投影のみ53

Conclusion

Conclusion
Malsmokeの全体像を過去から振り返った• 他の攻撃キャンペーンとの関係から攻撃の変遷を確認できた• Malsmokeになってからもアップデートを頻繁にしている• Malsmokeは攻撃者の試行錯誤 (Crazy Journey) の産物である

全体像を理解し中長期的な対策が提案できた• 攻撃者が利用するインフラ構造の把握• 変化の少ない部分に着目したハンティングやリサーチ手法の共有• ZloaderのIoC自動取得システム
55

References• https://blog.malwarebytes.com/social-engineering/2020/09/malvertisingcampaigns-come-back-in-full-swing/• https://twitter.com/nao_sec/status/1209090544711815169• https://blog.malwarebytes.com/threat-analysis/2020/11/malsmoke-operatorsabandon-exploit-kits-in-favor-of-social-engineering-scheme/• https://www.malwarebytes.com/resources/files/2020/05/the-silent-night-zloaderzbot_final.pdf• https://nsudo.m2team.org/en-us/• https://www.atera.com/• https://umbrella.cisco.com/blog/seamless-campaign-delivers-ramnit-via-rig-ek• http://blog.activedefense.co.jp/2018/08/drive-by-downloadpseudogate.html• https://insight-jp.nttsecurity.com/post/102gsqj/pseudogatespelevo-exploit-kit• https://traffic.moe/2018/09/21/index.html
56

Thank you