Ursaとしても知られるMispaduは、メキシコ、コロンビア、アルゼンチン、チリ、ポルトガル、スペインなど、スペイン語およびポルトガル語圏の銀行をターゲットにしたリモート・オーバーレイ金融マルウェアです。簡単に言うと、リモート・オーバーレイ・マルウェアとは、詐欺師が被害者のライブ画面を見ている間に、マウスやキーボード・デバイスを操作して被害者のシステムを制御するように設計された悪意のあるプログラムです。
Mispaduは2019年に初めて登場し、2022年に再登場しました。一方、同種のMekotioや Grandoreiro と同様に、MispaduはDelphiプログラミング言語で書かれています。それとは異なり、中米、ラテンアメリカ、ヨーロッパのいくつかの国または地域で新しいキャンペーンが見られるようなった最近まで、現場ではあまり一般的ではありませんでした。Mekotioの詳細については、前回のブログ記事「 Mekotio Banking Trojan Targeting Latin America」をご覧ください。
Mispaduが再開した際には、コマンド・アンド・コントロール(C2C)通信エンコーディングなど、オペレーションにいくつかの変更が加えられました。これについては、こちらの記事で説明します。
リモート・オーバーレイとして、マルウェアのオペレーターとの通信は攻撃を成功させるために極めて重要です。この通信は通常、詐欺師から被害者のシステム上で実行されている悪意のあるプログラムに送信される一連の運用コマンドです。
銀行口座を介して被害者のお金を盗むなど、多くのオーバーレイ攻撃は、詐欺師が被害者のライブセッションを観察、制御している間に実行されます。
ユーザーが悪意のあるプログラムを実行するとすぐに詐欺師との通信が行われると直感的に思えるかもしれませんが、実際はそうでありません。このような通信は、ウイルス対策プログラムからのアラートをトリガーする可能性があるため、詐欺師にとって重大なリスクをもたらします。
他のリモート・オーバーレイを伴うシナリオやほとんどのケースでは、ユーザーがマルウェアのターゲットの1つ、特にスペイン語またはポルトガル語圏の国の銀行インターネット・サイトにアクセスした後にのみ通信が開始されます。
ユーザーがマルウェアのターゲット・リストの1つにアクセスすると、C2Cサーバーとの通信が確立されます。これは、このような通信に最も便利な方法を提供するWIN32ソケットAPIを使用して実現されます。
ソケットを設定する前に、マルウェアは宛先ポートやアドレスなどのソケットの情報を入力します。
ソケットが接続されると、「GFHHVG..」というメッセージがC2Cサーバーに送信されます。
ソケットが接続され、ビーコンがC2Cサーバーに送信された後、マルウェアはC2Cサーバーからの入力を待ちます。受信したメッセージは、受信したメッセージの順序に応じて、次の「読み取り」関数のいずれかによって処理されます。
これらの関数は互いに類似しており、その目的はC2Cから受信したメッセージを解析することです。
最初の関数「TwYHJk1_wC51Read」を見てみましょう。
マルウェアはC2Cからメッセージを受信すると、メッセージをデコードしてコマンドを表す文字列と比較することでメッセージを解析します。スニペットに見られる最初の「read」関数では、比較する最初のコマンドは「<|Socket Main|>」です。他の「読み取り」関数では、比較されるコマンドが異なります。
アドレス0x7364A8の関数に注意してください。
この関数は、メッセージ全体をデコードする役割を担っています。文字列を受信し、いくつかの数学的操作を行った後、デコードされた文字列を返します。
その関数の内部を見てそのアルゴリズムを発見してみましょう
通信のエンコードは、詐欺師の意図と運用方法を隠蔽するのに役立ちます。これは、既存の通信アルゴリズムまたはカスタムの通信アルゴリズムを使用して実現できます。前述したように、「GFHHV..」というメッセージは暗号化されたメッセージであるように見受けられます。その一見ランダムで意味をなさない性質から、暗号化が施されている可能性が疑われます。
C2C通信デコード関数を調べると、デコード・メカニズムの実装は簡単で、C2Cサーバーから受信したメッセージをデコードするという目的を果たすことがわかります。この同じメカニズムは、C2Cサーバーに送信されるメッセージをエンコードするためにも使用されます。
上記の例を解読してみましょう「GFHHVGCGEFUGAFOFUGCFMHVJ@」
デコード・プロセスを次のステップに分けてみましょう。
ステップ1:最初の文字を取る(「G」gfhhvgcgefugafugcfmfxhvfj@)を取り出し、ASCIIに変換すします。値は71です。この値から65(「A」のASCII値)を差し引きます。
成果は6です。6は、デコード・プロセス中の繰り返し値であり、後で戻ることができます。
ステップ2:次の文字(「F」GFHHVGCGEFUGAFOFUGCFMFXHVFJ@)を取得し、ASCIIに変換してください。値は70です。引き数65(「A」のASCII値)。
成果は5で、これを変数Xと仮定します。
アセンブリー・コードの2行は、次の方程式で表すことができます。(X + 4X)+(X + 4X)*4 => 25X = 25*5 = 125
ステップ3:次の文字(「H」)を選択します(「H」GFHHVGCGEFUGAFOGCFMHVFJ)、ASCII値:72。
「A」ASCII値:成果7を抽出します。その値に前のステップの成果を追加します。125 + 7 = 132。
その値から、2つの値(定数66(「B」)とステップ1の値(132 – 66 – 6 = 60)を差し引きます。ASCIIでは「<」。これはデコードされた文字列の最初の文字です。
ステップ4:次の文字のペア(「H」と「V」GFHHVG..)でステップ2 + ステップ3を繰り返し、毎回次のデコード文字を追加することでデコードされた文字列を構築します。
ステップ5: 「@」は文字列、GFHHVGCGEFUGAFOFUGCFMFXHVFJ@の末尾を表します
これで、エンコードされたテキストをデコードした結果を出力できます。<|PRINCIPAL|>
これは、マルウェアからC2Cサーバーに送信された初期の通信ビーコンを表します。
このエンコードとデコードの方法論の結果の1つは、異なるエンコードされた文字が同じデコードされた文字を生成できることです。
たとえば、文字「GGC」と「AFV」はどちらも同じ文字Pにマッピングされます。
もう1つの例として、より複雑なシナリオをご紹介します。文字列について話すと、「GFHHVGCGEFUGAFOFUGCFMHVFJ」と「AFBHPFVFOFTFIFOFVFGFRHPFD」の両方が同じ平文にデコードされます。
このようなエンコードおよびデコード・アルゴリズムのメリットの1つは、ネットワークが監視されている場合、デコード・アルゴリズムを取得せずにマルウェアのオペレーションを理解することがほぼ不可能であることです。これは、各コマンドで利用できる多種多様なエンコード・オプションにより、マルウェアによって実行される同じオペレーションがネットワーク・モニターには毎回異なって表示されるためです。
コマンドがデコードされると、サンプルの進むべき道は非常に簡単です。各コマンドには独自の操作機能があり、詐欺師は被害者のシステム上で画面の監視、マウスやキーボードの制御などを含むさまざまなタスクを実行できます。
ここでは、詐欺師が被害者のシステム上でさまざまなタスクを実行できるようにする、マルウェアに実装されているコマンドについて詳しく説明します。
通信を確立すると、マルウェアは「<|PRINCIPAL|>」で示されるビーコンをC2Cサーバーに送信し、ネットワークの確立をシグナルします。
この最初のステップが完了すると、詐欺師は被害者のシステムを広範囲に制御できるようになり、さまざまなタスクを実行できるようになります。重要なコマンドの1つは、貴重なシステム情報の抽出です。これは、被害者のシステムに関する基本的な詳細をエクスポートするために使用される「<|Info|>」コマンドによって容易に実行されます。これらの詳細には、Windowsのバージョン、地理的な位置、現在アクティブなブラウザー、および現在表示されているwebページが含まれます。以下は、マルウェアからこのコマンドに対する応答例であり、C2Cサーバーに送り返されています。
"<|Info|>Win 10<|>Bank x<|>Chrome<|>4:04:12 PM<<"
この応答は、被害者のシステムがWindows 10を実行し、Chromeを使用し、現在、午後4時04分12秒にBank xのwebページを表示していることを示しています。
この情報が盗まれる理由はいくつかあります。被害者のデバイスのオペレーティング・システムを知ることで、追加の悪意のあるツールを使用してシステムを侵害するプロセスが容易になります。各ツールは異なるシステム・バージョンをサポートしている可能性があるため、被害者のターゲットとなる銀行サイトがわかると、詐欺師は攻撃を成功させることができます。
リモート・オーバーレイ攻撃は、現在、ユーザーの銀行口座に対する最も一般的な脅威の1つであり、銀行とその顧客の両方に重大なリスクをもたらしています。これらの攻撃のクリティカルな側面には、マルウェアとオペレーターとのコミュニケーションが含まれており、これは運用手法に不可欠です。このような攻撃を実行するには、直接的かつライブなコミュニケーションを確立することが不可欠です。このような通信をエンコードすることで、マルウェアは、プロセスを逆転させ、別の防御用レンガを使用することを困難にすることを目的としています。サイバーセキュリティーの専門家であるIBMの主な目的は、不正行為が成功しないように、これらの通信を監視、分析、ブロックすることです。
身を守るために、ユーザーはインストールされているアプリケーションを定期的にレビューし、よく理解していないアプリケーションや疑わしいアプリケーションを迅速に削除する必要があります。
さらに、予期せぬログインの試みなどの異常なアクティビティーがないかEメール・アカウントを監視し、不正な取引や未知のアクションがないか、暗号通貨ウォレットを注意深く監視することが不可欠です。積極的かつ慎重にあることは、この進化する攻撃パラダイムによってもたらされるリスクを軽減するのに役立ちます。
IBM® Trusteerは、不正行為とマルウェアの検知、ユーザーの認証、オムニチャネルのカスタマー・ジャーニー全体でのIDの信頼の確立に役立ちます。500を超える大手企業が、お客様のデジタル・ジャーニーを保護し、ビジネスの成長をサポートするためにIBM® Trusteerを活用しています。