Get2ダウンローダーを使って新型のSDBbotリモートアクセス型トロイの木馬(RAT)を配信するTA505

Share with your network!

本ブログは、英語版ブログ「https://www.proofpoint.com/us/threat-insight/post/ta505-distributes-new-sdbbot-remote-access-trojan-get2-downloader」の翻訳です。

Editor’s note本ブログ公開後、韓国のセキュリティ企業AhnLabがSDBbotの初期のバージョンと思われるものに遭遇したようです。直近のQ3 ASECレポートで「悪意のあるSDBファイル」として言及されており、韓国でのキャンペーンでFlawedAmmyy RATのセカンダリペイロードとして配信されたと記されています。TA505は2019年以来韓国でも活動しており、FlawedAmmyy RATを頻繁に配信しましたが、現時点でProofpointはこれらの関係性を確認できていません。

概要

2019年9月、Proofpointの研究者は多作な脅威アクターであるTA505が新しいダウンローダーであるGet2の配信とインストールを試みるメールキャンペーンを配信しているのを観測し、感染後にGet2がFlawedGraceFlawedAmmyy、SnatchおよびSDBbot(新型のRAT)をセカンダリペイロードとしてダウンロードすることを確認しました。

このブログでは、これらの最新のキャンペーンに関連する戦術、技術、および手順(TTP:Tactics, Techniques, and Procedures)を詳述し、Get2ダウンローダーとSDBbot RATの詳細な分析を行います。

これらの新しい動きは、2018年以降ランサムウェアを主なペイロードとして使わなくなった脅威アクターが、ダウンローダー、バックドア、インフォメーションスティーラー、リモートアクセス型トロイの木馬(RAT)などを配信するようになったトレンドを継承するものです。

TA505はこのトレンドの最前線にあり、2018年11月に新しいバックドア「ServHelper」、2019年初めに新しいダウンローダーマルウェアであるAndroMutの配信を始めました。

キャンペーン

Proofpointの研究者は2019年9月9日から、最初のダウンローダーとしてGet2を使用するTA505の観測を開始しました(このブログ執筆時点ではまだ継続中です)。Get2は最初のうち、FlawedAmmyyやFlawedGraceなどの従来型のペイロードをダウンロードしていました。しかし10月7日、Proofpointの研究者はGet2が新型のRAT 「SDBbot」をダウンロードするのを観測しました。

新型のマルウェアの採用に加えて、これらのキャンペーンは他の面でも進化を続けています:

  • TA505は、配信された電子メールの量において常に上位であり続けています(ほとんどの場合数万から数十万のメッセージ量ですが、時には数百万に達します)
  • TA505は引き続き金融機関を主なターゲットにしており、より広く他の業種をターゲットにしたキャンペーンを交互に行っています
  • 最近はギリシャ、ドイツ、およびジョージアを標的地域として狙っています
  • Get2ダウンローダーでは、新しいMicrosoft Officeマクロが使われています

120199月と10月にGet2SDBbotでピークに達したTA505のマルスパムキャンペーン

以下は、いくつかの注目すべき悪意のある電子メールキャンペーンの詳細です。

2019年9月9日

Proofpointの研究者は9月9日、英語およびギリシャ語のルアーを含むMicrosoft Excel添付ファイルを配信しようとする数万通の電子メールを観測しました。これらのメールは、ギリシャ、シンガポール、アラブ首長国連邦、ジョージア、スウェーデン、リトアニア、および他のいくつかの国の金融機関を標的にしていました。

これらの電子メールでは、以下の件名と添付ファイル名が使用されました:

  • 件名「HPE INV-02-Invoice and documents」(請求書と書類)および添付ファイル「hpe_s_hp-inv_02[.]xls
  • 件名「Need to Apply」(申請が必要)および添付ファイル「dc123456[.]xls
  • 件名「Παραστατικό」(ドキュメント)および添付ファイル「business cloud invoice no142 09-09-2019[.]xls」
  • 件名「ΣΤΕΛΙΟΣ ΠΡΟΤΙΜΟΛΟΓΙΟ」(エグゼクティブサマリ)および添付ファイル「προτιμολογιο[.]xls

