NanoCore RAT マルウェア分析
要約
このニュースは、NanoCore RAT(リモートアクセストロイアン)のマルウェア分析について報告しています。NanoCore RATは、スパイ活動、データ盗難、システム制御などの目的で悪意のある攻撃者に使用されるよく知られたマルウェアです。記事では、ハッシュ値が18B476D37244CB0B435D7B06912E9193のNanoCore RATサンプルを分析し、その動作、難読化手法、難読化解除プロセスを探っています。
詳細分析
主なポイント
- NanoCore RATサンプルの分析
- 難読化手法の特定と難読化解除
- 動的分析によるマルウェアの動作の把握
- IOC(Indicators of Compromise)の特定
社会的影響
- NanoCore RATは、スパイ活動、データ盗難、システム制御などの悪意のある目的で使用されるため、感染された組織やユーザーに深刻な影響を及ぼす可能性がある
- マルウェアの感染は、機密情報の漏洩、システムの乗っ取り、金銭的な被害など、様々な形で組織や個人に被害を与える可能性がある
- NanoCore RATのような高度な機能を持つマルウェアの出現は、サイバーセキュリティ対策の重要性を示している
編集長の意見
NanoCore RATは、その高度な機能と難読化手法により、依然として脅威となっています。マルウェア分析者は、de4dotによる難読化解除やdnSpyによるデバッグなどの手法を活用し、マルウェアの動作を詳細に把握しています。組織は、脅威情報の収集、ネットワークトラフィックの監視、プロアクティブなセキュリティ対策の実施などを通じて、このようなマルウェアの侵入を防ぐための情報として捉えてください。
本日はNanoCore RATについての深掘りをお届けします。
解説
NanoCore RATに関する技術詳細
リモートアクセス型トロイの木馬(RAT)として知られるNanoCore RATのマルウェア分析について説明します。
NanoCoreは、攻撃者がスパイ行為、データ窃盗、システム制御を行うために利用するツールであり、その脅威は依然として存在します。
分析対象のサンプルは、MD5ハッシュ値が18B476D37244CB0B435D7B06912E9193
で、ファイルサイズは203.00KBです。
VirusTotalでの検出スコアは64/72となっており、多くのセキュリティベンダーによって悪意のあるファイルとして認識されていることがわかります。
分析は、静的分析と動的分析の両方のアプローチで行われています。
静的分析では、マルウェアのコードを直接実行せずに解析し、その構造や特性を理解します。
動的分析では、マルウェアを仮想環境で実行し、その動作を観察します。
このマルウェアは、.NET実行可能ファイルであり、Eazfuscatorという難読化ツールを使用していることが判明しました。
分析を困難にするために難読化を使用することは、マルウェアの一般的な特徴です。
この分析では、マルウェアの動作を理解するために、de4dotというツールで難読化を解除し、より読みやすいコードに変換しました。
また、SysInternalsのStringsツールを使って、バイナリから文字列を抽出し、マルウェアの機能を示す手がかりとなる情報を収集しました。
さらに、Wiresharkを使用してネットワークトラフィックを監視し、マルウェアの通信先を特定しました。
NanoCore RATは、そのモジュール性と広範な機能セットにより、継続的な脅威となっています。
この記事では、このマルウェアの主要な機能、永続化手法、C2通信のメカニズム、およびデータ窃盗の機能に焦点を当てて解説します。
NanoCore RATの動作、難読化手法、難読化解除プロセス
-
静的分析:
- 初期検査: Detect It Easy (DIE)を用いて、サンプルが.NET実行可能ファイルであること、そしてEazfuscatorによる難読化が施されていることを特定しました。Eazfuscatorは、コードの可読性を低下させ、分析を困難にするためのツールです。
- 難読化解除: マルウェアのコードを効果的に分析するために、de4dotを使用して実行可能ファイルの難読化を解除しました。de4dotは、クラス名やメソッド名を復元し、コードのロジックを理解するのに役立ちます。
- 文字列分析: SysInternalsのStringsを用いてバイナリから文字列を抽出した結果、以下のような指標が見つかりました:
- “Connecting to {0}:{1}..”
- “/create /f /tn “{0}” /xml “{1}””
- “schtasks.exe”
- “CreateScheduledTask”
- “/run /tn “{0}””
- “RunScheduledTask”
- “Host: {0}” これらの文字列から、マルウェアがWindowsタスクスケジューラを永続化とC2通信に使用することが示唆されます。
-
動的分析:
- 実行フロー分析:
- NanoCoreは、自身を隠しディレクトリにコピーし、レジストリエントリを作成することで永続化を試みます。
- 具体的には、
HKCU\Software\Microsoft\Windows\CurrentVersion\Run
レジストリキーにsaasmon.exe
を追加します。 - また、
C:\Program Files (x86)\SAAS Monitor
にフォルダを作成し、コンポーネントを格納します。 - さらに、
C:\Users\User\AppData\Roaming\81E42A3A-6BA0-4784-B7EC-E653E9E1A8ED
にフォルダを作成し、SAAS Monitor
フォルダとsaasmon.exe
を配置します。
- C2通信:
- NanoCoreはリモートのコマンドアンドコントロール(C2)サーバーに接続し、攻撃者がコマンドを発行できるようにします。
- Wiresharkでの分析の結果、以下の接続を試みることが確認されました:
simpletest.ddns.net
(潜在的なC2ドメイン)8.8.8.8
(Google DNS、接続性チェックに使用される可能性が高い)
- ポート9632を使用して、指定されたIPアドレスと通信します。
- プラグインシステム:
- NanoCoreはモジュール式のプラグインシステムを備えており、攻撃者は追加機能を動的にロードできます。
- 動的分析中に、
SurveillanceEx
プラグインがインストールされていることが確認されました。このプラグインは、スパイ機能を強化するものです。
- データ窃盗:
- キーロギング、スクリーンショット、クリップボードデータのキャプチャを行い、攻撃者に送信します。
- キーログとクリップボードデータは、
C:\Users\User\AppData\Roaming\81E42A3A-6BA0-4784-B7EC-E653E9E1A8ED\logs\users\kbxxxxx.dat
に保存されます。 - 分析では、クリップボードデータがコマンドやアプリケーションに入力したテキストと一緒に保存されていることが確認されました。
- タスクスケジューラ分析:
- コードには、
schtasks.exe
を使用してスケジュールされたタスクを作成する機能が含まれています。 - しかし、動的分析では、スケジュールされたタスクは実際には作成されませんでした。これは、マルウェアが状況に応じてタスクスケジューラを使用するかどうかを決定する可能性があることを示唆しています。
- コードには、
- 実行フロー分析:
-
技術的な詳細:
- 難読化: NanoCoreは、Eazfuscatorというツールを使用してコードを難読化します。これにより、コードの構造や機能を理解することが困難になります。難読化は、リバースエンジニアリングを妨害し、マルウェアの分析を遅らせる一般的な手法です。
- de4dot: de4dotは、.NETアプリケーションの難読化を解除するためのツールです。このツールを使用することで、難読化されたコードをより理解しやすい形式に戻すことができ、マルウェアの分析を効率化します。
- 永続化: NanoCoreは、レジストリキーに自身の実行ファイルを追加し、システム起動時に自動的に実行されるようにします。さらに、隠しディレクトリに自身をコピーすることで、ユーザーからの検出を困難にします。
- モジュール式プラグインシステム: この機能により、攻撃者はマルウェアの機能を拡張したり、特定の目的に合わせてカスタマイズしたりすることができます。これにより、マルウェアの柔軟性と適応性が高まります。
- C2通信: NanoCoreは、C2サーバーと通信することで、攻撃者からのコマンドを受信し、さまざまなアクションを実行します。これにより、攻撃者は感染したシステムをリモートで制御することができます。
- データ窃盗: キーロギング、スクリーンショット、クリップボードデータのキャプチャなどのデータ窃盗機能は、機密情報を収集するために利用されます。これにより、ユーザーの個人情報、認証情報、その他の重要なデータが攻撃者の手に渡る危険性があります。
-
Indicators of Compromise (IOCs)
- ファイルハッシュ: 18B476D37244CB0B435D7B06912E9193
- ネットワーク指標:
- C2ドメイン: simpletest.ddns.net
- IPアドレス: 8.8.8.8 (Google DNS、接続性チェックに使用される可能性あり)
- ポート: 9632
- レジストリ変更:
- HKCU\Software\Microsoft\Windows\CurrentVersion\Run\saasmon.exe
- ファイルシステム変更:
- C:\Program Files (x86)\SAAS Monitor\saasmon.exe
- C:\Users\User\AppData\Roaming\81E42A3A-6BA0-4784-B7EC-E653E9E1A8ED\SAAS Monitor\saasmon.exe
- C:\Users\User\AppData\Roaming\81E42A3A-6BA0-4784-B7EC-E653E9E1A8ED\logs\users\kbxxxxx.dat (キーログとクリップボードデータを保存)
おわりに
NanoCore RATは、そのモジュール性、高度な難読化技術、そして幅広い機能セットにより、依然として深刻な脅威となっています。
この分析を通じて、このマルウェアの主要な動作メカニズム、永続化手法、C2通信、データ窃盗機能に関する詳細な理解を得ることができました。
マルウェア分析者は、de4dotのような難読化解除ツール、dnSpyのようなデバッガ、そしてWiresharkのようなネットワークアナライザを駆使することで、NanoCore RATのような複雑なマルウェアの内部動作を詳細に把握することができます。
これらのツールを活用し、マルウェアの振る舞いを詳細に解析することで、効果的な防御戦略を策定し、セキュリティ対策を強化することが重要です。
この分析結果から、以下の点をもう一度、ここでまとめておきます。必ずここだけでも読んでください。
- 永続化の重要性: NanoCoreは、システム起動時に自動的に実行されるようにレジストリエントリを作成します。これにより、攻撃者はシステムを継続的に制御することが可能です。
- C2通信の検出: NanoCoreは、C2サーバーと通信してコマンドを受信します。この通信を検出することで、感染の兆候を早期に発見できます。
- データ窃盗の防止: NanoCoreは、キーロギング、スクリーンショット、クリップボードデータのキャプチャを行います。これらのデータ窃盗を防止するために、エンドポイントのセキュリティ対策を強化する必要があります。
- プラグインシステムの脅威: NanoCoreのモジュール式プラグインシステムにより、攻撃者はマルウェアの機能を動的に拡張できます。これにより、新たな脅威に迅速に対応する能力が求められます。
背景情報
- NanoCore RATは、長年にわたって悪意のある攻撃者に使用されてきた一般的なリモートアクセストロイアンである
- マルウェア分析者は、マルウェアの動作を理解し、防御策を講じるために、静的分析と動的分析を組み合わせて分析を行う
- Eazfuscatorは、.NET実行ファイルの難読化に使用される一般的な手法の1つである