
RustyWaterは、Static Kittenグループの攻撃における主要なペイロードであり、全体的な敵対的作戦の基幹です。
RustyWater は、Static Kitten グループ攻撃におけるメインペイロードであり、敵対的作戦全体のバックボーンを担っています。 RustyWater は Rust でコンパイルされた実行可能ファイル(偽の Cloudflare アイコンで reddit.exe として偽装)であり、RustyWater(または Archer RAT/RUSTRIC に関連)として知られ、プロセスインジェクションとレジストリベースの持続性を通じて強力な AV/EDR 回避を特徴としています。
1-アンチ分析 Reddit.exe は、監視、仮想化、デバッグの兆候を実行環境で積極的に調査する包括的な8層のアンチ分析システムを実装しています。各層はフィルターとして機能し、ペイロードが真のターゲット上でのみ爆発することを保証します。
レイヤー1: CPUコア数検証
最初に、RustyWater の兵士は周囲を見渡して、自分がいるマシンの性能を評価します。自問自答します:このプロセッサにはいくつのコアがあるか? サンドボックスのような分析環境は通常リソースが限られており、多くの場合2コア以下です。兵士がマシンがこれほど弱いと判断すると、すぐに環境は安全でないと判断し、痕跡も残さず消え去り、アナリストの努力をすべて無駄にします。
提供された画像では、Reddit.exe プログラムのコードの一部がこのメカニズムを示しています。矢印は「cpu count」をチェックしている行を指しており、プログラムがプロセッサコアの数を調べています。カウントが2以下であれば、周囲の環境が疑わしいことを意味し、実行は直ちに停止されます。

レイヤー2: 仮想マシンアーティファクト検出
CPUチェックだけでは納得せず、兵士はさらに深く掘り下げます。仮想マシンは、パンくず跡のように特定のデジタルフットプリントを残すことを知っています。実行中のプロセスのリストをスキャンし、仮想化ソフトウェアに関連するおなじみの名前(vmtoolsd.exe(VMware)、vboxtray.exe(VirtualBox)、xenservice.exe(Xen))を探します。また、vmmouse.sys や VBoxGuest.sys などの特定のドライバファイルがディスク上に存在するかどうかもチェックします。
ロジックは単純です。マシンが VMware Tools を実行しているなら、それは VM である可能性が高い。VM なら分析環境である可能性が高い。分析環境なら、兵士はミッションを中止します。

レイヤー3: 分析ツールのレジストリスキャン
次に兵士は、システム設定の膨大なデータベースである Windows レジストリに足を踏み入れます。セキュリティアナリストはしばしば自分たちのツールを残し、そのツールはアーティファクトを残すことを知っています。Wireshark、Process Hacker、OllyDbg、IDA Pro などのデバッグおよび監視ソフトウェアに関連するレジストリキーを検索します。これらのキーのいずれかが存在すれば、環境が敵対的であることが確認され、即座にシャットダウンがトリガーされます。

レイヤー4: RAMサイズ分析
システムが4GB未満と報告した場合、兵士はリソースが不足したサンドボックスを疑い、実行を停止します。このチェックは、多くの自動分析システムをフィルタリングする信頼性の高い方法です。

レイヤー5: デバッガ検出
兵士は今、自分の即時環境をチェックします。単純だが効果的な Windows API コールである IsDebuggerPresent を使用して、自分がデバッガの制御下で実行されているかどうかを判断します。デバッガは顕微鏡のようなものです。もし存在すれば、誰かが兵士のすべての命令を監視していることを意味します。兵士はそのような監視下では行動しません。

レイヤー6: システム稼働時間チェック
時間自体が要素になります。兵士は前回の起動からシステムがどのくらい実行されているかをチェックします。サンドボックスや分析環境は、サンプルが実行される直前に新しく起動されることがよくあります。システム稼働時間が15分未満の場合、兵士はそれを疑わしい短期間の環境とフラグし、撤退します。

レイヤー7: ユーザー名分析
次に兵士はユーザーの身元を確認します。現在のユーザー名を、一般的な分析アカウントのブラックリスト("sandbox"、"virus"、"malware"、"analysis"、"vmware"、"test")と比較します。これらのユーザー名は隔離された分析環境で頻繁に使用されます。ユーザー名がリスト内のエントリと一致する場合、ミッションは直ちに中止されます。

