.Net アセンブリを使用したランサムウェア手法の解明:多段階攻撃
で パート 1 このシリーズでは、ランサムウェアが悪意のある手法で利用できるプログラミング機能の例を見てきました。それから パート 2、マイクロソフトの基礎についても調べました .Net これらの機能がどのようにして可能になるかを理解するためのソフトウェアフレームワークと関連するEXEとDLLのアセンブリ。
この最後のパートでは、これまで説明してきたことをすべて段階的なペイロードにまとめ、多段階ペイロード攻撃の基礎を示します。
ペイロードと攻撃の設定
まず、攻撃に使用されるペイロードをレイアウトします。ステージングされたペイロードを作成するには、新しいものも含め、これまでのすべての機能が考慮されます。これは、ランサムウェアでよく見られるように、これまで見てきたさまざまな戦術や手法をどのように組み合わせることができるかを全体的に示すためです。
次のペイロードを使用します。
- 初期 EXE アプリケーション:ステージングペイロード
- 主なランサムウェア EXE: ステージ 1 ペイロード
- 2と メインランサムウェア DLL: ステージ 2 ペイロード
この攻撃例で複数のペイロードを使用してさまざまなタスクを実行することは、多段階攻撃を構成します。マルウェアのペイロードとビーコンに関する前回のシリーズを振り返ると、 パート 2 悪意のあるペイロードの種類についてさらに詳しく説明しました。そこで、ステージ型ペイロード型とステージ型ペイロードタイプの違いについて説明しました。まとめると、Stagerは、多くの場合、その役割を果たすことができる、より小さな初期実行アプリケーションです。 ダウンローダー、ドロッパー、および/またはペイロード。ステージと呼ばれる、より高性能で多くの場合大きいメインペイロードファイル。Stager ペイロードの目的は、メインステージを設定することです。この攻撃例では、前述のようにペイロード・ステージングを使用して、さまざまなペイロードに次のようなさまざまなタスクが実行されます。
Stager EXE ペイロードは次のことを行います。
- 回避テクニック
- 2 つの「テキスト」ファイルをディスクにダウンロードします。これらのファイルは実際には EXE と DLL です。
- 2 を起動しますと EXE ファイル
- その後、ステーガーは終了します。
- ザ・ランニング 2と EXE (ステージ 1) は DLL (ステージ 2) をロードします
その後、ステージ1のEXEペイロードとステージ2のDLLペイロードは、次の悪意のあるランサムウェアアクションを実行します。
- 回避テクニック
- ディスカバリー
- プロセス操作
- ドライブとファイルの列挙
- ファイルの暗号化
Stager: 初期ペイロード実行ファイル (EXE)
攻撃は、最初のペイロード、つまりステージャーが被害者のマシンに配信されるところから始まります。多くの場合、これはフィッシングなどのソーシャルエンジニアリング手法によるものです。最初のペイロードが配信されて実行されると、悪意のある命令の実行が開始されます。
回避
まず、アクションを実行せずに指定された時間待機します。これは、仮想マシンの脅威分析よりも長持ちするように設計された回避手法です。その後、インターネットからメモ帳アプリなどのよく知られた実行ファイルがダウンロードされます。これはおとりであり、検出されないようにするためのもう一つの回避策です。
他の手法としては、脅威分析に使用されるサンドボックス仮想マシンとは対照的に、マウスクリックをチェックしたり、コンピューターシステムの通常の使用に関連するファイルの証拠をドキュメントディレクトリで確認したりすることが挙げられます。
ダウンローダー、ドロッパー、ローダー
これらの初期回避アクションが実行されると、ステーガー(初期)ペイロードは再び 3 番目のスリープアクションを実行します。指定された時間だけ待ってから、ステージペイロードファイルのダウンロードという次の命令セットを続行します。これらのファイルは、以下に示すように、攻撃者によってリモートでホストされます。
その後、ステージ担当者は「notepadlog0120231224.txt」と「notepadlog0120231513.txt」の 2 つのテキストファイルをダウンロードします。この次のフェーズは、以下の例では赤色のテキストで示されています。
ペイロードファイルのダウンロードリンクは、実際には base64 エンコーディングを使用して難読化されていることに注意してください。これは、の 4 番目の手法です。 第一部 このシリーズの。
初期ペイロードは、base64をその場で元のダウンロードリンクに内部的に変換します。
ダウンロードされた2つのテキストファイルは、実際にはそれぞれ実行ファイル(EXE)とダイナミックリンクライブラリ(DLL)であり、テキストファイルに偽装されています。これらは、この多段階ランサムウェア攻撃例のステージ 1 とステージ 2 のペイロードです。ダウンロードが成功すると、これらのファイルの名前は元のタイプに変更されます。
その後、Stagerペイロードはステージ1の実行可能なペイロードを起動して、実際のランサムウェア攻撃を開始します。これで Stager は目的を果たし、ステージ 1 のペイロードがメモリに読み込まれて実行が開始されると終了します。そのため、の最初の手法で説明したように 第一部 このシリーズのうち、この初期段階のペイロードはステージ 1 EXE およびステージ 2 DLL ペイロードのダウンローダとドロッパー、ステージ 1 ペイロード専用のローダです。DLL ペイロードは、現在実行中のステージ 1 EXE ペイロードによってステージ 2 ペイロードとしてロードされるため、多段階ペイロード攻撃が可能になります。
ステージ 1 実行ファイル (EXE)
実行がステージ 1 の実行ファイルに渡されると、次に示すように、最初に指定された時間だけスリープ状態になります。
その後、Stagerペイロードファイルが削除されます。」payload_initial_stager.exe証拠を削除する手段として」をファイルシステムから取得する。以下の例では、ファイルは削除され、ディレクトリにはもうありません。
これで、ステージ 1 のペイロードが一連のアクションを実行して残りの攻撃を継続する準備が整いました。
ディスカバリー
次に、感染したシステムに対していくつかの検出手法を実行します。これらの発見手法により、脅威アクターは感染したシステムについてもう少し詳しく知ることができます。検出は、攻撃を全面的に成功させるための運用上のセキュリティに関する重要な考慮事項を脅威オペレーターが判断するのに役立ちます。この例では、ステージ 1 ペイロードがプロセスリストチェックを実行します。対象となる可能性のあるプロセスには、エンドポイントの検出と応答 (EDR)、アンチウイルス (AV)、または仮想マシンのプロセスなどがあります。これらは、ペイロードが検出される確率を理解するのに役立ちます。
検出情報の結果に基づいて、脅威アクターは運用上のセキュリティに関する重要な決定を下すことができます。たとえば、既知の EDR プロセスがシステム上で見つかった場合や、ペイロードが仮想マシンのプロセスを検出した場合、検出されないようにペイロードを終了するように指示できます。
あるいは、脅威アクターは追加の回避手法を使用してEDRを回避したり、他の手段を使用してEDRプロセスを完全に終了させようとしたりすることもできます。
ディスカバリーは、侵害されたシステムの価値を判断するのにも役立ちます。たとえば、それが本番環境のデータベースサーバーなのか、それとも貴重な顧客データを含む支払いシステムなのか。システムが企業にとって重要であればあるほど、身代金が支払われる可能性も高くなります。
プロセス操作:リビング・オフ・ザ・ランド (LoTL) バイナリ
もう 1 つの有用な情報は、オペレーティングシステム、言語ロケール、システムにインストールされている、またはインストールされていないホットフィックスやアップデートなどのシステム関連情報です。この種の情報は、脆弱性の悪用などのさらなる攻撃を計画するのに役立ちます。
EDR プロセスが見つからなかったとしても、脅威アクターは自信を持って他のプロセスに対処できる可能性があるため、ペイロードは継続します。そのため、プロセス情報を確認した後、ステージ 1 の実行可能なペイロードは Living Off-the-Land の手法を使用して、次の例のように別の Windows コマンドプロンプトを起動します。
コマンドプロンプトが起動すると、ペイロードはいくつかの Windows コマンドをペイロードに渡して実行します。このコマンドは、システムタイプ、プロセッサ情報、稼働時間、ホットフィックスなどのシステム情報を生成します。次の例では、出力のスナップショットが赤色のテキストで示されています。
ステージ 2 ダイナミックリンクライブラリ (DLL)
前の記事で説明したように、DLL ファイルには単独では実行できないコンピューターコードが含まれています。そのため、この例では、ステージ 1 の EXE はステージ 2 DLL のコードを使用して残りの攻撃サイクルを終了します。
ステージ 1 EXE ロードステージ 2 DLL ペイロード
ステージ 1 の EXE ペイロードがアクションを完了すると、ステージ 2 の DLL ペイロードのロードに進みます。DLL ペイロードには、攻撃の最終段階で使用されるコードが含まれています。このコードでは、システム上のドライブを確認し、それらのドライブ上の選択したファイルを暗号化します。
DLL コードはまずドライブチェックを実行して感染したシステム上のドライブを見つけ、各ドライブに関する有用な情報を一覧表示します。上の表示から特に注目されるのは、システム上のアクセス可能なドライブとアクセスできないドライブに関する情報です。これにより、適切なドライブ上のファイルを暗号化対象として指定し、読み取り専用のドライブやアクセスできないドライブで操作を試みることによるエラーを防ぐことができます。
暗号化
これで、身代金の暗号化を行う準備が整いました。ステージ 2 DLL の暗号化コードは、まずディレクトリ内のテキストファイルのリストを確認します。これは、この最後のデモではテキストファイルのみを暗号化するためです。その後、ペイロードには見つかったすべてのテキストファイルが表示されます。
その後、検出されたファイルはペイロードによって暗号化されます。ファイル拡張子も」に変更されます。. 暗号化済み」 暗号化されたテキストファイルを表示します。
以下では、テキストファイルが置かれているディレクトリの変更前と変更後の画像も表示され、暗号化後の変更が示されています。
最後に、身代金要求の注意事項があります。これは通常、ファイルが暗号化されていることをユーザーに警告します。また、身代金の支払い方法や、ファイルを復号化するための復号鍵の入手方法についても説明します。多くの場合、身代金を支払っても自動的に復号鍵にアクセスできるとは限りません。
この例では、すべての暗号化コードを DLL ファイルに入れ、これがステージ 2 のペイロードになったことに注意してください。これは主に、前の記事で説明したように、DLL は再利用できるライブラリファイルであるためです。たとえば、攻撃者がまったく異なるステージ 1 EXE ペイロードを使用することを選択した場合 (おそらく将来の新しい回避機能の強化のため)、新しい攻撃キャンペーンを完了するためにペイロードコードの暗号化部分を書き直す必要はありません。新しいペイロードを既存のステージ 2 DLL ファイルとペアリングするだけで、新しい EXE に DLL を読み込ませてファイルを暗号化できます。
ランサムウェア対策
最終的に、ランサムウェアは感染、実行、持続という3つの主要なフロンティアを利用することになります。
これらは大きく次のように分類できます。
- ファイルシステム
- レジストリ
- メモリー
- ネットワーク (リモートおよびローカル — 横方向の移動)
したがって、防御側は適切なツールセットの構築を追求し、それらを適切な方法で活用して効果的なセキュリティ緩和を行う必要があります。で パート 3 マルウェアのペイロードとビーコンに関するこれまでのシリーズのうち、「想定侵害とサイバーレジリエンス」の理念に基づいた多層防御の緩和策について、より詳細な説明があります。
この3部構成のシリーズでは、マルウェア、特にランサムウェアが使用するさまざまな戦術や手法がどのようにして生まれるのかを説明しました。これらのさまざまな戦術や手法を理解することで、防御側は既存のサイバーポリシーや防御をより適切に評価し、効果的な対策を講じることができます。
ランサムウェアや侵害から組織を守る方法について詳しく知りたいですか? 今すぐお問い合わせ。