Try   HackMD

マルウェア解析に必要な素養~マルウェア入門編~

マルウェアの分類

機能で見たときのマルウェアの分類をまとめる。

  • バインダ(Binder)型 … (死語?)
  • ダウンローダ(Downloader)型 … 他のマルウェアを感染機にダウンロードする。初期感染フェーズで登場
  • ドロッパー(Dropper) …
  • バックドア(Backdoor)型 … 侵入口を用意するタイプ。C2とやりとりするのが特徴
    • トロイの木馬/バンキングトロイ(バンキング型トロイの木馬;バンキングトロジャン)
  • 情報窃取型 … 窃取対象はネットバンキングの口座情報など
  • 身代金要求型(Ransomware) … ランサムウェア。ファイル・データという資産を人質に金銭を要求する
    • 暗号化型ランサムウェア
  • 仮想通貨発掘型(Cryptocurrency Mining Malware) … ビットコインに代表される仮想通貨のマイニング(発掘)を行う。2017年頃から登場?
  • 偽セキュリティソフト型マルウェア(FakeAV) … アンチウイルスソフトを騙り、正当なAV無効化を要求する。
  • ワーム(Worm) … 自己複製機能(拡散機能)があるタイプ
    • ※気軽に動的解析してはいけないマルウェアランキング第一位
  • ボット(Bot) … C2で命令を受けて攻撃するタイプ→Backdoorに統合しても良さげ
  • 自己完結型
    • スケアウェア/アドウェア/スパイウェア(キーロガー含む)

感染対象によって、以下の分類も可能。

  • ブートセクタ感染型
  • ファイル感染型
    • レジストリ値を操作するタイプも含む
  • 複合感染型
  • Web感染型
  • USBメモリ感染型

[余談]NIST SP 800-83 §2.1にもマルウェアの分類が示されている。

よくある感じのマルウェアの挙動

TODO:基本的にマルウェアは単体ではいろいろしない、複数のマルウェアと協調して事をなすことを述べる

TODO:ここの内容が古くなってきた。要改訂。

悪性の実行可能ファイルがターゲットのコンピュータでマルウェアを含むファイルを生成することをドロップ(Drop)と表現する。悪性の実行可能ファイルはドロッパー(Dropper)と呼ばれる。

# dropperとbinderって使い分けられてるのかな…

Note: 目的(キャンペーン)によってはフェーズの移り方が変わるだろうし、まとめ方が難しい

感染フェーズ

第一のマルウェアが攻撃ベクター(Attack Vector)を通じてターゲットに侵入する。

能動的感染

ユーザー操作により感染フェーズが始まるときに登場するのはバインダ(Binder)と呼ばれるもので、それがトロイの木馬などのインストーラだとは分からないような細工をする。

例えば、企業のシステム管理部門を騙って追加でインストールが必要なセキュリティソフト(実際はマルウェア)があるとして騙してインストールさせる、圧縮されたファイルと見せかけて裏でマルウェアのインストールを完了する。

例えば、BLACKGEAR(2012年)では、実行ファイルであるバインダをフォルダに見せかけてクリックさせるという手法を取っていたとCODEBLUE 2016でトレンドマイクロの人が話していたと記憶している。

具体的な感染ケースは以下の通り:

  • 標的型攻撃
  • 脅迫じみた広告(「お使いのPCが危険です!」)
  • 野良DLL、野良インストーラ
  • USB
    • [更新:「JS_POWMET」の「ファイルレス活動」、感染経路が USB と特定 | トレンドマイクロ セキュリティブログ](http://blog.trendmicro.co.jp/ar

受動的感染

ユーザーが意図せず感染フェーズを開始してしまう場合は、脆弱性を抱えるソフトウェア(オフィスソフト、ブラウザ等)がmaliciousなファイルを読み込んでしまう場合である。

具体的な感染ケースは以下の通り(TODO:もっとありそう):

  • Malvertising
  • ブラウザーのJavaScriptエンジン/Flash Player/Silverlightの脆弱性を利用するタイプ

疑問点:標的型攻撃において、ドロッパー/バインダと配布形態とバインダが実行するまでの流れ←別章を立てたほうがよさそう

永続化(Persistence)

マルウェアは、感染先が再起動しても活動を再開するために自動起動の仕組みを導入することがある。この仕組みは永続化(Persistence)と呼ばれる。

手法の例:

  • レジストリ登録(Windows)
  • スタートアップ登録(Windows)
  • サービス登録(Windows)
  • MBR書き換え

手法の詳細は "Learning Malware Analysis" の§7.2 Malware Persistence Methods を参照するとよい。

C&Cフェーズ

C&CはCommand & Controlの略称である。C&CはC2とも表記される。

マルウェア(ボット)がC2サーバーに接続し、攻撃のための設定情報を受け取るフェーズ。Command & Controlの通り、外部サーバーから指令を受ける体をとる場合に、C&Cフェーズがあるという。したがって、自律して動くマルウェアはC&Cフェーズをもたない。ただし、セキュリティベンダー次第ではC2接続先情報を入手するステップもC2フェーズに含める場合がある(という)。本書はこの解釈を採用する。

C&Cフェーズは次のステップで構成される。

  1. 〔ファーストステージC2〕 マルウェアは、自身に隠されたファーストステージC2への接続先情報を読み出す。ファーストステージC2は、ブログ記事やコメント欄などで"本物の"C2サーバーのありかを示すWebページのことである。ここで読み出す情報の詳細は、#ファーストステージC2での情報の秘匿 参照。
  2. 〔セカンドステージC2〕 前のステップで得た情報を使ってセカンドステージC2に接続する。セカンドステージC2は、本当のC2の役割を果たすサーバーを指す。

解析時の注意事項:

  • C2にアクセスすることは、あなたの存在を攻撃者に知らせることにもなる。

Domain Generation Algorithm(DGA)

以下の記事が詳しい。DGAについては、とりあえずリンク先を読んでほしい。
http://blog.trendmicro.co.jp/archives/3799

DGAは接続先ドメイン名生成の仕組みのことで、多くの被害を及ぼしたワーム「WORM_DOWNAD(別名:Conficker)」が用いることで有名になりましたし、最近でも ボットネット「ZeuS」と関連して動作する「PE_LICAT」が利用することが分かっています。では攻撃者がこの DGA の仕組みを用いる理由は何でしょうか。それは明らかに URLフィルタリングへの対策でしょう。
※抜粋のために一部改変

DGAの実際:

ファーストステージC2での情報の秘匿

マルウェア自身が持っているKeyで所定の暗号文を復号して得た平文がファーストステージC2への接続情報の場合もある。

ファーストステージC2の場所と、そこでC2の設定情報をどう暗号化しているのかどうかは、マルウェアによって異なるため、個別にどうなっているのかを見ていくことにする。

例)BKDR_ELIRKSの場合

