本記事はキヤノンマーケティングジャパンが提供する「マルウェア情報局」に掲載された「Windowsの「デフォルト印刷モニター」の名前を利用したマルウェア「DePriMon」を検出」を再編集したものです。DePriMonは、いくつかの攻撃段階があり、これまでに公開されたことのない新しい手法を使用しています。このマルウェアは、常駐するために新しいローカルポートモニターを登録します。AT&CKナレッジベースでは「ポートモニター」のカテゴリに分類されます。Monitor)」の名前を使用しているため、ESETはこのマルウェアをDePriMonと命名しました。複雑な仕組みとモジュールアーキテクチャが採用されていることから、攻撃のための一種のフレームワークと考えることができます。ESETが収集している情報から、DePriMonは少なくとも2017年3月から活動を続けており、中央ヨーロッパに本拠を置く民間企業および中東地域の数十台のコンピューターで検出されました。C&Cサーバーとして使用されるドメイン名の一部にはアラビア語が含まれており、特定の地域を狙った攻撃であることがわかります。DePriMonは、標的がいくつかの地域に分散している以外に、非常に精緻に作成されたマルウェアであり、暗号化が多くかつ適切に使用されている点でも注目に値します。この脅威からユーザーを保護するため、ESETではダウンローダーに焦点を当てて、この新しく検出されたマルウェアを徹底的に分析しました。ESETは最初の攻撃段階についての情報を入手していないため、最初の配信方法とセキュリティ侵害方法を把握していません。この攻撃で使用される最終的なペイロードの種類も、今後明らかにするべき課題として残っています。同じコンピューターでDePriMonは、同時期にColoredLambertマルウェアと一緒に検出されていたことには注意が必要です。7の漏洩に関連しています。シマンテックとカスペルスキーのアナリストは、2017年4月にこの攻撃に関する分析を公開しています。第2段階DePriMonの2番目と3番目の攻撃段階は、最初の攻撃段階で標的ユーザーのディスクに配信されて準備されます。2番目の段階ではマルウェア自身をインストールし、暗号化およびハードコーディングされたパスを使用して3番目の攻撃をロードします。最初の攻撃段階を起点にして後続の攻撃を実行していることが考えられます。このマルウェアのインストール方法は独特です。ATT&Cの攻撃分類では、常駐化と権限昇格の両方の手法に属する「ポートモニター」と説明されています。DePriMonは、これまでに公開されたことのない手法を使用したマルウェアの最初の例であるとESETは考えています。2番目の攻撃段階では、次のレジストリキーと値を作成して、3番目の攻撃段階のDLLをポートモニターとして登録します。%PathToThirdStageDLL%このレジストリキーを作成するには、管理者権限が必要です。システムの起動時に、登録されたDLLは、SYSTEM権限でspoolsv.exeによってロードされますが、ここでは独自の手法が取り入れられており、攻撃者にとって非常に効果的になっています。2番目の段階では、%system32%フォルダに3番目の攻撃段階のDLLファイルと同じ名前で「.dll」拡張子のないファイルがあるかどうかを定期的にチェックします。このファイルはアンインストールを開始するために使用されます。DePriMonがこのファイルを検出すると、バイナリを上書きしてから削除することにより、このファイルとそのコンポーネントの両方を安全な方法で削除します。第3段階DePriMonのオペレーターからメインペイロードをダウンロードする第3の段階でも、いくつかの興味深い手法が使用されています。C&Cとの通信では、WinHTTPやWinInetなどの一般的なAPIではなく、MicrosoftのSSL/TLS実装であるセキュアチャネルを使用します。この構成は非常に複雑であり、マルウェアによる処理方法も複雑です。このマルウェアの作成者は、暗号化に膨大な努力を費やしており、DePriMonマルウェアの分析を困難にしています。C&Cとの通信DePriMonは、TLSを介して安全に通信しますが、マルウェアで多く見られるような上位レベルでの通信ではありません。SSPとのネゴシエーションで認証されたセキュリティサポートプロバイダーインターフェイス(SSPI)セッションを開始して続行できます。その後、DePriMonはSchannelを使用します。SSPIは、構成ファイル内の特定のフラグに応じて、使用されることも使用されない場合もあります。SSPIはマシンのローカルプロキシ設定を利用できます。この実装は、Microsoftが提供しているこのサンプルに似ています。Research&Developmentのこのサンプルに似ています。このサンプルには、認証情報の作成、クライアントハンドシェイクの実行、サーバー証明書の検証が含まれます。通信が確立されると、第3の攻撃段階では、毎回メッセージが手動で暗号化および復号化されます。構成DePriMonの第3の攻撃段階の構成データには27個の要素が含まれていますが、これはダウンローダーとしては非常に多い数字です。この構成データはAES-256で暗号化され、バイナリに埋め込まれます。最初の実行で、DePriMonの第3段階(ダウンローダー)は、構成データをキー2(IoCのセクションを参照)で復号化し、キー3で暗号化し、暗号化された構成ファイルを一時フォルダに保存します。構成ファイルのファイル名は、次に説明するプロセスで作成されます。36の数値に変換されますが、独自の英数字「abc...xyz012...789」を使用してエンコードされます。構成ファイルの拡張子は「.tmp」です。%temp%\rb1us0wm99sslpa1vx.tmp.第2の攻撃段階を実行するときに、ダウンローダーは自分自身からではなく構成ファイルから構成データを読み取ります。この方法では、攻撃者は構成を簡単に更新できます。安全を確保する設計がされており、構成は暗号化されずにメモリに残ることはありません。ダウンローダーは、構成ファイルの要素を使用する必要がある場合には毎回、構成ファイルを復号化し、その要素を取得して、ファイルを再度暗号化します。この設計は、マルウェアの主要な機能であるC&Cとの通信をメモリフォレンジックから保護します。Decompilerで確認されたコードの一部。DePriMonマルウェアは、構成ファイルを復号化し、いくつかの要素をローカル変数に保存し、再度暗号化している構成ファイルの重要な要素は以下があります。・ユーザーネーム用の2つのエントリとパスワード用の2つの要素(プロキシサーバーがマシンに設定されている場合)。これは、認証情報が設定されているプロキシを介して攻撃する準備をしていることを示唆してします。これらの詳細情報を盗む能は確認されていないため、攻撃の他の段階で実行されていると考えられます。・3つのC&Cサーバーの3つのエントリ。それぞれが異なるケースに使用されています。・3つのポートの3つのエントリ。それぞれが異なるケースに使用されています。・ダウンローダーが、適切なプロキシまたはソケットのみを使用してセキュリティサポートプロバイダーインターフェイス(SSPI)を介して接続を開始するかを示すフラグ(後述)。マルウェアの検体から抽出されたC&Cサーバーに加えて、このマルウェアに関連する可能性のある別のドメインとサーバーについてもESETは特定しています。暗号化このマルウェアは、異なる目的のために3つの異なる256ビットキーでAES暗号化アルゴリズムを使用します(これらのキーはIoCセクションに記載されています)。キー1:マルウェア内のさまざまな機密性の高い文字列を復号するためのキー。キー2:メモリ内の構成データを暗号化および復号化するキー(前述)。このキーは、3番目のキーの生成にも使用されます。キー3:ディスクの構成ファイルを暗号化および復号化するキー。このキーはハードコーディングされていませんが、32バイトの配列を使用して導出され、暗号化されます。配列は以下のように生成されます。最初の4バイトはシステムドライブのボリュームシリアル番号で、残りの28バイトには値5〜32が含まれます。この配列はキー2で暗号化され、キー3になります。結論DePriMonは非常に精緻に作成されたダウンローダーであり、この開発者はアーキテクチャの設定と最重要コンポーネントの作成に膨大な労力を費やしています。DePriMonはメモリにダウンロードされ、反射型のDLL読み込み手法を使用して、DLLを直接実行します。ディスクに保存されることがなく、驚くほど大規模な構成ファイルがあり、いくつかの興味深い要素が含まれています。暗号化が適切に実装されており、C&C通信を効果的に保護しています。DePriMonは、ペイロードをダウンロードして実行し、システムとそのユーザーに関する基本的な情報を収集するように設計された、強力で柔軟に利用できる常駐型のツールです。DePriMonは、常駐化するためにコンポーネントの1つをポートモニターとしてインストールします。DePriMonは、一般的なシステムDLLのような名前でコンポーネントをSytem32フォルダに配置します。DePriMonは、ファイルをランダムなデータで上書きしてから削除することにより、安全に自身を削除します。レジストリエントリを追加し、常駐化します。DePriMonは、マシンのプロキシ設定に関する情報を取得するためのユーザートークンを取得します。DePriMonは、AES-256を使用して文字列と構成ファイルの一部を暗号化します。DePriMonは、システムに登録されているサービスを一覧表示できます。DePriMonは、システムで実行中のプロセスを一覧表示できます。DePriMonは、システムに関するさまざまな情報を収集します。DePriMonはシステムの時刻を定期的にチェックし、それに基づいてアンインストールなどのさまざまなアクションを実行します。DePriMonは、C&C通信にポート443および8080を使用します。DePriMonは、C&C通信にHTTPを使用します。DePriMonはローカルプロキシ設定を使用して、通信が疑われないようにします。スマホお気に入り一覧マイページ。