/
サイバー・レジリエンス

マルウェアペイロードとビーコン:悪意のある通信の開始方法

マルウェアビーコンを理解し、それらをブロックする方法を知っていると、組織の安全性を維持するのに役立ちます。ビーコンはペイロードとも呼ばれ、何らかの通信チャネルを介してサイバー攻撃者に通信する実行ファイルまたはプログラムです。脅威アクターの観点から見ると、ビーコン管理は悪意のあるキャンペーンの基盤です。ビーコンの種類と機能にもよりますが、ビーコンは脅威アクターがネットワークに直接侵入し、その通信回線を維持し、違法な目的や目的を実行するための手段です。

たとえば、 ソーラーウィンズサプライチェーン攻撃 ビーコンまたはペイロードステージングを使用して、とらえどころのない脅威アクターが関与していました。インシデント後のいくつかの分析レポートが示しているように、この攻撃は当初、サプライヤーを危険にさらすためにSunspotマルウェアが使用された、高度な多段階攻撃でした。次に、サプライヤーの顧客に対するサンバーストのバックドア攻撃が行われました。これが正常に実行された後、メモリのみのドロッパー「ティアドロップ」の配信に使用され、続いてレインドロップローダーとコバルトストライクビーコンが配信されました。各ペイロードには独自の目的と機能セットがありました。

マルウェア攻撃シーケンスの一般的な手順

エンドユーザーかシステムかにかかわらず、何らかの脆弱性が関与する悪意のあるアクティビティの場合、攻撃シーケンスは通常、次の経路をたどります。

malware attack path

これらのフェーズを脅威アクターの観点から理解しておくと役立ちます。攻撃者がどのようにして悪質な通信を仕掛け、指揮統制を図るかを学ぶことで、攻撃に対する防御を構築することもできます。各ステップを個別に実行してみましょう。

攻撃者インフラストラクチャ

攻撃者側には、対応するペイロードによって侵害されたすべての被害者マシンからの通信を受信して処理するコマンドアンドコントロールリスナーがあります。リスナーは、脅威キャンペーンで使用されるツールをホストするウェブサーバー、メールシステム、DNS、警告システム、攻撃サーバーによってサポートされます。

攻撃者が自身のインフラストラクチャから発信する通信は、匿名化される可能性が高くなります。つまり、一連のプロキシサーバーを介してバウンスされ、本人の身元が隠されます。以下に例を挙げます。

anonymous proxy

より高度な攻撃の場合、脅威アクターは特定のキャンペーン専用の分散型インフラストラクチャを展開することもあります。これにより、必要に応じて、複数の地理的場所にまたがるインフラストラクチャを迅速に起動または解体できます。このインフラストラクチャの重要な部分の 1 つがドメインネームシステム (DNS) です。攻撃者は DNS を利用してインフラストラクチャに悪意のある通信を配信したり、DNS を使用してデータを盗み出す (つまり盗む) こともできます。

インフラのセットアップと並行して、悪質なキャンペーンの計画、展開、管理を担当する人的資源も必要になるでしょう。ほとんどの脅威キャンペーンには、スタッフとインフラストラクチャーから成るチーム全体が関わっています。1 人だけのキャンペーンになることはまずありません。

以下の内訳は、攻撃キャンペーンチームの例を示しています。一般的な IT サービス企業のチームとどれほど似ているかに注目してください。

malicious campaign team

脅威アクターにとって、被害者ネットワークでの検出を回避しながら自社のインフラストラクチャを保護するプロセスは、オペレーショナルセキュリティと呼ばれます。高度な脅威アクターは、高い運用セキュリティを好む傾向があります。そのためには、回避や難読化のためのさまざまな手法を使用します。

脆弱性

脆弱性とは、脅威アクターが悪用しようとするコンピューターシステムまたは関連テクノロジーに内在する弱点のことです。この脆弱性は、攻撃元 (機器ベンダー) または攻撃先 (通常はエンドユーザー) のどちらかに起因する可能性があります。たとえば、2017 年に Microsoft の SMBv1 脆弱性がランサムウェア攻撃者によって世界規模で悪用されることに成功しました。その脆弱性の詳細レポートを見てみましょう。

smb CVE details

