この記事では、連携して動作する 2 つのペイロードを分析します。1 つは Upatre (他のマルウェアをダウンロードする) と呼ばれ、もう 1 つは Dyreza (ユーザーの ID 情報を盗む) と呼ばれます。これまで、私たちは Dyreza のコア コードとそれが使用するテクノロジーを分析してきました。次に、段階的に分析していきます。 Dyrezaとは何ですか?Dyreza の目的は銀行口座とビットコインを盗むことでした。全体のプロセスでは、まず Upatre を通じて Dyreza をダウンロードします。調査によると、現在 Dyreza のダウンロードを提供しているサーバーはすべてルーター (主に AirOS と MicroTik) です。攻撃者は、さまざまな暗号化されたリソース パッケージを含む侵入されたルーターを利用しました。感染したマシンは、Upatre を通じてルーターに保存されている暗号化された悪意のあるコード プログラムをダウンロードし、ユーザーのシステムでそれを復号化して Dyreza トロイの木馬を取得します。 私たちの分析の重要性は、悪意のあるプログラムの Dyreza ファミリーには多くの亜種が存在するものの、それらの主な動作の軌跡には依然として共通点があるということです。それぞれの特徴や共通点を分析することで、より効果的に身を守ることができます。 0×00 サンプル分析----- サンプル: ff3d706015b7b142ee0a8f0ad7ea2911 ボットネット クライアントである Dyreza の実行可能ファイルは、主な悪意のある操作を実行する役割を担っています。 ----- ----- サンプル: 5a0e393031eb2accc914c1c832993d0b – Dyreza DLL (32ビット) 91b62d1380b73baea53a50d02c88a5c6 – Dyreza DLL (64 ビット) ----- 0×01行動分析Dyreza がコンピュータに感染し始めると、急速に広がります。プロセス管理で確認できます。最も直感的な点は、explorer、svchost、taskeng などのプロセスなど、多くの新しいプロセスが作成され、終了することです。この段階では、実行プロセスを混乱させ、セキュリティ担当者の調査と分析を妨害します。 次に、正規表現 [a-zA-Z]{15}.exe を使用して疑似ランダムコードで名前が付けられた 2 つの悪意のあるプログラムファイル (つまり、vfHNLkMCYaxBGFy.exe) を C:\Windows および %APPDATA% ディレクトリにコピーし、タスク スケジューラに新しいタスクを追加して、悪意のあるプログラムのサンプルを 1 分ごとに継続的に実行し、悪意のあるプログラムが継続的に実行されるようにします。 次に、他のプロセス (svchost、エクスプローラーなど) に悪意のあるコードを挿入し、外部の C&C サーバーと通信します。 上記の観察から、VirusTotal では、svchost および explorer プロセスと通信するサービス アドレスがすでに悪意のあるアドレスとしてマークされていることがわかります。主な結果は次のとおりです。 • 141.8.226.14 -> ウイルストータル/141.8.226.14/情報 • 83.241.176.230 -> ウイルストータル/83.241.176.230/情報 • 197.231.198.234 -> ウイルストータル/197.231.198.234/情報/ ウェブブラウザがインストールされると、悪意のあるコードがブラウザプロセスに直接挿入され、不正な外部接続が行われます。このようにして、マルウェアは外部の C&C サーバーとの接続を維持しながら、ユーザー アクティビティを監視し、さまざまな ID 認証情報を盗む機能も実行します。 調査により、Dyreza は取得した情報を C&C サーバーに送信する前に、TEMP というフォルダーに小さなデータベースとして保存することも判明しました。 0×02 コード分析環境試験 1. 実行前検出 - マシン上の CPU 数が 2 未満であることを検出すると、Dyreza は実行されません。このテクノロジは、プログラム自体が仮想マシン環境で実行されていないことを確認するための自己保護に使用されます。というのも、現在の市場や機器構成の状況から、シングルコアCPUを採用することが多い仮想マシンを除き、物理マシンはデュアルコア以上が一般的であり、Dyrezaでもこれを判断基準としているからです。 Dyrezaはプロセス環境ブロック下のスレッド情報ブロック内のFS:[0x30]領域の情報を検出して判断します。悪意のあるプログラムは、CPU の数が 2 より大きい (2 を含む) ことを確認した後にのみ実行を続行します。 2. 実行の開始時に、マルウェアは新しく割り当てられたメモリ ページに追加のフォームを読み込みます。実行中に、モジュール名と関数の暗号化解除が始まります。 3. 実行環境の検出 - LookupPrivilegeValue 関数の SeDebugPrivilege パラメータを使用して、インストールがデバッガーの下にあるかどうかを判断します。戻り値がゼロ以外の場合、悪意のあるプログラムの実行は終了します。 4. 以下の検出方法により効果的な実行が行われます。最初に、初期環境に基づいて、プログラム実行時の実行可能パスやパラメータなどのパスが追跡され、検出されます。最初にインストールされると、自身をコピーし、コピーしたファイルを C:\Windows および %APPDATA% ディレクトリに配置し、コピーしたプログラムを新しいプロセスとしてインストールします。有効なパスと初期パラメータにデプロイされ、検証に合格した場合、次のステップでは、初めてのインストールであるかどうかを確認します。この手順は、特定のグローバル ミューテックスを作成することによって実現されます (名前は、GetComputerName 関数と RtlGetVersion 関数を通じて取得されたコンピューター名とシステム バージョンのハッシュ値です)。 5. この条件が満たされ、ミューテックスがすでに存在する場合は、最も重要なステップに進み、悪意のあるコードを実行します。最初に、暗号化されたデータとキーが実行可能リソース バンドルから読み込まれます。 上記のように、T1RY615NR は暗号化された 32 ビット コード、YS45H26GT は暗号化された 64 ビット コード、UZGN53WMY はキーです。 次のステップは、コードを解凍して取り出すことです。 解凍アルゴリズムも非常にシンプルです。 key_data には値とデータ (key_data 内の値のインデックス リスト) が含まれます。対応するインデックスリストを通じて対応する値を読み取ります。対応するコードは次のとおりです。 デコード(データ、キーデータ): デコード = bytearray() iが範囲(0, len(データ))内にある場合: val_index = データ[i] デコードされた.append(key_data[val_index]) デコードされた戻り値 復号実行コードは次のとおりです。 argparseをインポートする ハッシュライブラリをインポートする Crypto.CipherからAESをインポート BS = 16 パッド = ラムダ s: s + (BS - len(s) % BS) * chr(BS - len(s) % BS) アンパディング = ラムダ s : s[:-ord(s[len(s)-1:])] aes_decrypt(enc, iv, キー)を定義します。 暗号 = AES.new(キー、AES.MODE_CBC、iv) unpad(cipher.decrypt(enc)) を返す 詳細な実行コードについては、dyrezadll_decoder.pyを参照してください。 復号化されたファイルには、インジェクション用のシェルコードと、悪意のあるプログラムの機能を呼び出すための DLL (32/64 ビットと互換性あり) が含まれています。 0×03 コア悪意のあるDLLこの段階で、マルウェアの機能は非常に明確になります。 dll ファイルには難読化情報があまり含まれておらず、明らかな文字列と一般的なインポート テーブルが含まれています。 C&C サーバーとの通信に使用される文字列を確認できます。 32 ビット DLL と 64 ビット DLL はどちらも同様の機能を備えています。両者の間で異なるのは、アーキテクチャに依存する部分と文字列のみです。クライアントはシステムを識別し、その情報を C&C サーバーに送信できます。 DLL の 64 ビット バージョンでの同様のプログラムですが、ハードコードされた文字列では「_32bit」ではなく「_64bit」が使用されます。 同時に、ネットワーク設定がチェックされます(C&Cクライアントとのバックエンド接続を確立できるかどうかの確認と通知 – コマンド:autobackconn) 悪意のあるモジュールをブラウザに挿入してコードを実行します。 次に、盗まれたアカウント情報を送信してみます。 ブラウザの監視に加えて、コンピュータに関する基本情報 (構成、既存のユーザーなど) も収集します。 このマルウェアは、情報を盗み、ユーザーのブラウジング活動を盗聴するだけでなく、システムのシャットダウンなど、さまざまなシェル コマンドを実行するためにシステムを完全に制御しようとします。以下に例をいくつか挙げます。 管理者権限を持つ新しいユーザーを作成してみてください: シャットダウン操作は、コマンド AUTOKILLOS を通じて実行できます。 0×04 C&C検出されないようにするために、このボットネットのサーバーとクライアント間の通信は暗号化され、さまざまな戦略が採用されています。 まず、C&C サーバーのアドレスがハードコードされたプールからランダムに選択されます。アドレス プールは、Dyreza DLL のリソース パック (AES 暗号化アルゴリズムを使用して暗号化) に保存されます。次に、ペイロードを実行すると、それがどのように復号化されるかがわかります。 以上が今回の分析と研究です。特定の Dyreza コードは dyreza で取得できます。 |
<<: スマートスクエア「P2P Taobao」開発チームとの対話
>>: オーバーストックのブロックチェーンプロジェクトは300万ドル以上を費やした
ビットコインの取引価格は売りによって下落しているが、まだ新たな安値には達していない。買い手は270ド...
テンセントテクノロジーニュース、7月23日、海外メディアの報道によると、米国現地時間の水曜日、アップ...
Cointelegraphによると、eToro取引プラットフォームのアメリカ人ユーザーはアルトコイン...
bitcoinstによると、ブロックチェーンと暗号通貨の企業DMGは最近、マイニング事業の拡大のため...
Digital Currency Group (DCG) は、世界中の 19 の主要なビットコイン取...
ロイア・マフブーブ氏はアフガニスタン初の女性テクノロジーCEOであり、タイム誌によれば世界で最も影響...
最近は市場で大きなニュースはなく、全体的なボラティリティは大きくありません。サポートとレジスタンスの...
Baozou 解説: ブロックチェーン技術は幅広い分野に関係します。大きな可能性を秘めているものの、...
BlockBeatsによると、海外のデジタル通貨取引プラットフォームOKEx(「OKEx」)は最近、...
チップはますます緩くなってきており、短期的には調整が行われる可能性がある。 1. 市場動向<b...
原題: 「暗号通貨界」における6億ドルの衝撃的な盗難事件の続報: ハッカーが返金を開始 出典: ウォ...
最近、BityardはオーストラリアのAUSTRAC(オーストラリア取引報告分析センター)が発行する...
マスク氏はXを運営するのと同じ方法でホワイトハウスを運営しようとしている。周知のとおり、トランプ大統...
今年初め、英国のデービッド・キャメロン首相は、2020年までに英国をフィンテックの世界的リーダーにす...
記者:リディア現在、年末の最終商品となるZMCのICOプロジェクトが進行中です!本日、5,300 万...