Alan Framework
Alan Framework ist ein Post-Exploitation-Framework, das bei Red-Team-Aktivitäten nützlich ist.
Wenn Sie mein Tool nützlich finden, erwägen Sie bitte, mich zu sponsern.
⚠⚠⚠ Haftungsausschluss ⚠⚠⚠
Die Erstellung dieser Art von Software hat schon immer Kontroversen ausgelöst. Falls Sie sich fragen, warum ich mich entschieden habe, dieses Tool zu entwickeln, dann deshalb, weil ich überzeugt bin, dass die ultimative Lernerfahrung darin besteht, das Gelernte umzusetzen. Während des Reverse-Engineering-Prozesses werden viele kleine Details übersehen. Nach und nach hindern diese Details den Forscher daran, ein vollständiges Bild des Geschehens zu erhalten. Schließlich bin ich in erster Linie Programmierer und liebe es, solche Programme zu entwickeln 😄
Download
Alan C2 Framework herunterladen
Bemerkenswerte Funktionen
- Sie können Ihr bevorzugtes Tool direkt im Arbeitsspeicher ausführen
- JavaScript-Skriptausführung (im Arbeitsspeicher ohne Abhängigkeit von Drittanbietern)
- Voll kompatibler SOCKS5-Proxy
- Unterstützte Agententypen: Powershell (x86/x64), DLL (x86/x64), Ausführbare Datei (x86/x64), Shellcode (x86/x64)
- Server.exe kann unter Linux ausgeführt werden (über dotnet core)
- Die Netzwerkkommunikation ist vollständig mit einem Sitzungsschlüssel verschlüsselt, der weder aus dem Agenten-Binärprogramm noch aus einem Verkehrsdump wiederherstellbar ist
- Kommunikation erfolgt über HTTP/HTTPS
- Es müssen keine externen Abhängigkeiten oder Bibliotheken installiert werden
- Eine leistungsstarke Befehls-Shell
- Die Agentenkonfiguration kann spontan aktualisiert werden (Sie können auch Port und Protokoll ändern)
Dokumentation:
Blogbeiträge
Für weitere Informationen zur Nutzung lesen Sie bitte die Dokumentation.
Quellcode kompilieren
Um Alan zu kompilieren, müssen die folgenden Schritte ausgeführt werden:
- Stellen Sie sicher, dass Sie cmake installiert haben und es im PATH ist (führen Sie cmake --help aus, um zu sehen, ob es funktioniert)
- Installieren Sie Visual Studio 2022 (die Community Edition ist ausreichend). Diese Schritte wurden mit der Version VS 2022 17.3.1 getestet.
- Stellen Sie sicher, dass .NET-Desktopentwicklung, Desktopentwicklung mit C++ und die Sprache F# als Teil der Visual Studio-Suite installiert sind.
- Installieren Sie .NET-Bibliotheken durch Ausführen von: ./src/server/paket.exe install
- Öffnen Sie die Datei .src/server/ServerSln.sln in Visual Studio. Legen Sie das Projekt ServerBuilder als Hauptprojekt fest (rechtsklicken -> Als Startprojekt festlegen).
- Führen Sie den ServerBuilder aus, der alles kompilieren wird.
- Wenn die Kompilierung erfolgreich abgeschlossen wurde, befindet sich die Alan .zip-Datei im neu erstellten Verzeichnis Misc/out/release.
Videos:
Demovideos
Alan v7.0.514.10 - SOCKS5 Proxy  | Alan v6.0.511.28 - JS Execution  | Alan v5.0.509.20 - In-Memory Execution  |
|---|
Alan v4.0.0 - x64 Agent && Inject  | Alan v3.0.0 - Misc Commands  | Alan v2.0.500.23  |
Alan v1.0.0  | | |
Änderungsprotokoll
v7.0.514.10 - 15/05/2022
- Befehl
proxy für Pivoting implementiert
- Die Befehle
info und info++ zeigen an, ob der Agent einen Proxy verwendet.
- Fehler in der Netzwerkkommunikation behoben (Issue 2)
- Fehler im PE-Lader behoben, wenn Funktionen über Ordinalzahlen importiert werden
- Fehler im JS-Modul behoben, das vorzeitige Speicherfreigabe verursachte
- Fehler im Befehl
run behoben, der dazu führte, dass die Option & nicht funktionierte
- Die Protokollmeldungen werden jetzt in der Datei
alan.log gespeichert.
- Alle generierten Ausgaben und Benutzereingaben werden in einer Beweissicherungsdatei im Ordner
evidences protokolliert.
- Maschinen-ID-Informationen zum Befehl
info hinzugefügt
- Pakettyp
Vanilla für die Agentenerstellung hinzugefügt. Dies ermöglicht eine bessere Integration benutzerdefinierter Packer.
v6.0.511.28 24/02/2022
- x86/x64 PE-Lader geändert, um das Feld PEB->Ldr zu aktualisieren. Dadurch kann das System DLL_PROCESS_DETACH auf die injizierte DLL aufrufen.
- Maximale Antwortgröße auf 1 GB erhöht. Dies behebt den Download großer Dateien.
- Ablaufdatum des Agenten zur Konfiguration hinzugefügt.
- Der Befehl
run wurde erweitert, um die Ausführung von Javascript-Dateien zu unterstützen.
- Der Befehl
info++ zeigt jetzt die Volume-Bezeichnung und den Dateisystemtyp an.
v5.0.509.20 - 13/12/2021
- Befehl
run implementiert
- Befehl
kill implementiert
- Befehl
exec implementiert
- Meldung
inject entfernt, da dies mit dem Befehl run im Hintergrund erreicht werden kann
- Stager und PE-Lader erstellt, um den Agenten unauffälliger zu machen. Jede generierte Agentendatei hat einen anderen Hash.
- Code-Injektion verbessert, um die Dynamic Code Policy Mitigation zu umgehen
- Es ist jetzt möglich, den Namen der zu erstellenden Agentendatei während des Assistenten anzugeben.
- Fehler in den Befehlen
upload und download behoben
- Fehler bei der Shell-Erstellung behoben. Das Token des Befehls-Shell-Prozesses hatte nicht dieselbe Integritätsstufe wie der Agent.
- Exportierte Funktion aus dem DLL-Agenten-Artefakt entfernt
- Aktuelles Arbeitsverzeichnis zum Befehl
info hinzugefügt
- Befehl
shell erweitert, um einen einzelnen Befehl auszuführen