システムまたはプログラムの脆弱性が発見されると、それを公開することができます。この場合、脆弱性には標準のCVE(一般的な脆弱性と暴露)番号が発行されます。あるいは、その脆弱性はごく一部の個人にしか知られておらず、修正も何も行われていない場合もあります (別名: 「ゼロデイ」)。脆弱性フェーズとは、フィッシングやマルバタイジングなど、一般的にソーシャルエンジニアリングで悪用される、より一般的なエンドユーザーの脆弱性を指す場合もあります。この段階では、脅威アクターの全体的な目的は、脆弱性を悪用して攻撃を成功させる機会に変えることです。

攻撃または悪用

攻撃の次の重要な段階は、脅威アクターがセキュリティコントロールを迂回しながら脆弱性を悪用するために使用できるコードにアクセスするときです。たとえば、ある脅威アクターが Metasploit Framework を攻撃者サーバーとして使用したことで、Windows SMBv1 の脆弱性を悪用できるエクスプロイトが次の 3 つを発見しました。

Metasploit SMB vulnerability search

これらの脆弱性は、悪名高いWannaCryやNotPetyaが利用しているタイプのものです。 ランサムウェアキャンペーン。このようなエクスプロイトには、多くの場合、脆弱性のエクスプロイトコードと悪意のある通信用の小さなペイロードコードの両方が含まれています。

多くの場合、エクスプロイトはビーコンやペイロードとは別のものです。ただし、この 2 つはシェルコードとしてまとめられるのが一般的です。エクスプロイトが標的のシステムにアクセスすると、攻撃者にコールバックして攻撃を完了できる小さなビーコンまたはペイロードが読み込まれます。これはペイロードステージングと呼ばれるプロセスです。

ビーコンまたはペイロード

前述のように、ビーコンまたはペイロードは、何らかの通信チャネルを介して攻撃者に通信する実行ファイルまたはプログラムです。これは HTTPS 経由で保護されている場合もあれば、DNS などのプレーンテキストプロトコルを使用している場合もあります。その後、攻撃者はビーコンまたはペイロードコールバックと呼ばれる方法を使用して、さらにペイロードを転送できます。多くの場合、目的を達成するための機能が追加されます。

以下の例では、次のことがわかります。 メータープリター メタスプロイトフレームワークを使用した Windows EXE としてのペイロード msfvenom:

Metasploit msfvenom
payload

このようなペイロードが被害者システムに配信されて実行されると、逆TCP接続が自動的に作成されます。ペイロードは、被害者ネットワーク内から攻撃者の IP アドレスにデフォルトポート 4444 を使用して戻します。上記のペイロードの例は、エンコーディングなしでデフォルト値で生成されているため、現実の世界で検出される可能性が高いことに注意してください。これは実際には学術的な例に過ぎません。

目標

攻撃者がビーコンまたはペイロードを実行すると、脅威キャンペーンを実行できます。これには、データの盗用、ランサムウェアのインストール、またはその他の種類の混乱を引き起こすことが含まれる可能性があります。

先に進む前に、攻撃者が目的を達成するために取る手順の概要を以下に示します。

ステップ 1: キャンペーンを計画し、ウェブサーバー、メールサーバー、DNS インフラストラクチャ、攻撃サーバーなど、対応するインフラストラクチャを設計します。

ステップ 2: 選択したターゲットとシステムについて偵察を行います。

ステップ 3: 人間とシステムを組み合わせて、悪用する最も効果的な攻撃または脆弱性を選択します。

ステップ 4: 配信メカニズムを含む、対応するエクスプロイトツールを開発または入手してください。

ステップ 5: リバースビーコン通信を受信できるように、コマンドアンドコントロールインフラストラクチャ (別名「リスナー」) を含む攻撃インフラストラクチャを設定します。

ステップ 6: 悪質なキャンペーンを実行してください。

ステップ 7: ビーコンとペイロードを管理して検出されないようにし、キャンペーンの目的を達成してください。

攻撃ウォークスルー

脅威アクターがインフラストラクチャと関連するセットアップを設計して実装したら、悪意のあるキャンペーンを開始する準備が整います。そのためには、攻撃者は被害者のネットワーク内でビーコンやペイロードを実行する必要があります。そうすれば、攻撃者はアクセスして足場を固め、目的を果たすことができます。