BKDR_ELIRKSは、BLACKGEARのバックドアとして機能するマルウェアで、次のような挙動をする[1]。

  1. さまざまなブログやミニブログのサービスから、暗号化されている C&C の設定情報を取得
  2. 設定情報が復号されると、C&Cサーバへ接続し、攻撃者からの指令を待つ

「BKDR_ELIRKS」の暗号化アルゴリズム
「BKDR_ELIRKS」の暗号化アルゴリズム([1]より)

[1] 標的型サイバー攻撃キャンペーン「BLACKGEAR」日本も攻撃対象に | トレンドマイクロ セキュリティブログ

例)BKDR_YMALRの場合

BKDR_ELIRKS は、BLACKGEARのバックドアとして機能するマルウェアで、BKFR_ELICKS と同様の不正活動を実行するが、C2設定情報を得るまでに次のようなステップを経る[1]。

  1. BKDR_YMALRには、複数の暗号化された文字列が含まれている
  2. 暗号化された文字列は、ブログの URL と識別子を、最初に Base64方式でエンコードし、次に DES方式で暗号化したもの。暗号鍵と初期ベクトルがハードコードされており、どちらも「1q2w3e4r」
  3. 暗号文が復号されると、「BKDR_YMALR」は「ELIRKS」と同じアルゴリズムで C&C情報を取得する

「BKDR_YMALR」のブログURL と識別子
「BKDR_YMALR」のブログURL と識別子
「BKDR_YMALR」の復号アルゴリズム
「BKDR_YMALR」の復号アルゴリズム
ブログ投稿記事から取得された「BKDR_YMALR」の C&C設定情報
「BKDR_YMALR」の復号アルゴリズム
※図はいずれも[1]より

[1] 標的型サイバー攻撃キャンペーン「BLACKGEAR」日本も攻撃対象に | トレンドマイクロ セキュリティブログ

C2いろいろ

拡大する正規ツールによる隠蔽手口、マルウェアによる「Slack」の悪用を初確認 | トレンドマイクロ セキュリティブログ (2019/3/14)

トレンドマイクロは、2019年2月下旬、新しいバックドア型マルウェア「SLUB」を送り込み感染PCから情報を窃取する攻撃を確認しました。この攻撃は、改ざんしたWebサイトに攻撃コードを仕込む「水飲み場型攻撃」によって対象PCを感染させ、リポジトリホスティングサービス「GitHub」およびコミュニケーションプラットフォーム「Slack」を利用してコマンド&コントロール(C&C)通信を行います。SLUBは、感染PCから収集したファイルを、ファイル共有サービス「file.io」を利用して攻撃者に送信します。

オープンソースのツール「PoshC2」を悪用した新たな標的型攻撃を確認 | セキュリティ対策のラック (2019/2/13)

オープンソースで公開されているPoshC2*1 を悪用した攻撃を、今年(2019年)1月頃から確認しています。
PoshC2はペネトレーションテストで利用されるPowerShellベースのC2フレームワークで、Post-Exploitation※1 やLateral Movement※2 などの機能を備えています。

攻撃フェーズ

文字通りの意味。C2サーバーと接続したマルウェアは、攻撃者からの司令(コマンド)を実行する。

例:

  • DDoS攻撃 … 例)Miraiマルウェア
  • 情報窃取 … 例)ファイルをアップロード

