はじめに
日々進化する脅威は、その悪意のある性質を隠蔽し、セキュリティ・ソリューションを回避するために、複雑なレイヤーを追加しています。今日、脅威の主体は、展開の最終段階まで悪意のある挙動を示さず、レーダーをかいくぐることができる多層構造のマルウェアを提供します。
多層型マルウェアには複数の段階があり、難読化技術や暗号化技術、さらには被害者のシステムに応じてマルウェアの動作や機能が進化する適応型戦術も採用されています。このような脅威を効果的に検知・対処するには、マルウェアの挙動を包括的に理解する必要があり、それには多大な時間とリソースが必要となります。
多層的な攻撃に対処するため、OPSWAT MetaDefender Sandbox は、独自のエミュレーションベースの適応型脅威分析テクノロジーと高度な検出およびthreat intelligence 機能を組み合わせた総合的なアプローチに従っている。
静的解析と動的解析を組み合わせて、巧妙なマルウェアを撃退する
MetaDefender Sandbox エンジンは、脅威検出の最前線に立ち、静的分析と動的分析技術をシームレスに組み合わせて、最も巧妙な攻撃を阻止します。
- Deep Structure Analysis(深層構造分析):50以上のサポートされているファイルタイプに対する早期検出機能を提供する初期静的ファイル評価で、さらなる分析のために埋め込まれたアクティブコンテンツを抽出します。
- 動的コンテンツ分析:電子メール、ウェブページ、文書のコンテンツとコンテキストを検査・分析し、疑わしいURLを含む隠れた悪意のある行為を暴きます。これは、フィッシング攻撃に対する防御策として特に有効です。
- 適応型脅威分析:特定の環境をターゲットとして設計されたマルウェアであっても、その実行フローの制御を維持するエミュレーションベースの動的分析。Officeファイル、Portable Executable、一般的なスクリプトをサポートします。
すべてのモジュールが相互に流れ込み、分析と情報のシームレスな交換を保証していることに注意してください。
これらのテクノロジーはすべて、攻撃のさまざまなレイヤーに対する比類のない洞察を提供し、最新のマルウェアを正確に評価するために標的環境にリアルタイムで適応し、MetaDefender Cloud、最新の脅威インテリジェンス、および関連する戦術、技術、および手順(TTP)に対して検証された信頼できる侵害指標(IOC)のセットを生成するという重要な役割を果たしています。
MetaDefenderのパワーを解き放つAdvanced Threat Detection
以下のユースケースは、脅威検知エンジンの複数のモジュールが連携して、高度なマルウェアシミュレータであるCobalt Strike(CS)をターゲットとし、非常に価値の高いインサイトを抽出する方法を例示しています。
CSは、標的型攻撃を実行し、高度な脅威行為者の侵入後の行動をエミュレートするために設計された商用リモートアクセスツールです。CSのクラックバージョンは、脅威行為者によって広く使用されており、ディスクに触れることなく被害ホスト上にインメモリエージェント(ビーコン)を展開することができます。CSビーコンは、複数のプロトコルを介した共通および制御(C2)通信をサポートし、特権の昇格、クレデンシャルのダンプ、横移動、データの流出などの豊富な機能を備えています。
MetaDefender Sandbox は、このような新しい配信方法に適応し、高度に難読化・暗号化されたマルウェアを検出することで、その機能を深く理解し、価値の高い IOC と TTP を抽出します。
サンプル概要
分析対象のサンプルは、Pyinstallerを使用してコンパイルされたポータブル実行可能ファイル(PE)であり、悪意のあるホストからCobalt StrikeのステージャPEを密かにダウンロードします。そして、ステージャPEは埋め込まれたCSビーコンを解読してメモリに注入し、C2との通信を開始します。
レイヤ 1: Pyinstaller でコンパイルされた PE
PyInstallerは、Pythonアプリケーションとそのすべての依存関係を単一のパッケージにバンドルし、ユーザーがPythonインタプリタやモジュールをインストールすることなくアプリケーションを実行できるようにします。
このファイルの静的解析では、悪意のある動作に焦点を当てるのではなく、多くの無用なノイズをもたらすだけです。MetaDefender Sandbox オリジナルのpythonコードで使用されているコンパイル済みバイトコード(pyc)ファイルと埋め込まれたアーティファクトを解凍して抽出します。その後、pycファイルを逆コンパイルして元のpythonコードを取得し、脅威インジケータを検出して価値の高いIOCを抽出します。
Pyinstaller は、最も一般的なファイルアーカイバであるMetaDefender Sandbox でもサポートされていない、特別な解凍プロセスを必要とします。 では、Nuitka や Py2exe などの一般的な python コンパイラもサポートする、組み込みの python 解凍機能があります。
この新機能は、この最初のパッキング・レイヤーをバイパスし、解凍されたファイルの分析を継続するのに役立つ。
レイヤー2:Pythonコードを逆コンパイルし、分析用に悪意のあるアーティファクトをダウンロードする。
pythonファイルを逆コンパイルすると、このマルウェアが悪意のあるURLからPEファイル(CS stager)をダウンロードすることがわかる。その後、CS stagerを実行し、ディスクから削除して潜在的なIOCを排除する。また、偽のWindowsメッセージがポップアップ表示され、エラーが発生したかのようにユーザーを欺きます。
MetaDefender Sandbox は悪意のあるURLを抽出し、さらに分析するためにステージャーをダウンロードする。
レイヤー3:コバルト・ストライクのコンフィグ・デコーディング
ダウンロードされたPE(cs.exe)は、2つ目のPEファイルを復号化するステージャであり、CSビーコンを復号化してメモリに注入する。MetaDefender Sandbox は、CS ビーコンに到達するまでその実行フローを静的に追跡し、コンフィギュレーションを抽出することができます。
CSステージャは、.dataセクションにXOR暗号化されたPEファイルを隠す。この 2 番目の PE は DLL ファイルに対応し、よく知られた DLL ヘッダ(MZARUH)によって識別可能である。つまり、最初のPEは、リフレクトローダDLLのメモリへの割り当てとコピー、インポート関数のアドレスの解析と解決、DLLのエントリポイントの実行を担当する。最後に、リフレクティブ・ローダはメモリ内で CS ビーコンを復号して実行する。
CS ビーコン構成は、1 バイトの XOR で暗号化されたリフ レクティブ・ローダー DLL に格納される。CS コンフィグは常にバイト・パターン "00 01 00 01 00 02" で始まることに注意してください。
結論
このCSの技術的分析は、現在のサイバー脅威の複雑さと深さを浮き彫りにし、MetaDefender Sandbox の強力で高度な脅威エンジンが、多層攻撃を驚くべきスピードで効果的に分析することを示しています。
Pythonの解凍・展開機能は、悪意のあるプログラムの本質を明らかにするために不可欠な、より深い分析を可能にします。私たちは、解凍がCSコンフィギュレーションの検出と抽出につながる追加アクションをトリガーしたことを見てきました。
マルウェア構成を抽出することで、常に貴重なIOCが明らかになり、正確なマルウェア識別が可能になります。当社のマルウェアアナリストの専門チームは、サポートするマルウェアファミリーの範囲を継続的に拡大することで、包括的なカバレッジを確保し、新たな脅威の迅速な検出を可能にしています。
妥協の指標(IOCs)
パイインストーラがコンパイルしたPE
Sha256:d5a5a87cbc499d39797bcba85232fd1eede2fd81f4d5a1147454324968185926
コバルト・ストライク・ステージャー
Sha256:d8674a668cb51fe0d8dc89740c03e95d1f659fb6cb66ec8c896e3b1af748662f
悪意のあるURL
hxxp[://]43[.]143[.]130[.]124:8000/cs[.]exe
コバルト・ストライクC2 IPアドレス
43[.]143[.]130[.]124