攻撃者の視点から重要なステップをいくつか見ていきましょう。

まず、目的のペイロードを生成する方法を見てみましょう。

payload web meeting

この場合、ペイロードはドメインを使用して通信するために生成されます (app12.webcoms-meetings.comは、Windows オペレーティングシステム用のリモート会議およびコラボレーションソフトウェアを模倣した LHOST(緑色で最初のフルラインにLHOST)と表示されています。チェックすると、ドメインが攻撃者の制御する IP アドレスに解決されていることがわかります。

DNS resolution check

ここから、攻撃者はターゲットに最初に侵入するための配信メカニズムを選択します。この例では、スピアフィッシングを使用することを選択しました。スピアフィッシングはソーシャルエンジニアリング攻撃の一種で、疑いを持たないユーザーに、リモート会議用にソフトウェアのアップデートと思われるものをダウンロードさせます。攻撃者は、以下に示すように、このソーシャルエンジニアリング配信方法をサポートするために、対応するドメイン (メールと Web) と Web サイトのインフラストラクチャを設定しました。

phishing email and web

攻撃者は、疑いを持たないユーザーがペイロードをダウンロードして実行することを望んでいます。または、ユーザーがフィッシングサイトにアクセスした場合、ドライブバイダウンロードによってペイロードが自動的に実行されることもあります。どちらの方法でも、次に示すように、偽装されたペイロードがユーザーのコンピューター上に保存され、実行できる状態になりました。

payload in downloads

ペイロードが実行されると、攻撃者のコマンドとコントロールにサイレントにコールバックします。A リスナー コールバック通信を受信するために、攻撃者側ですでに稼働しているはずです。以下の例では、ペイロードハンドラーまたはリスナーが エクスプロイト/マルチ/ハンドラーは、攻撃者側からの通信を受信するように設定されています tcp 悪質なドメイン経由で被害者のマシンで実行されているペイロード app12.webcoms-meetings.com

payload handler

ビーコンが攻撃者のインフラストラクチャに到達すると、関連するリスナーまたはハンドラーが接続を受信し、最初のペイロードでステージと呼ばれるはるかに大きなメインペイロードをダウンロードできます。これは、以下の「ステージ (175174) を 203.0.113.1 に送信中」というメッセージで確認できます。被害者のマシンは、外部 IP が 203.0.113.1 の NAT ファイアウォールの背後にあります。この例の攻撃者のペイロードは多用途です。 メタスプリット・メタープリター

payload callback

最初のビーコンがメインペイロードをダウンロードすると、残りの攻撃を続ける準備が整います。正常に実行されると、プログラムの制御がこのメインペイロード (ステージ) に渡され、攻撃者にシェルが配信されます。これらはすべてメモリー内で行われ、コード・インジェクション技術が必要です。次のスクリーンショットは、攻撃者が被害者のマシンに実際にキーボードでアクセスしているところを示しています。攻撃者は「dir」コマンドを実行すると、ユーザーのダウンロードフォルダーにあるすべてのファイルを見ることができます。

meterpreter shell

ここから、攻撃者は被害者のマシンで何らかの内部偵察(別名「発見」)を行います。これで、攻撃者は被害者のアカウントとディレクトリの情報を入手できるようになります。たとえば、侵害されたマシンのログインユーザー名は「ama」です。次に示すように、ターゲットシステムの Windows デスクトップのスクリーンショットをキャプチャすることもできます。

meterpreter shell

この時点で、攻撃者は内部ネットワークをスキャンして他のシステムを発見することもできます。次のスクリーンショットは、内部ネットワークのアドレス解決プロトコル (ARP) スキャンを示しています。これは次のような場合に便利です。 横方向の動き、後で説明します。

meterpreter shell ARP scan

攻撃者は、データを盗み出す(盗む)など、より悪意のあるアクションを実行することもできます Project_Progress.pdf 被害者マシンからのファイル以下に示すように、ユーザーの認証情報を盗む悪質なツール Mimikatz をアップロードすることもできます。攻撃者がシステムレベルのアクションを実行したり、ネットワーク内でラテラルムーブメントを実行したりするには、上位の権限を持つ認証情報が必要です。

project progress mimikatz

以下の例は、攻撃者がアップロードしたファイルを実行する方法を示しています ミミカッツ・クレデンシャル・ダンピング 侵害された Windows マシンのパスワードハッシュを表示するツール。

Mimikatz

攻撃者にとってもう1つの重要なステップは、被害者のマシンがユーザーによって再起動された後でも、被害者のマシンに戻るルートを作成することです。ここで、永続化の手法の出番です。攻撃者には、自動実行型リバースペイロードや永続的なバックドアなど、いくつかの方法があります。

以下に示すように、攻撃者はログオンユーザーの Windows Temp フォルダーに配置された Visual Basic Script (VBScript) を含むエクスプロイト後の永続性モジュールを実行することを選択します。 Upfnwo.vbs。次に、攻撃者は Windows レジストリエントリをインストールして、マシンの起動後にスクリプトを自動実行できるようにします。

post-exploit persistence

これで、攻撃者は、マシンが再起動された場合でも、ペイロードスクリプトがリスナーに接続できることを確認しました。ただし、ディスク上のファイルは、ファイルシステムのウイルス対策 (AV) スキャンでも検出できるようになりました。

最後に、攻撃者はすべての潜在的な証拠を一掃したいと思うでしょう。これを行うために、元の悪意のあるファイルやエントリを削除したり、悪意のあるファイルを暗号化したり、正規のシステムファイルに悪質なファイルを混在させたりすることがあります。さらに詳しく説明すると、シャドウコピーとシステムログの両方を削除することもできます。

攻撃の分析とフォレンジック

次に、初期インシデント対応(IR)と、攻撃の特定の要素に関する基本的な分析について説明します。これにより、特定の悪質な行為についての理解が深まります。

ネットワークと DNS の分析

被害者のマシンからのネットワーク通信分析から始めて、内部IP(10.1.1.81)がリモートポート443で外部の攻撃者のDNS名へのTCP接続を確立したことが確認されました。これはコマンド・アンド・コントロール通信です。

process running
Netstat command-and-control communication

次に、通常の DNS 解決階層に含まれる一般的なコンポーネントを分析することで、攻撃者のプロセスを細分化できます。

  • まず、脅威アクターはドメインを登録しました。 webcoms-meetings.com
  • ドメインは外部 IP 203.0.113.123 を指しています。
  • 攻撃者はサブドメイン名を使用します app12.webcoms-meetings.com 侵害されたマシンのペイロードからのトラフィックをそのマシンの指揮統制に送ります。
DNS structure

脅威アクターは、DNS を使用してデータを盗もうとする場合もあります。たとえば、DNS TXT レコードを使用したり、被害者に関するエンコードされた固有の情報を、想定されるアウトバウンド DNS クエリの一部として使用したりする可能性があります。これらのクエリは、攻撃者の制御下にある権限のある DNS サーバーが受信します。権限のある DNS サーバーは、特定のドメインの DNS クエリを受信して応答します。

脅威アクターは、ドメイン生成アルゴリズム (DGA) を使用して、毎日何千ものドメインを自動的に生成することもできます。この手法では、感染したマシンにコード (つまりアルゴリズム) が組み込まれており、生成された多数のドメインを一定期間にわたって生成し、そのドメインに接続を試みます。たとえば、生成された1,000のドメインに、成功するまで、24時間ごとに接続を試みる場合があります。その後、攻撃者はこれらのドメインを毎日いくつか登録し、短時間だけ維持します。

これらのドメインは、悪意のある通信を頻繁に受信する可能性があります。この手法は Conficker ファミリーのマルウェアで広く普及しているため、作成が困難になっています。 拒否リスト キルスイッチとして。より高度な攻撃者は、検出をさらに回避して回復力を維持するために、プロキシ、リダイレクター、ロードバランサーを組み合わせた分散型インフラストラクチャも使用しています。

システム分析

悪用後のペイロードやビーコンの一般的な操作のほとんどは、すべてメモリ内で行われるWindowsプロセスの操作に関係します。プロセス操作能力を持つ攻撃者は、被害者のマシン上で新しいプロセスを開始できます。これはネイティブのインタラクティブシェル (Windows) でもかまいません。 cmd.exe) これにより、攻撃者はネイティブの Windows コマンドを使用できます。攻撃者は、次に示すように、非対話的にプロセスを開始することもできます。