セキュリティ研究センターブログ: OceanLotusが使う検出回避テクニック (2019/4/16)
ARPスプーフィングによりLAN内で通信傍受も行う

探索(拡散)フェーズ?

TODO

例:

Lateral Movement

TODO

shodan

TODO

TODO:shodanみたいのが原因で電力システムがダウンした話(たしか)

バックドア

バックドア化したASUS Live Updateを通じた攻撃(Operation ShadowHammer)についてまとめてみた - piyolog (2019/03/26)

Kaspersky LabはASUSが提供するソフトウェア「ASUS Live Update」がバックドア化し、一部ユーザーを対象にマルウエアを配布する攻撃が展開されていたとして調査結果の一部を発表しました。この攻撃を同社は「Operation ShadowHammer」と呼称しています。ここでは関連する情報をまとめます。

実例

BLACKGEAR(2012年〜TODO年)

(en) BLACKGEAR Espionage Campaign Evolves, Adds Japan To Target List - TrendLabs Security Intelligence Blog
(ja) 標的型サイバー攻撃キャンペーン「BLACKGEAR」日本も攻撃対象に | トレンドマイクロ セキュリティブログ

  • 台湾と日本をターゲットにしたキャンペーン

Emdivi(2014年)

年金機構が甚大な被害を受けたマルウェア

TODO

ツール

PoshC2

https://github.com/nettitude/PoshC2

PoshC2 is a proxy aware C2 framework that utilises Powershell and/or equivalent (System.Management.Automation.dll) to aid penetration testers with red teaming, post-exploitation and lateral movement.

ダウンローダー

TODO

例:

PLEAD(2017年12月?~)

攻撃者グループ "BlackTech"による "PLEAD"を使った日本への攻撃を確認 | セキュリティ対策のラック (2018/4/25)

当社脅威分析チームでは、台湾を主な標的として活動するBlackTech(ブラックテック)と呼ばれる攻撃者グループが日本の特定組織に対しても攻撃を行っていることを、2017年12月以降確認しています。攻撃で使用されたマルウェアは、「PLEAD(プリード)」と呼ばれるRATであり、BlackTechが標的型攻撃で使用するマルウェアの1つです。そこで今回は、日本の組織を狙った際に用いられた「PLEAD」に焦点を当てその攻撃手口を紹介します。

PLEADの手口についてかなり細部まで解析した記事

攻撃グループBlackTechが使うマルウエアPLEADダウンローダ (2018-05-28) (2018/5/28)

PLEADダウンローダの挙動

前述した通りPLEADダウンローダは、特定のサイトから「モジュール」をダウンロードします。ダウンロードするモジュールはRC4で暗号化されています。

ダウンロードしたファイルは先頭の20hがRC4のキーになっています。ダウンロードしたファイルを復号すると、モジュール(以降では、PLEADモジュールと記載します)や通信先、通信に使用する暗号化のキーなどが含まれています。

ダウンローダーが使うスクリプト言語

  • PowerShell
  • JScript
  • VBScript

cf. スクリプト編

標的型攻撃

英語:Targeted Attack。

TODO:文字通りの攻撃ではあるが…

ポイント:

  • 人を相手にするのでその人が分かる言語に対応せねばならない。必然的に特定の国に対する攻撃となる。
  • 攻撃を受けた組織のなかで "1人さえ" 引っかかれば侵入可能となる
    • メールで言えば開封率0%が必達目標となってしまう。開封を許容するような仕組みづくりが求められる

実例:

標的型攻撃の調査レポート:

malspam

マルウェア付きのスパムメール。(TODO:ばらまき型マルウェアという分類でもいい気がするんだけどどうなんだろ←たぶんOK?)

2018年の超ホットトピック(のように見えるよ)

Malware Traffic Analysisに具体例が検体付きで載っているので見ておくれ。
Malware-Traffic-Analysis.net - My technical blog posts - 2018

ばらまき型マルウェア

TODO。口頭では単に「ばらまき型」と言われがち。

スピアフィッシング

TODO

返信型

国内で相次ぐ不審メールの注意喚起と返信型Emotetについてまとめてみた - piyolog(2019/11/26)

やりとり型攻撃

TODO

ダブルバウンスメール

情報学広場:情報処理学会電子図書館 - ダブルバウンスメールを活用した悪性メール対策の有効性

メール添付ファイルの元ネタ

大学の研究室、学会などのサイトで公開されている個人情報を含んだファイルを元にすることもある。

あとはgoogle検索で「filetype:xls site:ac.jp」とググるとか。

事例集

ONI(2017年6月?7月?)

TODO: 未分類

日本人を標的としたAveoマルウェア ファミリを特定

BEC(Business Email Compromise)詐欺

BPC(Business Process Compromise)詐欺

TODO: このドキュメントのどこかで取り上げた気がするが

水飲み場攻撃

だいぶマイナーな攻撃(呼称)になってしまった。2000年後半はIT Pro等でわりとよく出てきた用語かな。

ある属性の人が利用すると思われるサイトにマルウェアに感染するトラップを仕掛ける攻撃。いつも使っているサイトだから安心という暗黙の了解に付け込む。