これは、新しいダウンローダー「Get2」が観測された最初のキャンペーンでした。しかしその時点でのProofpointのテストでは、セカンダリペイロードは観測されませんでした。

2Get2ペイロードが埋め込まれた悪意のあるMicrosoft Excelスプレッドシートを配信する電子メールのサンプル

3:ギリシャ語を使用し、ギリシャをターゲットにしたMicrosoft Excel添付ファイルのサンプル

2019920

9月20日に、Microsoft Excelと.ISO添付ファイルを英語とフランス語のルアーで配信しようとする数十万通もの電子メールを確認しました。これらのメールは、米国とカナダのさまざまな業種の企業を対象としていました。

これらの電子メールでは、以下の件名と添付ファイル名が使用されました:

  • 件名「Reçu de paiement(facture 12345)」(領収書)および添付ファイル「facture_no_432478_v2 [.] xls
  • 件名「Account opening form」(アカウント開設フォーム)および添付ファイル「formulaire_01234.iso」(ISOには「0920_0123456 [.] xls」などのExcelファイルを含む)

このキャンペーンでProofpointの研究者はGet2のインストールと実行を再度観測し、このときはセカンダリペイロードとしてFlawedGraceをダウンロードしました。

4:カナダをターゲットとし、ISO添付ファイルを配信するフランス語の電子メール

5:カナダをターゲットとし、フランス語を使用したMicrosoft Excel添付ファイル

2019107

10月7日、Proofpointの研究者は悪意のあるMicrosoft Excelファイル「request[.]xls」を添付する代わりに、ランディングページにリダイレクトするURL短縮リンクを含む数千通のメールを確認しました。このキャンペーンでは英語のみが使用され、主に米国のさまざまな業界の企業をターゲットにしました。

これらのメールでは以下の件名が使用されました:

  • 件名「Admin shared "request[.]xls" with you」(管理者が「request [.] xls」を共有しました)
  • Bit.lyの短縮URLが含まれていました

このキャンペーンで、Proofpointの研究者は初めてGet2がSDBbotをダウンロードしたことを観測しました。

6:悪意のあるドキュメントのダウンロードにリンクされたランディングページに誘導するBit.ly URLを含む電子メールサンプル;ブランドを盗用して共有ファイルルアーの信頼性を高めている

7:ユーザーが悪意のあるドキュメントにリンクするボタンをクリックするように誘うルアーを含むDropboxをテーマにしたランディングページ

8:ユーザーにドキュメントを開いてマクロを有効にするように誘う、Get2ダウンローダーが埋め込まれたMicrosoft Excelスプレッドシート

Microsoft Excelドキュメントの分析

TA505が新しいマルウェアを使用したことに加えて、新しいGet2ローダーは新しいMicrosoft Excelマクロと連携して機能することに注意してください。Get2はMicrosoft Excelファイルにオブジェクトとして埋め込まれており、ドキュメントをスクロールすることで画像アイコンとして見つけることができます。このマクロは、以下のようなロジックを使ってGet2を展開します(これは9月9日の分析であり、その後漸進的な変更が行われたことに注意してください):

  • オリジナルのMicrosoft Excelスプレッドシートを%TEMP%ディレクトリにコピー
  • Microsoft Excelスプレッドシート内の埋め込みオブジェクト「xl\embeddings\oleObject1[.]bin」を%TEMP%ディレクトリにコピー
  • oleObject1.bin内のDLLを「ReadAndWriteExtractedBinFile」関数によって抽出し、%APPDATA%にコピー
  • DLLをLoadLibraryAと共にロード
  • Get2」などのDLLからエクスポートされた関数をマクロによって実行

この処理の一部を実行するMicrosoft ExcelファイルのVBAコードの抜粋を以下に示します。このコードStack Overflowの記事を一部引用しているようです(ただし、「PDF」ではなく「MZ」ヘッダーで始まるファイルを抽出する点が違います)。

9Get2ダウンローダーとの組合せで使用される悪意のあるMicrosoft ExcelスプレッドシートのVisual Basicマクロコードのサンプル

Get2ダウンローダー