meterpreter shell process manipulation

被害者マシンでは、プロセスダンプ(以下を参照)に、新しく作成されたプロセスが、それぞれ実行中のそれぞれのプロセスID(2624と1972)とともに表示されます。

process explorer view

新しいプロセスを開始する機能は非常に便利です。攻撃者は notepad.exe のような疑いのない新しいプロセスを開始し、元のプロセスを移行することができます。 悪質なペイロード コード/ DLL インジェクションを使用して処理します。これは、システム上の悪意のあるプロセスを正当なものに見せかける手法です。この手法については、このシリーズの第 2 部で詳しく説明します。

攻撃者は、悪用後の回避策の一環として、元の悪意のあるプロセスを移行します。 web1_meeting_update.exe (2472)、新しいものへ notepad.exe ここに示すように、プロセス(1768)。

meterpreter shell migrate process

被害者のマシンでは、元の悪意のあるプロセスであるPID 2472が移行され、現在は次のように実行されています。 notepad.exe プロセス ID は 1768 です。以下に示すように、現在実行されているのは新しいプロセスのみです。

task manager migrated process

以前の永続化手法では、Windows Temp フォルダー (以下を参照) には、使用されている VBScript と、悪意のあるスクリプトのレジストリで作成された対応する自動実行キーの両方が表示されます。