下は厳密には水飲み場攻撃では無い気がするが、比較的水飲み場攻撃ぽい。

  • dropbooksにマルウェアがアップロードされていた話
    • twitterで流れたんだけどどのツイートか思い出せぬ…

マルウェア付きの教科書や論文をダウンロードせずに済む方法 | カスペルスキー公式ブログ(2019/09/13)

調査の結果、教育分野をターゲットにしたサイバー犯罪者が昨年度を通じ、当社製品の利用者に対して合計35万6,000回以上の攻撃を試みたことが明らかになりました。このうち23万3,000件は悪意あるものが含まれた論文で、7万4,000台以上のコンピューターにダウンロードされ、当社製品によってブロックされました。

メール送信テク

送信元詐称(Fromヘッダ詐称)

Mailsploit

Mailsploit
脆弱性の解説はココ。お試し可能。

送信者を偽装できる脆弱性「Mailsploit」について (2017/12/7)

「Mailsploit」が悪用された場合、DMARC(DKIM/SPFの認証を用いたプロトコル)やスパムメールのフィルターといった、今までのメール偽装対策で有効とされていた方法でブロックされることなく偽装したメールを送ることができる可能性があり、不審なメールを見分けることが難しくなるケースが考えられます。また、メールヘッダーにASCII文字以外の文字を入れるとそれ以降の文字処理が行われないという問題があり、この問題を悪用することで、従来の対策で検知されることなく送信者を偽装することができます。

長期感染

⻑期感染の実態と攻撃証跡の分析〜サイバーレスキュー隊(J-CRAT)の活動を通じて〜 (IPA; 2017/10/12)
ふわっとした、要点を抑えた話。(ボット活動の全体像が分かりやすい入門資料なので、適当な章でも扱いたい)

情報窃取型マルウェア

本章では、機微情報の窃取を目的としたマルウェアを取り上げる。銀行口座情報の窃取が目的の場合は、バンキングトロイ、バンキング型トロイ(の木馬)と呼ばれる。

URSNIF(Gozi)(2016年~2018年?)

読み:あーすにふ。バンキングマルウェアの一種。バンキングトロイとしての必修事項。

解析報告:

ツール類:
DreamBot・Gozi感染チェックサイト|一般財団法人日本サイバー犯罪対策センター

JC3では、不正送金被害につながるインターネットバンキングマルウェアDreamBot及びGoziによる感染拡大及びこれによる被害の防止のため、DreamBot又はGoziへの感染状況を確認するためのウェブサイトを試験運用しています。

URSNIF亜種:DreamBot(2017年)

国内ネットバンキングを狙う新たな脅威「DreamBot」を解析 | トレンドマイクロ セキュリティブログ(2017/3/16)

【セキュリティ ニュース】4月修正のOffice脆弱性、不正送金マルウェアの拡散に悪用される(1ページ目 / 全2ページ):Security NEXT

国内を対象とした不正送金マルウェア「DreamBot」の感染活動に、マイクロソフトが4月の月例セキュリティ更新で修正した脆弱性「CVE-2017-0199」が悪用されている。

「CVE-2017-0199」は、「Office」に関する脆弱性で悪用されるとリモートよりコードを実行されるおそれがある。

同脆弱性は、修正プログラムの公開当初よりゼロデイ攻撃が指摘されていたものの、国内における目立った攻撃は確認されていなかった。しかし、4月下旬に攻撃コードが公開されて以降、状況が変わりつつあるようだ

TODO: 後で調べる

オンラインバンキングマルウェア「DreamBot(Ursnif/Gozi)」の今 | MBSD Blog (2018/6/7)

我々は、現時点(本記事調査時点)でユーザーが感染しうる最新のオンラインバンキングマルウェアの動きはどうなっているのか、「DreamBot」の今を追ってみました。また加えて、本記事においては、他であまり触れられていない「DreamBot」の各々のテクニックの詳細についてもいくつか少し深掘りして解説します。

かなり深堀している

ほか

ランサムウェア(Ransomware)

身代金要求型マルウェア。システムへのアクセスを制限して、身代金(Ransom)を要求するマルウェア。

ファイルを一方的に暗号化し、復号を条件にビットコインで身代金を支払うことを要求する。親切なことに、ビットコイン初心者でも支払いができるようにステップバイステップで解説するページが付いている。支払いや手順解説はTorで公開されるサイトで行われることもある。

2016年はランサムウェアの話が本当によく出た。2017年に減少傾向?(TODO:要調査)

企業に対するアンケート結果では、同じような被害に遭い、…TODO

TODO: 疑問点

  • 使っている暗号方式
  • IVやKey, IDをどうしているのか?
    • 検体ごとに固定?ターゲットごとに生成?
  • 感染経路

概要はここを読んだほうが早いかもしれない:

ランサムウェアの本が出た(2016/11):
Ransomware - Defending Against Digital Extortion (2016/11; O'Reilly Media)

TODO: ランサムウェアの動作(上のRansomewareの本に書かれている)

事例:

ランサムウェアの最新情報はTwitterで検索すると出てきたりする。

ランサムウェア総括:

身代金の支払状況:

Petya(2016年~2017年)

新暗号型ランサムウェア「PETYA」、MBRを上書きしてPCへのアクセス不能に | トレンドマイクロ セキュリティブログ (2016/3/28)

このときは特に話題ならず。2017年6月に亜種が猛威を振るいだした。

大規模な暗号化型ランサムウェア攻撃が欧州で進行中、被害甚大 | トレンドマイクロ セキュリティブログ (2017/6/28)

Locky(2016年)

世界で猛威を振るうランサムウェア「Locky」の再来 | FireEye

TeslaCrypt(2016年)

TODO

CERBER(2016年〜)

↓ CERBER 4.0
解析情報:「CERBER」、データベースファイルの暗号化機能を追加 | トレンドマイクロ セキュリティブログ(2016/11/28)

Spora(2017年)

1月から報道が始まり、6月に国内セキュリティベンダから情報が出るようになった。トレンドマイクロは世界では1月から、国内では2月から観測できたと報告した。

[Forbes] 史上最も洗練された「身代金ウィルス」Sporaの恐るべき機能性 (Forbes JAPAN) - Yahoo!ニュース (2016/1/15)
Spora Is The Highly-Sophisticated Future Of Ransomware (2016/1/12)

[TM] 2017年第1四半期 セキュリティラウンドアップ | トレンドマイクロ

Sporaで分かっていること:

  • 初期はロシア語圏を対象 [Forbes]
  • エクスプロイトキットで感染 [TM]
    • 非ドライブバイダウンロード。フォントのインストールを称する形式 [TM]

    • 「SPORA」を拡散させるEKサイトでは、使用ブラウザがGoogleChromeだった場合、「使用フォントがインストールされていないため表示が乱れている」という旨のメッセージを表示し、フォントのインストールに見せかけてランサムウェア「SPORA」をインストールさせます。[TM]

      • ファイル名はChrome font.exe(※筆者の推測)
  • 脅迫状の代わりにコンソールを表示し、「ファイルの完全復旧」、「感染回避措置」、「ランサムウェアの削除」、「個別ファイルの復旧」、「ファイル2件のみ無料で復旧」等の選択肢を異なる料金で提示します。「支払い期限」や「支払い方法の選択」も提示され、チャット機能も備えています。コンソールの言語は、感染PCの国別コードに応じて表示されます。 [TM]

  • IDに国コードが入る(JPなど)
  • 従来のC2なし (?)

解析報告:

WannaCry(2017年)

TODO:

[しくじり話]ランサムウェアは暗号化したファイルを復号してくれるという信頼があってこその収益モデルである。そんな中WannaCryはしくじった。暗号通貨により支払いが行われるときは支払い先のアドレス(=口座)がバグにより同じになってしまって(ハードコードされてたアドレスが使われた模様)、誰が支払ったのかが分からなくなってしまった*。WannaCryを操る攻撃者は、 TODO:救済策を用意した(内容忘れた;支払う前に攻撃者にほげほげな方法で連絡してってアナウンスがあったらしいが、記憶が不鮮明)。
* 20万人以上が感染したランサムウェア「WannaCry」は身代金として約300万円をゲットしていることが明らかに - GIGAZINE, https://twitter.com/threatintel/status/864504502682099716

Erebus(2016年~2017年)

[1] 続報:暗号化型ランサムウェア「Erebus」が Linux を標的に | トレンドマイクロ セキュリティブログ (2016/6/19)

↓おそらく(感染規模の割に)これが取り上げられている理由

2017 年 6 月 10 日、韓国の Web ホスティング企業「NAYANA」が暗号化型ランサムウェア「Erebus(エレブス)(「RANSOM_ELFEREBUS.A」として検出)」による攻撃を受け、同社が管理する153台のLinuxサーバ感染と3,400以上の企業のWebサイトの影響が確認されました。

NAYANA は、6月12日、同社の Web サイトで告知し、管理するすべてのサーバのファイルを復号するために、攻撃者が「Bitcoin(ビットコイン、BTC)」で 550BTC(162万米ドル)にも上る高額な身代金を要求していることを明らかにしました。そして6 月 14 日の告知で、攻撃者との交渉の結果、身代金が 397.6BTC(2017 年 6 月 19 日の時点でおよそ 101 万米ドルに相当)に減額され [1]

http://www.nayana.com/bbs/set_list.php?b_name=notice にハッカー側との交渉の様子なども報告されている(らしい

NAYANAとハッカーの交渉の様子(?)

NAYANAのその後:

Mole(2017年4月~?)

CryptoMixの亜種(?)

ランサムウェア「Mole」、英大学などが被害汚染サイトを訪問しただけで感染 - ZDNet Japan (2017/6/22)

ランサムウェアがネットワークに侵入できたのは、ユーザーが悪意ある広告をクリックする必要すらなかったのも、理由の1つだ。「Astrum」という脆弱性攻撃ツール(エクスプロイトキット)を利用する攻撃者のせいで、汚染されたサイトを訪問するだけで感染する。

Ransomware Recap: Expanding Distribution Methods - Security News - Trend Micro USA (2017/4/25)

A CryptoMix variant calling itself Mole (Detected by Trend Micro as CRYPAURA.MOLE) has been detected abusing Google Doc URLs to infect victims.

Bad Rabbit(2017年)

新しい暗号化型ランサムウェア「Bad Rabbit」、ネットワーク経由で拡散、ウクライナとロシアなどで確認される | トレンドマイクロ セキュリティブログ (2017/10/25)

  • 感染経路は図1を参照
  • 初期感染は偽インストーラ。横展開はあるが、脆弱性を利用しない総当たり攻撃とEternalRomance(SMBの脆弱性;2017年3月)を使い分ける(※TMは2017/10/27に初期情報を訂正)。
  • 認証情報の抽出→Mimikatz
  • ディスク暗号化→正規のディスク暗号化ツール「DiskCryptor」

ランサムウェア「Bad Rabbit」の内部構造を紐解く | MBSD Blog (2017/10/27)
深く解析している記事。

  • Bad Rabbitは調査の結果、6月に話題となったMBR暗号化ランサムウェア「NotPetya」との類似点が数多く存在することがわかりました。

No More Ransom Project

https://www.nomoreransom.org/

身代金はもう払わないぞ!の精神で復号ツールの開発と配布をするプロジェクト。セキュリティ対策ソフトの開発会社も協力している。

Webマルウェア

本章では、以下のマルウェアを対象にする

  • Webサーバー上のコンテンツが改ざんされ、そのサーバーから配布されるマルウェア
  • ブラウザの拡張機能により表示中のページが改ざんするマルウェア
  • 不正広告から配布されるマルウェア(Malvertising)
  • Webサーバーに寄生するマルウェア

攻撃ベクター

  • アプリケーションサーバー
    • 例)Oracle WebLogic Server(Oracle WebLogic Server;CVE-2017-10271), Exim(メールサーバー;CVE-2018-6789
  • Webアプリケーションフレームワーク
    • 例)Apache Struts(RCE系脆弱性多数)
  • CMSの脆弱性
    • CMS=コンテンツ管理システム
    • CMSの例)Wordpress、Joomla!(ジュームラ)、Drupal(ドルーパル)
    • CMS自体またはそのプラグインのセキュリティホールが放置されている
      • 特に有志によるプラグインの脆弱性は放置されやすい
    • 管理者アカウントのパスワードが弱い
      • 「弱い」とはパスワードリスト攻撃(アカウントリスト攻撃)により容易に推測できるようなものを指す
    • ログイン制限をしていない
      • 外部からの多数のログイン試行をブロックする機構が無いなど
  • FTP
    • パスワードが弱い
  • (改ざんされた)静的・動的HTML
    • iframeタグ
    • scriptタグ
    • テンプレートインジェクション
  • Web広告/不正広告/Malvertising
    • Flash
    • JavaScript
    • 例)Drive-by-Download, Drive-by Mining, Fake Alert
  • scriptブロック
    • 管理者用ログイン画面にキーロガーをインストール
    • マイナー(仮想通貨の発掘行為)
      • 広告に入っていることもあるんだっけ?
      • 運営者が収益の安定化のために意図的に導入する例もあり?
      • 例)CoinHive
  • オープンリダイレクト脆弱性
  • ブラウザ
    • see ドライブバイダウンロード攻撃
  • ブラウザ拡張機能

