セキュリティ研究者らは、BabaDedaを基盤とした感染チェーンの末端で配布される1.14MBのx64リモートアクセス型トロイの木馬(RAT)「CNCMachineRMS」を発見しました。
このマルウェアは、インポートテーブルを持たずに動作し、実行時にハッシュ値からWindows APIを解決し、文字列も必要になった時点でのみ生成するという手法で、一般的な静的解析による検知を回避します。
攻撃はClickFixの誘導から始まり、最終的には正規の署名付きIBM SPSS WinWrap Basic IDE実行ファイルであるWinWrapIDE.exeを起動します。
この署名付きプログラム自体は無害ですが、攻撃者はそのCOMスクリプティング機能を悪用して悪意のあるDLLを読み込ませます。続いて4つのおとりDLLが通常のWindowsインポート解決を通じて読み込まれ、不審なLoadLibrary呼び出しを避ける仕組みになっています。
最終段階のおとりDLLはmodel.datからシェルコードを読み込み、ランダムなデータでパディングした大きなバッファ内に配置します。そのうえで領域を実行可能に設定し、EnumTimeFormatsExを通じてこれを起動します。
このAPIはWindowsの日付書式設定を行う無害なもので、渡されたコールバックを呼び出す仕組みを持ちます。攻撃者はこれを利用することで、自らのコード内に直接的な悪意ある関数呼び出しを残さずにシェルコードを実行できます。
そのシェルコードはBabaDedaのステージです。単体で見ると、サンドボックス上では無害に見える場合があります。「Not Found Storage」というメッセージを表示して待機するだけで、外部の設定ファイルを必要とするためです。
必要とされるファイルHelperStandardizationApplication.binは高いエントロピーを持ち、一見暗号化データのように見えますが、研究者らの調査により、実際にはスクリプトと埋め込まれたCNCMachineRMSペイロードを含む、難読化されたシリアライズ済みプロパティツリーであることが判明しました。
CNCMachineRMSは有用な静的解析の手がかりを排除しています。インポートテーブルを持たず、Windows API関数の特定にはFNV方式のハッシュ化手法を用い、文字列はスタック上で実行時にのみ構築します。
動的なAPI解決は、実行ファイル内に判読可能なAPI名や通常のインポートが存在しないため、静的解析ツールから悪意ある機能を隠す手口として一般的に使われます。
このインプラントは、即座の認証情報窃取ではなく、対話的なハンズオン操作を前提として設計されています。
デコードされた機能には、対話型シェル、ファイル管理、画面キャプチャ、ローカルアカウント作成、7種類の永続化手法、そして追加ペイロードをダウンロード・実行できる20種類のコマンドが含まれます。
また、ドメイン、SID、権限昇格状態、BIOSおよびマザーボードの識別情報、インストール済みのアンチウイルス製品の詳細など、ホスト情報を収集したうえで、オペレーターが次のアクションを選択する仕組みになっています。
このRATは最初の接続時にスクリーンショットを取得し、600秒ごとにビーコン通信を行います。
通信にはnotepadreleased[.]comと85[.]158.110.78をTCP/443経由で使用し、60秒後にリトライを行うほか、Google、Cloudflare、Quad9を含むDNS over HTTPSプロバイダーを通じてドメインを解決することも可能です。これにより、内部のDNSログでの可視性が低下する可能性があります。
独自のスクリプト言語がdelayer::、runtime::、autoruns::、communicator::といった名前空間を通じて動作を制御していると、levelblueは述べています。
注記: IPアドレスおよびドメインは、誤った名前解決やハイパーリンク化を防ぐため、意図的に無害化表記(例: [.])を施しています。再有効化はMISP、VirusTotal、またはSIEMなど管理された脅威インテリジェンス基盤内でのみ行ってください。
ANY.RUNのブラウザ内データ検査で、検知・調査・対応をより迅速に。フィッシングの全容を可視化し、SOCを強化してMTTRを削減しましょう
翻訳元: https://cyberpress.org/cncmachinerms-hides-apis-hashing/