thermopticは、攻撃的セキュリティオペレーション向けのHTTPステルスプロキシです。そのコアバリューはシンプルです:curlなどの非ブラウザクライアントをChromeと見分けがつかないようにします。ヘッダーの偽装やTLSハンドシェイクの模倣ではなく、thermopticはChrome DevTools Protocolを介して実際のブラウザを制御し、そのトラフィックをプロキシします。その結果、TCP、TLS、HTTPの各フィンガープリントにおいて、Chromeとバイト単位で一致します。これにより、JA3やJA4+などの多くの最新のアンチボットスタックやフィンガープリンティングシステムを回避できます。

特徴
- Chrome駆動のリクエスト: アウトバウンドトラフィックは実際のChromeインスタンスから発生し、フィンガープリント偽装の推測を排除します。
- 多層偽装: TCP、TLS、HTTP/2の特性においてChromeと一致します。
- プロキシ互換性: ローカルプロキシインターフェースを公開し、curlや他のツールがコード変更なしでリクエストをルーティングできます。
- コンテナデプロイ: 簡単なセットアップのためのDocker Composeを提供。
- 証明書管理: TLSインターセプト用のルートCAを自動生成します。ユーザーはこれをインストールすることで安全でないフラグを回避できます。
インストール
リポジトリをクローンし、Docker Composeで起動します:
git clone https://github.com/mandatoryprogrammer/thermoptic.git cd thermoptic docker compose up —build |
初回実行時、thermopticは./ssl/rootCA.crt
の下に認証局ファイルを生成します。この証明書をインストールすることで、クライアントで--insecure
を使用せずに済みます。
使い方
thermopticはローカルHTTPプロキシとして動作します。READMEの例では、curlでフィンガープリントを検証する方法が示されています:
<code>curl —proxy http://changeme:changeme@127.0.0.1:1234 –insecure https://ja4db.com/id/ja4h/</code> |
注意事項:
- デフォルトの認証情報は
changeme:changeme
です。プロキシをlocalhost以外で公開する場合は必ず変更してください。 --insecure
を回避するには、./ssl/rootCA.crt
で生成されたルートCAを信頼してください。- thermopticは、
--remote-debugging-port
フラグ付きで起動した任意のChromeまたはChromiumインスタンスに接続できます。
攻撃シナリオ
レッドチームが、JA4+フィンガープリンティングで保護されたターゲットサイトのエンドポイントを列挙する必要があります。通常のcurlリクエストはブロックされますが、ブラウザは通過します。オペレーターはDockerでthermopticを起動し、curlをプロキシ経由で設定し、APIエンドポイントにリクエストします。サイト側では、TLSハンドシェイクやHTTP/2フレームにおいてChromeのフィンガープリントと一致するリクエストとして認識されます。これにより、チームはJavaScriptリソースのスクレイピングや隠れたAPIの特定、ペイロードの準備を自動検知システムに警告されることなく行えます。
レッドチームでの有用性
thermopticは、ネットワークおよびアプリケーションのフィンガープリンティングレベルでのステルスを必要とする攻撃的オペレーションを直接サポートします。以下のような場面で有用です:
- 偵察: 厳格なアンチボット対策のあるサイトのスクレイピング。
- C2トラフィック: アウトバウンドコールバックを通常のブラウザセッションに見せかける偽装。
- OPSEC: 手動と自動トラフィックを混在させる際のフィンガープリント痕跡の低減。
多層検出器に対して失敗しがちなヘッダー偽装とは異なり、thermopticはChrome自体を活用するため、オペレーターはフィンガープリントの一致に自信を持てます。
運用上の注意
- リソース負荷: Chromeの実行は、ヘッドレスクライアントと比べて追加のCPUおよびメモリコストが発生します。
- コンテキストヘッダー: 完全なステルスのためには、オペレーターが
Referer
、Origin
、Cookieなどを現実的に設定する必要があります。 - 行動検知: フィンガープリントの一致は、トラフィックのタイミングやインタラクションの異常には対応しません。thermopticは現実的なレート制限やセッションシミュレーションと組み合わせて使用してください。
まとめ
運用の文脈やシナジーを考慮し、mitmproxyやWAFW00Fなどの従来のプロキシ・フィンガープリンティングツールとthermopticを組み合わせて使用することを検討してください。これら3つはいずれもHTTPの検査や回避の分野で動作しますが、解決する課題は異なります。mitmproxyはトラフィックの観察や解析・デバッグのためにリクエストを傍受・改変できるプロキシ、WAFW00FはWebアプリケーションファイアウォールの特定やフィンガープリントを行い防御策を把握できるツール、thermopticはブラウザ完全互換のフィンガープリントを生成し非ブラウザクライアントを正規のChromeトラフィックとして扱わせることに特化しています。これらを組み合わせることで、mitmproxyでリクエストの文脈やヘッダーを検証・調整し、WAFW00Fで回避またはテストすべき防御を特定し、thermopticでノイズの少ない収集やC2通信を本物のブラウザトラフィックに溶け込ませて実行できます。
thermopticは、curlや類似ツールをTCP、TLS、HTTPレイヤーでChromeと全く同じに見せかける実用的な方法をレッドチームに提供します。フィンガープリント回避が重要な案件、たとえばスクレイピング、偵察、C2トラフィックの偽装などにおいて、thermopticは手動偽装の脆弱性なしに高いステルス性を実現します。
詳細情報やダウンロードはこちら:https://github.com/mandatoryprogrammer/thermoptic
読者とのやりとり