感染経路

(下図は)JPCERT/CCが確認した、代表的なWebサイトへの攻撃です。
Webマルウェアの感染経路
~ 画像は https://www.jpcert.or.jp/pr/2016/pr160004.html より

ドライブバイダウンロード(Drive-by download;DbD, DbyD)

TODO

キーワード:

  • トラフィック
  • Compromised Site
  • JavaScriptとブラウザエクスプロイト
  • God Mode ※場合による
  • VBScript
  • PowerShell

情報源:

解析例:

[NS1] 北朝鮮関連サイトを踏み台とした水飲み場型攻撃 解析レポート by NTT Security (2017/8/23)

[余談]ブラウザエクスプロイトの情報源:

Internet Explorer

God Mode

IEのエクスプロイト→???→ダウンローダー実行

エクスプロイト→イントラネット利用によるGod Mode移行→ダウンローダー実行

TODO

エクスプロイト→フラグ書き換えによるGod Mode移行→ダウンローダー実行

例:

  • [NS1]

Malvertising

悪意のある広告。TODO:概要。時代により注入されるコードの目的が変わる。

事例:

Web広告の形態

TODO: 広告の枠をサイト運営側から購入するタイプと、リアルタイム入札の2種があるのは知ってる。もっと調べないとなぁ。広告効果が低いサイトでは広告単価が低くなるのでチョメチョメな広告が表示されるとかないとか。

キーワード:

  • 入札
  • アドテク
  • アドネットワーク

Web広告における収益手段

一般的な話です。ふわふわした理解で書いてるよ。

Web Browser Fingerprint

アドテクノロジー界隈が使っているトラッキング技術だけど参考情報として。

▼サーベイ論文
[1905.01051] Browser Fingerprinting: A survey

With this paper, we survey the research performed in the domain of browser fingerprinting, while providingan accessible entry point to newcomers in the field