レイヤー8: MACアドレスとハードウェアプロファイルの検証
最後に兵士はマシンのネットワークカードを調べます。MACアドレスを、仮想化ソフトウェアで使用される既知のベンダープレフィックスと照合します。00:0C:29 で始まる MAC アドレスは VMware、08:00:27 は VirtualBox に属します。また、システムの説明内の "VMware" や "VirtualBox" といった文字列についてハードウェアプロファイルをスキャンします。これらのいずれかが見つかれば、兵士は自分が仮想マシン内部にいることを認識し、プラグを抜きます。

インプラントは巧妙に正規の Windows Update コンポーネントとして偽装し、カジュアルな観察者には疑わしく見えないようにしています。永続化メカニズムには以下が含まれます:
これにより、ユーザーがログインするたびに Reddit.exe がユーザーの権限で自動的に実行されることが保証されます。

最後で最も洗練された機能は、explorer.exe へのプロセスインジェクションであり、インプラントが信頼されたシステムプロセス内でシェルコードを実行できるようにします。
Reddit.exe は古典的だが効果的なリモートスレッドインジェクション手法を実装しています:
この手法により、攻撃者は悪意のあるコードを信頼されたシステムプロセス内に隠すことができ、セキュリティソリューションによる検出が大幅に困難になります。

なぜ攻撃者はプロセスインジェクションに explorer.exe を使用するのか?
攻撃者は、悪意のあるシェルコードを注入するために意図的に explorer.exe をターゲットとして選択しました。この選択は偶然ではなく、戦略的な利点に基づいていました:

HTTP ペイロードを配置する:XOR 暗号化を使用してネットワーク上での検出を回避するために暗号化します。
ファイルメタデータの変更による検出回避
reddit.exe ペイロードをビルドした後、そのメタデータを変更して、正当で疑わしくないプログラムに見せかける必要があります。セキュリティソリューションや EDR ツールはこれらのメタデータフィールドを検査するため、変更は回避に不可欠です。
どのメタデータをターゲットにするのか?
ファイルバージョン:ファイルのバージョン番号 製品バージョン:製品のバージョン番号 ファイルの説明:ファイルが自身を説明する内容(タスクマネージャーに表示) 製品名:製品の名前 会社名:開発会社の名前 法的著作権:著作権情報 元のファイル名:ファイルの元の名前
使用するツール:rcedit
これらの変更を実行するために、GitHub で公式に利用可能な軽量で無料のツール rcedit を使用します。 リンク:https://github.com/electron/rcedit/releases/download/v2.0.0/rcedit-x64.exe

攻撃者がターゲットシステム上で reddit.exe を直接実行しないことを観察しました。代わりに、CertificationKit.ini(ドロッパー)として知られる中間プログラムに依存しており、これが暗号化されたペイロードを運び、実行時に復号化して被害者のマシン上で実行します。
また、ドロッパーは Rust で記述されていました。一見無害な設定ファイル(CertificationKit.ini)として偽装していますが、実際にはメインペイロードをターゲットシステムに展開して実行する責任を持つコンパイル済みバイナリです。
この手法にはいくつかの利点があります:

ペイロード暗号化:メインペイロード(reddit.exe)は ENCRYPTED_PAYLOAD セクションに格納され、ドロッパー(XOR_KEY)で定義された XOR キーを使用して暗号化されます。これにより、ペイロードが実行時まで保護されることが保証されます。
ターゲットパス:ドロッパーは、復号化されたペイロードをドロッパー設定(TARGET_PATH)で指定された場所に書き込みます。このパスは、被害者のシステム上の目的のディレクトリに正しく設定されている必要があります。
実行時復号化:実行時に、ドロッパーは XOR キーを使用してペイロードを復号化し、ターゲットロケーションに CertificationKit.ini として展開します。
この設定により、攻撃者はステルス性を維持し、検出を回避し、ペイロードが被害者のシステム上で実行されたときのみアクセス可能であることを保証できます。
