Alan Framework
Alan Framework è un framework di post-exploitation utile durante le attività red-team.
Se trovi utile il mio strumento, considera di supportarmi.
⚠⚠⚠ Disclaimer ⚠⚠⚠
La creazione di questo tipo di software ha sempre suscitato controversie. Se ti stai chiedendo perché ho deciso di creare questo strumento, è perché sono convinto che l'esperienza di apprendimento definitiva sia implementare ciò che hai imparato. Durante il processo di reverse engineering, molti piccoli dettagli vengono trascurati. A poco a poco, questi dettagli impediscono al ricercatore di avere un quadro completo di ciò che sta accadendo. Infine, sono un programmatore prima di tutto, e amo sviluppare questo tipo di programma 😄
Download
Scarica Alan C2 Framework
Caratteristiche principali
- Puoi eseguire il tuo strumento preferito direttamente in memoria
- Esecuzione di script JavaScript (in memoria senza dipendenze di terze parti)
- Proxy SOCKS5 completamente conforme
- Tipi di agente supportati: Powershell (x86/x64), DLL (x86/x64), Eseguibile (x86/x64), Shellcode (x86/x64)
- Server.exe può essere eseguito in Linux (tramite dotnet core)
- La comunicazione di rete è completamente crittografata con una chiave di sessione non recuperabile dal binario dell'agente o da un dump del traffico
- Comunicazione effettuata tramite HTTP/HTTPS
- Nessuna dipendenza esterna o libreria da installare
- Una potente shell di comando
- La configurazione dell'agente può essere aggiornata al volo (puoi cambiare anche porta e protocollo)
Documentazione:
Post del blog
Per maggiori informazioni sull'utilizzo, leggi la documentazione.
Compilare il codice sorgente
Per compilare Alan è necessario eseguire le seguenti operazioni:
- Assicurati di aver installato cmake e che sia nel PATH (esegui cmake --help per verificare che funzioni)
- Installa Visual Studio 2022 (l'edizione Community va bene). Questi passaggi sono stati testati con la versione VS 2022 17.3.1
- Assicurati che .NET Desktop Development, Desktop development with C++ e il linguaggio F# siano installati come parte della suite Visual Studio
- Installa le librerie .NET eseguendo: ./src/server/paket.exe install
- Apri il file .src/server/ServerSln.sln in Visual Studio. Imposta il progetto ServerBuilder come principale (tasto destro -> Imposta come progetto di avvio)
- Esegui ServerBuilder che compilerà tutto
- Se la compilazione termina con successo, il file Alan .zip si troverà nella directory appena creata Misc/out/release
Video:
Video dimostrativi
Alan v7.0.514.10 - Proxy SOCKS5  | Alan v6.0.511.28 - Esecuzione JS  | Alan v5.0.509.20 - Esecuzione in memoria  |
|---|
Alan v4.0.0 - Agente x64 e Inject  | Alan v3.0.0 - Comandi vari  | Alan v2.0.500.23  |
Alan v1.0.0  | | |
Changelog
v7.0.514.10 - 15/05/2022
- Implementato il comando
proxy per il pivoting
- I comandi
info e info++ mostrano se l'agente utilizza un proxy
- Risolto bug nella comunicazione di rete (Issue 2)
- Risolto errore nel caricatore PE quando le funzioni vengono importate per ordinale
- Risolto modulo JS che causava la liberazione anticipata della memoria
- Risolto errore nel comando
run che impediva il funzionamento dell'opzione &
- I messaggi di log ora vengono salvati nel file
alan.log
- Tutto l'output generato e l'input utente viene registrato in un file di evidenza all'interno della cartella
evidences
- Aggiunte informazioni sull'ID macchina al comando
info
- Aggiunto tipo di pacchetto
Vanilla per la creazione dell'agente. Questo permette una migliore integrazione di packer personalizzati.
v6.0.511.28 - 24/02/2022
- Caricatori PE x86/x64 modificati per aggiornare il campo PEB->Ldr. Questo permette al sistema di chiamare DLL_PROCESS_DETACH sulla DLL iniettata.
- Aumentata la dimensione massima della risposta a 1GB. Risolve il download di file grandi.
- Aggiunta data di scadenza dell'agente alla configurazione.
- Il comando
run è stato esteso per supportare l'esecuzione di file Javascript.
- Il comando
info++ ora mostra l'etichetta del volume e il tipo del filesystem.
v5.0.509.20 - 13/12/2021
- Implementato il comando
run
- Implementato il comando
kill
- Implementato il comando
exec
- Rimosso il messaggio
inject poiché ottenibile con il comando run in background
- Creato stager e caricatore PE per rendere l'agente più furtivo. Ogni file agente generato ha un hash diverso
- Migliorata l'iniezione di codice per bypassare la mitigazione della politica del codice dinamico
- Ora è possibile specificare il nome del file agente da creare durante la procedura guidata
- Risolto errore nei comandi
upload e download
- Risolto errore nella creazione della shell. Il token del processo della shell di comando non aveva lo stesso livello di integrità dell'agente
- Rimossa la funzione esportata dall'artefatto DLL dell'agente
- Aggiunta directory di lavoro corrente al comando
info
- Esteso il comando
shell per eseguire un singolo comando