
ChocoPoCは、新たに確認され、現在進行形で警戒されているRAT(Remote Access Trojan:遠隔操作ウイルス)型マルウェアです。
このマルウェアは、セキュリティ研究者やペンテスター(侵入テスト担当者)を標的とした高度なサプライチェーン攻撃に使用されています。
その新規性と巧妙な特徴を見てみましょう。
- 「脆弱性研究者の心理(焦燥感)」を突く高度な標的型ルアー
従来のマルウェア配布は、一般的なユーザを騙すフィッシングが主流でした。
しかし今回、攻撃者は「新しく公開された重大な脆弱性(CVE)に対して、誰よりも早く検知・スキャンモジュールを作らなければならない」というセキュリティ研究者の時間的プレッシャー(焦燥感)を巧みに悪用しています。
GitHub上に偽のCVE実証コード(PoC)リポジトリを作成し、その依存関係の中にマルウェアを巧妙に隠蔽しました。 - 「透過的(間接的)な依存関係」を用いた隠蔽工作
攻撃者が用意したGitHubのPoC自体(Pythonコードなど)を人間がレビューしても、一見すると不審な点はありません。
しかし、そのコードの動作用ファイル(requirements.txt)に「frint」というパッケージが含まれており、さらにそのfrintが「skytext」という別の新興パッケージを自動的にインストールする仕様(依存関係の悪用)になっていました。
このようにマルウェアの本体を多重の依存関係の奥深くに隠すことで、リポジトリのコードレビューや自動サンドボックスによる検知をくぐり抜けています。 - Pythonの挙動を逆手に取った「ネイティブ拡張(バイナリ)」による即時実行
パッケージに含まれるマルウェアの初期ステージは、Pythonコード(.py)ではなく、C言語等でプリコンパイルされたネイティブ拡張ライブラリ(Windows用の.pydやLinux用の.so)として配布されていました。
Pythonは同名の.pyと.pyd/.soが存在する場合、コンパイル済みのバイナリを優先してプロセスメモリに読み込む(シャドーイング)性質があります。
攻撃者はこの仕様を悪用し、ユーザが必要な要件をインストール(pip install)し、PoCを動かした瞬間に、難読化されたバイナリがOSのAPI(LoadLibraryやdlopen)を介して直接メモリ上で即座に実行される仕組みを構築していました。
これにより、従来のファイルベースのウイルス対策ソフトによる検知を困難にしています。 - C2通信における「デッド・ドロップ・リゾルバ(Mapbox)」とドメインフロントング
ChocoPoCのステージ2(choco.py)は、指令サーバー(C2)のIPアドレスや次のペイロードを取得するために、一般的な地図サービスであるMapboxのAPI(api.mapbox[.]com)を「デッド・ドロップ・リゾルバ(中継地点)」として悪用しています。
さらに、セキュリティ対策を回避するための高度な通信技術が用いられています。- DoH(DNS-over-HTTPS)の利用
企業ネットワーク等で監視されやすい標準のDNSクエリ(UDP/53)を避け、CloudflareやAliDNSのHTTPS経由で安全にドメインを解決します。 - ドメインフロントング(Domain Fronting)風の手法
実際の通信は解決したIPアドレスに直接接続しつつも、TLSのハンドシェイク(SNI)やHTTPヘッダのHost属性には正規のapi.mapbox[.]comを指定します。
これにより、ネットワーク監視側からは一見して「信頼されたMapboxへの正当なアクセス」にしか見えないよう偽装されています。
- DoH(DNS-over-HTTPS)の利用
一度実行されると、マルウェアはPythonの標準パッケージ環境(site-packages)内に、一見正常に見える偽のパッケージ(_distutils_hack等)や.pthファイルをドロップします。
その後、ファイルのタイムスタンプを偽装する(Timestomping)ことでフォレンジック調査を回避しつつ、被害者が次回以降、別の無関係なPythonスクリプトを実行するたびに、バックグラウンドで自動的にマルウェア(ChocoPoC RAT)が再起動するという、開発者環境に特化した極めてステルス性の高い永続化(永続的な潜伏)を確立します。
ChocoPoCの新規性は、単に新しい感染技術を使っている点だけでなく、「セキュリティ研究者の行動様式と開発環境の仕様(Pythonの内部挙動やパッケージ管理システム)を徹底的に研究し、それに最適化されたステルス・チェーンを構築している点」にあります。
Don’t Eat The ChocoPoCs! How Vulnerability Researchers Were Repeatedly Targeted By Trojanised Exploits
https://www.sekoia.com/blog/dont-eat-the-chocopocs-how-vulnerability-researchers-were-repeatedly-targeted-by-trojanised-exploits
| この記事をシェア |
|---|