AtlasRATはTLSとChaCha20暗号化でコマンド通信を隠蔽

AtlasRATは、多段階のローダーチェーンと強力な暗号化を用いてコマンド&コントロール(C2)通信を防御側から隠蔽する、新たに確認されたWindows向けリモートアクセス型トロイの木馬(RAT)です。

TLSとChaCha20暗号化を組み合わせ、モジュール型プラグインとステルス性の高い永続化技術を駆使することで、侵害したシステムへの長期にわたる検知困難なアクセスを維持します。

AtlasRATの感染は、Adobe Flash Playerのコンポーネントを装ったFlashPlay.exeというDelphi製実行ファイルから始まります。これにより、ユーザーの基本的な疑念や単純なセキュリティ対策を回避します。

第一段階はメモリ内PEローダーとして機能し、メインペイロードのディスクへの直接書き込みを避けることで、従来型アンチウイルスによる検知を抑制します。

第二段階では、Base64エンコード、XOR演算、AES-256-CBC復号を組み合わせて暗号化されたペイロードの断片を再構築し、1,374バイトのx86ダウンローダー型シェルコードを生成します。

このシェルコードはC2サーバーから次のローダー段階を取得し、それを手動でメモリにマッピングしたうえで、ServiceRunというエクスポート関数を通じて呼び出し、最終的にRAT本体のDLLへとつながります。

このメモリ内での多段階実行チェーンは、ペイロードを複数の難読化されたコンポーネントに分割することで、静的検知を著しく困難にし、リバースエンジニアリングを妨げます。

最終的なペイロードであるMainDll.Dllは、AtlasRATの中核モジュールであり、コマンド処理、プラグインの制御、暗号化通信を実装しています。

CN=update.Microsoft.Comになりすました自己署名証明書を利用してTLSクライアントを初期化する手口が用いられており、これはネットワーク上で想定されるMicrosoftのアップデート通信に紛れ込み、不十分な証明書検証をすり抜けることを狙ったものです。

AtlasRATの大きな特徴は、C2通信においてTLSでラップしたChaCha20暗号化に依存している点で、攻撃者のコマンドや窃取データに多層的な機密性を持たせています。

たとえ防御側がネットワークトラフィックを傍受できたとしても、TLSとChaCha20の組み合わせにより、対応する鍵なしにペイロードを検査することは極めて困難です。そのため防御側は、単純なコンテンツ検査ではなく、振る舞いやメタデータに基づく検知に頼らざるを得なくなります。

ホストへの定着後、AtlasRATはモジュール型プラグインの実行、任意ファイルのダウンロードと実行、特定プロセスの存在確認、終了・シャットダウンコマンドの発行など、幅広いリモート操作をサポートします。

またオフラインでのキーロギング機能も備えており、C2チャネルが一時的に利用できない場合でもキー入力を記録し続け、接続が復旧した後にログを外部へ送信します。

さらに活動を隠蔽するため、このRATはリモートのLoadLibraryW呼び出しを通じてWeChat.exeにDLLを注入することができ、正規かつ信頼されがちなプロセスを乗っ取って悪意あるコードを実行し、通常のアプリケーション動作に紛れ込みます。

注: IPアドレスおよびドメインは、誤って解決またはハイパーリンク化されるのを防ぐため、意図的に無害化表記(例: [.])されています。再度有効な表記に戻す作業は、MISP、VirusTotal、あるいは自組織のSIEMなど、管理された脅威インテリジェンス基盤の中でのみ行ってください。

SOC調査の死角を減らし、ANY.RUNを活用して脅威を早期に封じ込めることで、対応コストと業務への影響を抑えましょう。

翻訳元: https://cyberpress.org/atlasrat-tls-command-encryption/

ソース: cyberpress.org