ビットコイン泥棒 Dyreza のコアコードと技術分析

ビットコイン泥棒 Dyreza のコアコードと技術分析

この記事では、連携して動作する 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万ドル以上を費やした

推薦する

ビットコイン恐喝に新たな手口、キヤノンSLRがハッカーにハッキングされたが、ホワイトハットが脆弱性を利用して写真を換金

これまで、麻薬取引、マネーロンダリング、そしてまだ一般に知られていない犯罪にビットコインが使用されて...

湖南省小児病院はビットコインによる脅迫を受けたと報じられ、次のように答えた。「分からない」

ビアニュースは2月24日、ネットユーザーによると、今朝7時頃、湖南省小児病院のシステム全体が麻痺し、...

未成年者はメタバース上のポルノ素材にアクセスできる

BBCニュースの調査によると、子供たちは仮想世界で性的なコンテンツにアクセスし、オンラインでの性的誘...

洪水の季節が近づいているが、中国の鉱山会社は規制と電力不足により大きな圧力に直面することになるだろう

ウー・サイード著者 |コリン・ウーこの号の編集者 |コリン・ウーネイチャー誌の内容の影響で、中国各地...

ビットコイン価格の高騰により、ビットコイン・アンリミテッド・ネットワークのサポートが40%を超える

Golden Finance News -ビットコインの価格が史上最高値に急騰するにつれ、ビットコイ...

2020年に米国規制当局が仮想通貨分野で起こした7つの主要な事件

出典: Cointelegraph Chineseキリル・ブリャノフによるオリジナル記事2020年に...

コインゾーントレンド: 今週のビッグデータに基づくビットコインの価格動向 (2017-05-22)

長期・短期の駆け引きは激しさを増し、中長期の上昇傾向は変わらない1. 市場動向<br/>...

ビットメインとアントマイナーが中国・アラブ博覧会に参加

2015 年 9 月 8 日: 2015中国—阿拉伯国家博览会の開催まであと 1 週間を切った現在...

USDT の隠れた一面: 麻薬密売、オンラインギャンブル、マネーロンダリング

最近、ミャンマー北部を舞台にした「詐欺防止プロパガンダ映画」『All or Nothing』が公開さ...

ファイルコインの証明システム

Filecoin がユニークなのは、IPFS ネットワークの唯一のインセンティブ レイヤーであり、最...

ロシア開発銀行副総裁:ビットコインは世界で唯一成功したブロックチェーン

過去数か月間、ブロックチェーン技術と暗号通貨ソリューションに対するロシアの政治家や銀行家の見解は劇的...

ビットコインが人気な理由

過去15日間で、ビットコインの価値は急上昇しました。 3年前の盲目的な市場動向とは異なり、今回の値上...

冬が来る: ビットコインマイニングで発生する熱を利用する

ビットコインマイニング愛好家にとって、今日のビットコインマイニングは数年前とは異なります。最初は、C...

ビットコインソースコード研究ノート(I)

序文ブロックチェーンの基盤となるコアテクノロジーを理解せずにブロックチェーン開発に取り組むだけでは不...

2024年第1四半期のビットコインレポート

まとめBTC価格は前月比69%上昇して71,310ドルとなり、新たな半減期サイクルが近づく4月に史上...