(Table 1とか見てみて)

TODO:Exploit Kitと関連してOSやJSエンジンの種類やバージョンを取る方法(本当にこれ使ってるの?←yes。エクスプロイトが刺さるか判定したいので)。調べるのは読者の宿題とします!ブログ公開も頼む~

仮想通貨マイニングマルウェア

総称が不定に見える。coin miner, cryptominer, Cryptocurrency-Mining Malware, 仮想通貨マイニング。

Malvertising Campaign Abuses Google’s DoubleClick to Deliver Cryptocurrency Miners - TrendLabs Security Intelligence Blog (2018/1/26)

We discovered that advertisements found on high-traffic sites not only used Coinhive (detected by Trend Micro as JS_COINHIVE.GN), but also a separate web miner that connects to a private pool. Attackers abused Google’s DoubleClick, which develops and provides internet ad serving services, for traffic distribution.

仮想通貨マイニングを悪用した攻撃の事例紹介 - SSTエンジニアブログ

仮想通貨を不正マイニングする攻撃を調査・解析してみたので、その解析結果と併せて不正マイニングの事例紹介を書いていきます。

ところで、

今回はDrive-by Download攻撃などの解析レポートを公開しているサイトから、不正マイニングサイトにアクセスした際の通信データ(パケットファイル)を取得し

malware-traffic-analysis.netのことかな?

ブラウザ拡張機能

不正な Chrome 拡張機能「DROIDCLUB」、正規ストア利用者 42 万人に影響か | トレンドマイクロ セキュリティブログ (2018/2/7)

トレンドマイクロの「Cyber Safety Solutions チーム」が、数百万ユーザに影響を与える Chrome の不正な拡張機能(「BREX_DCBOT.A」として検出)を確認しました。利用されている最も古い C&C サーバにちなんで「DROIDCLUB(ドロイドクラブ)」と名付けられたこのマルウェア(ボット)は、Chrome の拡張機能として拡散し、ユーザが訪問した Web サイトに広告や仮想通貨発掘コードを注入します。

Fake Alert(フェイクアラート、偽警告)

[1] 実例で学ぶネットの危険:スマホで突然の「ウイルスに感染」表示、開くとどうなる? | トレンドマイクロ セキュリティブログ (2017/11/15)

偽の警告メッセージで不安をあおって利用者をだます手口全般を「Fake Alert(フェイクアラート、偽警告)」と呼びます [1]

例:

FakeAV

ウイルス感染を理由に利用者をだます手口は特に「FakeAV」と呼ばれます [1]

警告先でインストールを要求されるアプリがmaliciousというわけではない。アフィリエイトとしてやっていることも。

サイバー犯罪者にとって、不正アプリではない正規マーケット上のアプリに誘導してインストールさせることに何の意味があるのでしょうか?これは「Pay Per Install(PPI)」と呼ばれるアフィリエイトプログラムなどの利用により、正規アプリをインストールさせることで金銭的利益を得ようとする手口であるものと考えられます。この手法であれば、一般利用者にとっては「迷惑」と感じることがあるかもしれませんが深刻な実害はないため、サイバー犯罪者としては不正活動として追及を受けるリスクを負わずに金銭を得ることが出来ます。 [1]

TSS (Technical Support Scam)

これもそう?

「サポート詐欺」の手口が変化、SNSの投稿を検索結果に表示させ詐欺ページに誘導 | トレンドマイクロ セキュリティブログ (2019/3/8)

本記事では、ソーシャル・ネットワーキング・サービス(SNS)への投稿を検索結果に表示させることでユーザをサポート詐欺に誘導する手口について解説します。また、偽の無料通話番号を各SNSで検索したところ興味深い事実も判明しました。

「攻撃者の用意したWebサイト」に見られる挙動

アンチ検索エンジン

  • ユーザーエージェントによる制限/リファラの制限に注意
    • 検索結果から流入してきたかどうか、など
  • googlebotなどに不正コードを踏ませないようにする
    • Googleには検索結果から不正サイトを開こうとしたときに警告を表示してブロックする機能がある。これは攻撃者にとって不都合

解析者避け

  • 複数回同一IPからアクセスした場合、不正コードが挿入されない場合がある
    • 時間を空けて何度かアクセスると挿入される場合もあり

発信元の国制限

目的は知らないが、国内から改ざんされたサイトにアクセスしても不正コンテンツが挿入されないことがある。

回避テク:

  • オープンプロキシ
    • 例)[1]の「図14:国外のIPアドレスが割り当てられたプロキシON/OFF時の応答ページの違い」

[1] CYBER GRID VIEW Vol.3猛威を振るうRIG Exploit Kitの全貌と対策 | LAC WATCH | 株式会社ラック

Wordpress

キーロガーとマイナーを仕込まれた例
Cloudflare[.]solutions Keylogger Returns on New Domains (2018/1/24)

Webサーバーの脆弱性の悪用例

GhostMinerの感染拡大 – wizSafe Security Signal -安心・安全への道標- IIJ (2018/4/27)