persistence registry artifacts

元の悪意のある実行可能なペイロードファイルを最初に静的に分析したところ、それにはいくつかの関連するリスク要因があることがわかりました。たとえば、いくつかの興味深い Windows ライブラリ (DLL)、特にネットワーク通信に使用される DLL が読み込まれます。対応するメモリ分析と動的分析により、ネットワーク接続を行う notepad.exe プロセスの不審な動作が明らかになります。

static analysis malicious payload file

結論

この記事では、脅威キャンペーンとそれに関連する悪意のあるコミュニケーションに関する一般的な考慮事項と対策について説明しました。これにより、脅威アクターが特定の手法をどのように、そしてなぜ使用するのかについて、ある程度の洞察が得られることを願っています。

悪意のある通信につながる攻撃サイクルは、次の 3 つのフェーズにまとめることができます。

  • 初回エントリー
  • 実行
  • コマンド・アンド・コントロール

緩和戦略に取り組む良い方法は、以下を適用することです 違反を想定 哲学。つまり、攻撃者はすでに侵入しているため、主要なセキュリティ目標は検出と封じ込めであると仮定します。また、セキュリティ上の成果には少なくとも以下を含める必要があります。 自動可視化、 警告と抑制 (ゼロトラストセグメンテーション)。緩和手法については、このブログシリーズの第 3 部と最終回でさらに詳しく説明します。

次回の記事、このシリーズのパート2では、ビーコンとペイロードについて詳しく見ていき、脅威アクターがなぜあるタイプを別のタイプよりも選択するのかを説明します。また、攻撃者が回避や難読化に使用する高度な手法についても掘り下げます。

関連トピック

関連記事

新しい TCP ポート 135 のセキュリティ脆弱性から身を守る方法
サイバー・レジリエンス

新しい TCP ポート 135 のセキュリティ脆弱性から身を守る方法

TCPポート135を悪用してリモートコマンドを実行する方法により、ポート445の脆弱性が生じ、TCPセキュリティを確保するためにポート135を保護する必要が生じました。

データセンターのセキュリティ — 大きな格差
サイバー・レジリエンス

データセンターのセキュリティ — 大きな格差

動的なデータセンターのセキュリティプロトコルを組み込んだインテリジェントなシステムがセキュリティリスクを軽減する鍵となる理由

ゼロトラストの運用 — ステップ 6: 検証、実装、監視
サイバー・レジリエンス

ゼロトラストの運用 — ステップ 6: 検証、実装、監視

組織のゼロトラストへの取り組みにおける重要なステップ、つまり検証、実装、監視について学びましょう。

アイテムが見つかりません。

違反を想定.
影響を最小限に抑えます。
レジリエンスを高めます。

ゼロトラストセグメンテーションについて詳しく知る準備はできていますか?