
Ein super portables Botnet-Framework mit einem Django-basierten C2-Server. Der Client ist in C++ geschrieben, mit alternativen Clients in Rust, Bash und Powershell.
Der C2-Server des Botnets nutzt das Django-Framework als Backend. Er ist bei weitem nicht der effizienteste Webserver, aber dies wird durch Folgendes ausgeglichen:
aura-server.Die Admin-Seite unter http://your_server:server_port/admin kann nach der Einrichtung eines Superusers aufgerufen werden (siehe unten).
Der C2-Server ist derzeit für die Verwendung einer SQLite3-Datenbank, bots.sqlite3, konfiguriert. Die aktuelle Konfiguration kann in aura-server/aura/settings.py geändert werden. Sie möchten vielleicht stattdessen MySQL oder sogar PostgreSQL verwenden; das ist dank der portablen Datenbank-API von Django einfach möglich.
Der primäre Client ist in C++ geschrieben und kann mit CMake für Linux oder Windows kompiliert werden. Alternative Clients sind in Rust, Bash und Powershell geschrieben, haben aber möglicherweise nicht alle Funktionen, da sie größtenteils nicht unterstützt werden. Ich werde alle großen Fehler beheben, die mir bekannt werden, aber sie werden vorerst weiterhin bestimmte Funktionen vermissen, wie z. B. die Ausführung von Befehlen in verschiedenen Shells.
Der Client sammelt relevante Systeminformationen und sendet sie an den C2-Server, um den neuen Bot zu registrieren. Die Identifikation erfolgt durch das Erstellen einer Datei mit zufälligen Daten – im gesamten Code als Auth-Datei bezeichnet –, die dann bei jeder Ausführung des Clients gehasht wird, um den Client zu identifizieren und beim C2-Server zu authentifizieren. Anschließend installiert er alle Dateien im im Code angegebenen Ordner und initialisiert den Systemdienst oder plant eine Aufgabe mit denselben Berechtigungen, mit denen der Client ausgeführt wurde. Die Standardeinstellungen lassen den Client und andere Dateien als Konfigurationsdateien getarnt erscheinen.
Da dies für Testzwecke gedacht ist, muss der C2-Server fest in die Client- und Web-Delivery-Dateien codiert sein. Derzeit ist er in allen Dateien auf localhost gesetzt. Dies liegt daran, dass ein echtes Botnetz so etwas wie einen Domain-Generierungs-Algorithmus (DGA) verwenden würde, um einen Strom wechselnder Domänen auf der Client-Seite mit einem Strom sich registrierender Wegwerfdomänen zu synchronisieren – oder einfach wirklich ausfallsicheres Hosting wie das ursprüngliche Mirai-Botnetz.
Der Code ist auch nicht verschleiert, und es wird kein Aufwand betrieben, um Reverse Engineering zu verhindern; dies würde den Zweck eines Botnets für Tests und Demonstrationen zunichtemachen.
Der Ordner killswitch enthält Skripte zur einfachen Entfernung des Clients beim Testen auf Ihren Geräten.