Get2はTA505の最近のキャンペーンで使用されている新しいダウンローダーマルウェアで、C ++で記述されています。この名前は、分析された最初のサンプルで使用されたDLLエクスポート名に由来します。後のキャンペーンでは、Amway、Hadno、Seven、Wakeupなどの異なるエクスポート名が使用されました。

ダウンローダーは基本的なシステム情報を収集し、HTTP POSTリクエストを介してハードコードされたCommand and Control(C&C)サーバーに送信します(図10):

10Get2 C&Cリクエストの例

POSTデータには、次のURLエンコードされたパラメーターが含まれています:

  • D - コンピューター名
  • U - ユーザー名
  • OS - Windowsバージョン
  • PR - パイプで区切られたプロセスリスト

図11および12は、C&Cサーバーからのレスポンスの例を示しています:

11Get2 C&Cレスポンスの例

12Get2 C&Cレスポンスの例

C&Cレスポンスデータはパイプで区切られ、各セクションにはペイロードのURLとセミコロンで区切られたオプションの引数が含まれます。

初期のバージョンのGet2では、ペイロードはコマンドラインから渡された引数を使う実行可能ファイルでした。後のサンプルで作者は「RD86」と「RD64」の引数をチェックするためのコードを追加しました(恐らく「run DLL」の略)。ペイロードは挿入されロードされるDLLであったことをRD86が示しています。また、システムはランダムな時間の後に再起動するようにスケジュールされていました(再起動の詳細については、以下のSDBbotセクションをご覧ください)。現時点ではRD64コードへのパスは実装されていませんが、64ビットDLLのRD86に類似していると考えられます。

SDBbotリモートアクセス型トロイの木馬

SDBbotはC ++で記述された新しいリモートアクセス型トロイの木馬(RAT)で、最近のTA505キャンペーンでGet2ダウンローダーによって配信されています。その名前は、最初に分析されたサンプルで使用されたデバッグログファイル(sdb.log.txt)およびDLL名(BotDLL [.] dll)に由来します。また、永続化のためにアプリケーションシミング(application shimming)[1]のテクニックを使用しています。SDBbotはインストーラー、ローダー、RATコンポーネントの3つの部分から構成されています。

インストーラーコンポーネント

インストーラーはRATコンポーネントをレジストリに保存し、ローダーコンポーネントを永続化します。分析されたサンプルでは、インストーラーは「SdbInstallerDll [.] dll」という名前でした。その重要な文字列とデータのほとんどは、ハードコードされた128バイトの鍵でXORエンコードされていました。

レジストリ値は、ユーザー権限に応じてHKEY_LOCAL_MACHINEまたはHKEY_CURRENT_USERの「\SOFTWARE\Microsoft\<ランダム3文字のサブキー>[ランダム1文字の値名]」に作成されます。バイナリblobはここに保存され、以下のような構造を持ちます:

  • 著作権表示(「Copyright(C)Microsoft Corporation」)
  • ローダーシェルコード(インストーラーに関数として保存)
  • <レジストリサブキーからのランダムな3文字> 0INIT」で構成される文字列
  • 圧縮されたRATペイロード(インストーラーの「.data1」 PEセクションに保存)

ボットが通常のユーザー権限で実行されている場合、永続化はレジストリの「Run」メソッドを使用して行われます。ローダーDLLコンポーネントは「%APPDATA%\mswinload [.] DLL」に書き込まれ、rundll32[.] EXEが順番にDLLを実行できるよう「Run」キーに「mswinload」値を追加します。

Windows 7より新しいWindowsのバージョンで、ボットが管理者権限で実行されている場合には、レジストリの「image file execution options」メソッドを使用して永続化されます。ローダーDLLコンポーネントは「%SYSTEM%\mswinload0[.]dll」に書き込まれ、「winlogon[.]exe」の「VerifierDlls」値に追加されます。

ボットがWindows XPまたは7で管理者として実行されている場合、永続化はアプリケーションシミングを使って行われます[1]。FireEyeのブログ投稿「To SDB, Or Not To SDB: FIN7 Leveraging Shim Databases for Persistence」[3]で解説されている方法とよく似た方法を使用します。シムデータベース(SDB)はservices[.]exeにパッチをあてるためにローダーコードと共に作成され(図13)、sdbinst[.]exeと共にインストールされます:

13SDBbotによって作成されたシムデータベース(SDB)の例

永続化メカニズムの3つすべてを有効にするためには再起動が必要で、インストーラーからローダーおよびRATコンポーネントを連続して実行するための追加コードはありません。Proofpointの研究者は、Get2ダウンローダーの再起動機能(上記)を使用して、TA505キャンペーンでのインストール後にSDBbotの実行を継続すると推測しています。

ローダーコンポーネント

このレジストリベースの永続化メカニズムでは、RATペイロードを実行するために別個のローダーDLLが使用されます。分析されたサンプルではローダーは「RegCodeLoader [.] dll」という名前で、「mswinload [.] dll」や「mswinload0 [.] dll」としてディスクに保存されました。アプリケーションシミングベースの永続化は別個のDLLを使用しませんが、services [.] exeにパッチを適用するコードの機能は似ています。どちらの場合も、ランダムなレジストリキーと値の名前がローダーコードにパッチされます。

ローダーコンポーネントは、レジストリに格納されているバイナリblobを読み込み、そこに格納されているローダーシェルコードを実行します。シェルコードはRATペイロードを解凍し、DLLをロードして実行します。

RATコンポーネント

分析されたサンプルでは、RATコンポーネントは「BotDLL [.] dll」という名前でした。コマンドシェル、画面のビデオ録画、リモートデスクトップ、ポート転送、ファイルシステムへのアクセスなどの典型的なRAT機能を備えています。

SDBbotはC&Cをプレーンテキストの文字列またはファイル(「ip.txt」)に保存します。TCPポート443でプレーンテキストプロトコルを使用します。セッションの例を図14に示します:

14SDBbot C&Cプロトコルの例

ボットは、DWORD0xC0DE0000アクノリッジメントを送受信することにより、通信を開始します。その後、基本的なシステム情報を送信して続行します:

  • ver - 可能性のあるマルウェアバージョン
  • domain - ドメイン名
  • pc - コンピューター名
  • geo - 国コード
  • os - Windowsバージョン
  • rights - ユーザーの権利
  • proxyenabled - プロキシが構成されているかどうか

マルウェアがシステム情報を送信した後、C&CサーバーがDWORDコマンドで応答します。コマンドに応じて、C&Cサーバーは追加の引数を送信します。一部のコマンド(主にシェルおよびビデオ関連のもの)は、さまざまなデータを保存するために48バイトのデータ構造を使用します。これらのデータ構造のステータスを作成、削除、およびクエリする他のコマンドがあり、図15のように定義されています:

15:一部のコマンドで使用される48バイトのデータ構造

使用可能なコマンドは次のとおりです:

  • 2 - C&Cからサブコマンドを取得します。
    • cmd」 - cmd [.] exeシェルを開始
    • shutdown_pc」 - シャットダウン
    • reboot」 - 再起動
    • sleep utc」 - スリープ時間を設定
    • video online」 - 既存のビデオデータ構造を取得するか、新しいビデオデータ構造を作成
    • video stop」 - ビデオデータ構造に「停止」イベントを設定
    • rdpwrap install」 - レジストリでRDPを有効化(RDP Wrapper [4]はインストールしない)
    • rdpwrap uninstall」 - RDP Wrapper [4]がインストールされている場合は、それをアンインストール
    • portforward」 - ターゲットホストとポートとC&Cの間にプロキシを設定
    • run」 - cmd [.] exeを介してコマンドを実行(C&Cには出力を送信しない)
    • runreflective」 - C&CからDLLをダウンロードして新しく作成したrundll32 [.] exeに挿入し、リフレクティブにロード
    • keep_bot_online on” - フラグとスリープタイムアウトを設定
    • keep_bot_online off” - フラグをオフにし、スリープタイムアウトをゼロに設定
  • 4 - データ構造の番号、タイプ、およびインデックスを送信
  • 5 - シェルまたはビデオ録画が有効になっている場合、シェル出力またはスクリーンショットをC&Cに送信
  • 11 - コマンドシェルデータ構造の番号、インデックス、タグを送信
  • 12 - コマンドをシェルに書込む
  • 13/32 - 新しい空のデータ構造を作成し、そのインデックスをC&Cに送信
  • 14 - 既存のデータ構造をクリーンアップして削除
  • 15 - ファイルの書込
  • 23 - ドライブ情報またはディレクトリのリストを取得
  • 24 - ファイルの読込
  • 25 - ディレクトリの作成
  • 26 - ファイル削除
  • 27 - すべてのデータ構造をクリーンアップして削除
  • 31 - 正確な機能は不明(2つのデータ構造を使用してファイルを書込、1つはファイルに関連付けられ、もう1つはC&Cからデータを読み取るために使用)