Oracle WebLogic ServerのサブコンポーネントであるWLS Securityには、外部から任意のコード実行が可能となる脆弱性(CVE-2017-10271)があります。
本攻撃はGhostMinerと呼ばれ、成功した場合は最終的にWebサーバ上で、管理者の意図しない形で仮想通貨のマイニングを実行させられてしまいます。

参考)Webエクスプロイト

パブリック書き込み可能なS3オブジェクトを改ざんするとか、マルウェア感染のための手口は色々あると思います。

swisskyrepo/PayloadsAllTheThings: A list of useful payloads and bypass for Web Application Security and Pentest/CTF

A list of useful payloads and bypass for Web Application Security and Pentest/CTF

S3 Ransomware Part 1: Attack Vector - Rhino Security Labs(2019/06/10)
KMSを用いたS3オブジェクト暗号化。PoCあり。

New Spam Campaign Controlled by Attackers via DNS TXT Records (2019/06/10)
DNS over HTTPS でのJSペイロード転送の事例

ペネトレ検証-権限昇格とWildcard Injectionの原理 - Shooting!!!(2019/5/13)

前回はECShopの脆弱性を用いてRCE、そしてwww-data権限でのバックドア作成に成功しました。

【ハッキングに挑戦】脆弱性が残された仮想イメージ公開プラットフォーム(VulnHub)で練習をする - Qiita(2019/12/3)
Webを中心とした脆弱性攻撃の練習環境

C2サーバー(C&Cサーバー)

C2(C&C)はCommand and Controlを意味する。
C2サーバーは単にC2とも呼ばれることもある。

現状(~2016年)

TODO

  • Torの利用状況は?
  • DNSレベルでマルウェアのアクセスを弾くのもあるね(IIJとどっかのISPだっけ?)
  • 404エラーベース
    • ファイアーウォールをかいくぐるため
    • 404エラー=そこで通信が終了した、そこには何の情報もない、という思い込みを利用

Tor

.onionにC2サーバーがあるパターン。

例:

  • WannaCry(Torブラウザをダウンロード) [1]

参考資料:

マルウェア配信サーバーとしてのC2?

オンラインストレージサービスの悪用事例、RAT「ADWIND」などが感染 | トレンドマイクロ セキュリティブログ (2017/9/11)

サイバー犯罪者は、マルウェアを A360 にホストすることにより、疑われずにマルウェアを送り込むことが可能になります。
感染経路の起点はスパムメール

オンラインストレージサービスを利用したC2

オンラインストレージサービス(広義)=Dropbox、GitHub

DropboxをC2サーバとして悪用する、日本を狙った新たなマルウェアを確認 | セキュリティ対策のラック (2018/9/25)

オンラインストレージサービスであるDropboxをC2サーバとして悪用する新たなマルウェア「Dropapibot」を2018年6月頃に確認しましたので報告します。

NodeJSを利用したC2通信

ファイルレスの NodeJS マルウェア「Divergent」(2019/10/9)

  • NodeJSをC2(ソケット通信)のために利用
    • Divergent では一部の機能を実現するため、NodeJSpopup_icon(Web ブラウザの外部で JavaScript を実行するプログラム)と、正当なオープンソース ユーティリティの「WinDivertpopup_icon」を使用しています。NodeJS の使用は、マルウェアで一般的に見られるものではありません。

C2接続情報を受け取る手段

  • バイナリにIPアドレス直書き
  • バイナリにドメイン名直書き
  • デッド・ドロップ・リゾルバー(Dead Drop Resolver)
    • ※後述

デッド・ドロップ・リゾルバー(Dead Drop Resolver)

[マクニカ]より

攻撃者が、インターネット上で利用可能なブログやコードレポジトリサービスに、暗号化したC2サーバのIPアドレスを掲載し、マルウェアがその情報を読み取ってC2サーバへ接続する手口

例:

参考情報:

DNSトンネリング(DNS Tunneling)

TODO:同人誌に書いたやつから抜粋

Detecting DNS Tunneling - detecting-dns-tunneling-34152

Twitterに潜むC&Cサーバー

  • とあるExploit Kitがこの手法を使うらしい

いろいろ

「ファイルレス」と「モジュール化」を採用した新たなボット型マルウェア「Novter」、感染経路は不正広告 | トレンドマイクロ セキュリティブログ(2019/11/5)

このモジュール(=Nodster ※筆者注)は、感染コンピュータに「NodeJS」をインストールし、バックグラウンドでNodeJSスクリプト「app.js」を実行します。

Novterに感染したコンピュータは、攻撃者の活動に利用される代理サーバ(プロキシ)と化します

日本も攻撃対象とするサイバー犯罪集団「TA505」の最新攻撃手法を詳細解説 | トレンドマイクロ セキュリティブログ (2019/10/17)

ISOイメージファイルには、LNKファイルが含まれており、このLNKファイルは、コマンドライン「msiexec」を使用して外部のC&CサーバからMSIファイルをダウンロードして実行します。ダウンロードされたファイルには、Windowsのインストーラ作成ツール「NSIS」で作成されたインストーラファイルが含まれ、このインストーラファイルが次にServHelperをインストールします。