結論

TA505はここ数年の脅威ランドスケープの形成に大きな役割を果たしており、それは主に2017年の終わりから2018年を通してのキャンペーンで膨大な量のメールを配信したためです。Proofpointの研究者は、TA505およびその他の多くのアクターがダウンローダー、RAT、インフォメーションスティーラー、バンキング型トロイの木馬に注力していることを観測しました。これらの攻撃と、最近観測された2019年10月のTA505による広範な業種および地域への攻撃を合わせて見ても、アクターのこれまでの「フォローザマネー(儲け第一)」の行動パターンが一貫していることがわかります。新しいGet2ダウンローダーと、ペイロードとしてのSDBbotの組み合わせは、2019年秋のTA505の最新の仕掛けです。

リファレンス

[1] https://attack.mitre.org/techniques/T1138/

[2] https://attack.mitre.org/techniques/T1060/

[3] https://www.fireeye.com/blog/threat-research/2017/05/fin7-shim-databases-persistence.html

[4] https://github.com/stascorp/rdpwrap

Indicators of Compromise (IOCs)

IOC

IOC Type

Description

https[://update365-office-ens[.com/rb8

URL

Get2 callback - 2019-09-09

update365-office-ens[.com|212.80.216[.172

domain|ip

Get2 C&C - 2019-09-09

0683d9f225d54d48081f53abd7d569b32bc153d98157a5a6b763bc3cf57a6ad6

sha256

Get2 - 2019-09-09

cfce53335bbe61de612353cdd83ce17953b1f230c576ed6de1463626aff9088e

sha256

Snatch (updated version) - 2019-09-19

37.59.52[.229:53

ip:port

Snatch C&C - 2019-09-19

f27c5375046c734dfe62d2efe936b92cd519da091d04f22db713514caafece2a

sha256

Get2 - 2019-09-20

https[://windows-update-sdfw[.com/trase

URL

Get2 callback - 2019-09-20

windows-update-sdfw[.com|167.114.194.56 

domain|ip

Get2 C&C - 2019-09-20

34f3733177bbe3d7a8d793fe3c4fd82759519ddc6545b608613c81af9019a52d

sha256

FlawedGrace - 2019-09-20

https[://office365-update-en[.com/frey

URL

Get2 callback - 2019-09-27

https[://office365-update-eu[.com/frey

URL

Get2 callback - 2019-09-27

office365-update-en[.com|5.149.252[.171 

domain|ip

Get2 C&C - 2019-09-27

office365-update-eu[.com|147.135.204[.64 

domain|ip

Get2 C&C - 2019-09-27

e3ec2aa04afecc6f43492bfe2e0d271045ab693abfa332a2c89a5115ffe77653

sha256

FlawedGrace - 2019-09-27

en-gb-facebook[.com|95.169.190[.29

domain|ip

FlawedGrace C&C - 2019-09-20 > 27

4efcc22da094e876346cff9500e7894718c8b6402ff3735ea81a9e057d488849

sha256

FlawedAmmyy - 2019-09-27

102.130.114[.246

ip

FlawedAmmy C&C - 2019-09-24 > 2019-10-01

133121ea82269ec943847e04cb070109ca94612aed23a471868937f119ae8175

sha256

FlawedAmmyy - 2019-10-01

edb838be33fde5878010ca84fc7765c8ff964af9e8387393f3fa7860c95fc70b

sha256

SDBbot - 2019-10-07

9eaad594dd8038fc8d608e0c4826244069a7a016ffd8881d8f42f643c972630f

sha256

SDBbot - 2019-10-07

news-server-drm-google[.com|170.75.175[.209

domain|ip

SDBbot C&C - 2019-10-07

99c76d377e1e37f04f749034f2c2a6f33cb785adee76ac44edb4156b5cbbaa9a

sha256

SDBbot - 2019-10-08/09/10/11

6b3aa7a7a9771f7464263993b974c7ba233ec9bd445ea635e14a0764523cbef4

sha256

SDBbot - 2019-10-08/09/10/11

static-google-analtyic[.com|103.75.118[.231  

domain|ip

SDBbot C&C - 2019-10-08/09/10/11

https[://windows-wsus-en[.com/version

URL

Get2 callback - 2019-10-01

windows-wsus-en[.com|192.99.211.205

domain|ip

Get2 C&C - 2019-10-01

https[://windows-msd-update[.com/2019

URL

Get2 callback - 2019-10-07

windows-msd-update[.com|94.44.166.189

domain|ip

Get2 C&C - 2019-10-07

windows-cnd-update.com|185.176.221.64

domain|ip

Serving Get2 payload - 2019-10-07

https[://windows-fsd-update[.com/2020

URL

Get2 callback - 2019-10-08

windows-fsd-update[.com|185.86.148.144

domain|ip

Get2 C&C - 2019-10-08

https://windows-sys-update[.com/2021

URL

Get2 callback - 2019-10-09

windows-sys-update[.com|195.123.228.14

domain|ip

Get2 C&C - 2019-10-09

f4fed12625e2b983b918f239bf74623746cfc6b874717e6d8dd502a45e073d32

sha256

Get2 - 2019-10-10

https[://windows-me-update[.com/2021

URL

Get2 callback - 2019-10-10

windows-me-update[.com|95.217.16[.248

domain|ip

Get2 C&C - 2019-10-10

84f7c3fcf3a53f37ecbb21d0b9368d332901fe8c3f06b3d1a92123479c567c95

sha256

Get2 - 2019-10-11

https[://windows-se-update[.com/2022

URL

Get2 callback - 2019-10-11

windows-se-update.com|185.238.3.76

domain|ip

Get2 C&C - 2019-10-11

https[://office365-eu-update[.com/2023

URL

Get2 callback - 2019-10-14

office365-eu-update[.com|45.8.126[.7

domain|ip

Get2 C&C - 2019-10-14

8916a09f205910759edb082175bf2808d2acae00c7ded5bb8c9c174f60ebe152

sha256

SDBbot - 2019-10-14

c2f99a2bba225fe3ab49cb952e418b2ab29ba7f2e34db6cf9bc51b0349d0acd8

sha256

SDBbot - 2019-10-14

drm-server13-login-microsoftonline[.]com|195.123.242[.250

domain|ip

SDBbot C&C 2019-10-14


ET and ETPRO Suricata/Snort Signatures

2028642 || ET TROJAN Possible Win32/Get2 Downloader Activity

2838412 || ETPRO TROJAN Win32/Get2 Downloader C&C Checkin

2025408 || ET TROJAN Win32/FlawedAmmyy RAT C&C Checkin

2026773 || ET TROJAN FlawedGrace CnC Activity

2838808 || ETPRO TROJAN Win32/SDBbot C&C Checkin

 

 

Proofpointについて

Proofpoint Inc.(NASDAQ:PFPT)は、人々の働き方を守るクラウドベースのソリューションを提供する次世代の主導的セキュリティ/コンプライアンス企業です。Proofpointのソリューションは、電子メール、ソーシャルメディア、モバイル、クラウドアプリケーション経由で行われる高度な攻撃からユーザーを保護し、高度な攻撃やコンプライアンスリスクからユーザーが作成した情報を保護し、インシデント発生時には迅速に対応できます。詳細はwww.proofpoint.com/jpをご覧ください。

© Proofpoint, Inc. Proofpointは米国及びその他の国々におけるProofpoint, Inc.の商標です。本ドキュメントに記載されている会社名、製品名、サービス名は、一般に各社の登録商標または商標です。本ドキュメントの記載内容、製品及びサービスの仕様は予告なく変更されることがあります。

www.proofpoint.com/jp