Alan Framework
Alan Framework est un framework de post-exploitation utile lors des activités de red-team.
Si vous trouvez mon outil utile, veuillez envisager de me sponsoriser.
⚠⚠⚠ Avertissement ⚠⚠⚠
La création de ce type de logiciel a toujours suscité des controverses. Si vous vous demandez pourquoi j'ai décidé de créer cet outil, c'est parce que je suis convaincu que l'expérience d'apprentissage ultime est de mettre en œuvre ce que vous avez appris. Au cours du processus de rétro-ingénierie, de nombreux petits détails sont négligés. Petit à petit, ces détails empêchent le chercheur d'avoir une image complète de ce qui se passe. Enfin, je suis avant tout un programmeur, et j'adore développer ce genre de programme 😄
Téléchargement
Télécharger Alan C2 Framework
Fonctionnalités notables
- Vous pouvez exécuter votre outil préféré directement en mémoire
- Exécution de scripts JavaScript (en mémoire sans dépendance tierce)
- Proxy SOCKS5 entièrement conforme
- Types d'agents pris en charge : Powershell (x86/x64), DLL (x86/x64), Exécutable (x86/x64), Shellcode (x86/x64)
- Server.exe peut être exécuté sous Linux (via dotnet core)
- La communication réseau est entièrement chiffrée avec une clé de session non récupérable à partir du binaire de l'agent ou d'une capture de trafic
- Communication effectuée via HTTP/HTTPS
- Aucune dépendance ou bibliothèque externe à installer
- Un puissant shell de commandes
- La configuration de l'agent peut être mise à jour à la volée (vous pouvez également changer le port et le protocole)
Documentation :
Articles de blog
Pour plus d'informations sur son utilisation, veuillez lire la documentation.
Compiler le code source
Pour compiler Alan, les actions suivantes doivent être effectuées :
- Assurez-vous d'avoir installé cmake et qu'il est dans le PATH (exécutez cmake --help pour vérifier)
- Installez Visual Studio 2022 (l'édition Community convient). Ces étapes ont été testées avec la version VS 2022 17.3.1
- Assurez-vous que .NET Desktop Development, Desktop development with C++ et le langage F# sont installés dans le cadre de la suite Visual Studio
- Installez les bibliothèques .NET en exécutant : ./src/server/paket.exe install
- Ouvrez le fichier .src/server/ServerSln.sln dans Visual Studio. Définissez le projet ServerBuilder comme projet principal (clic droit -> Définir comme projet de démarrage)
- Exécutez ServerBuilder qui compilera le tout
- Si la compilation se termine avec succès, le fichier Alan .zip se trouvera dans le répertoire nouvellement créé Misc/out/release
Vidéos :
Vidéos de démonstration
Alan v7.0.514.10 - Proxy SOCKS5  | Alan v6.0.511.28 - Exécution JS  | Alan v5.0.509.20 - Exécution en mémoire  |
|---|
Alan v4.0.0 - Agent x64 && Injection  | Alan v3.0.0 - Commandes diverses  | Alan v2.0.500.23  |
Alan v1.0.0  | | |
Journal des modifications
v7.0.514.10 - 15/05/2022
- Implémentation de la commande
proxy pour le pivotement
- Les commandes
info et info++ affichent si l'agent utilise un proxy
- Correction d'un bug dans la communication réseau (Issue 2)
- Correction d'une erreur dans le chargeur PE lorsque les fonctions sont importées par ordinal
- Correction du module JS provoquant une libération mémoire anticipée
- Correction d'une erreur dans la commande
run qui empêchait l'option & de fonctionner
- Les messages de log sont maintenant enregistrés dans le fichier
alan.log
- Toute la sortie générée et les entrées utilisateur sont journalisées dans un fichier de preuve à l'intérieur du dossier
evidences
- Ajout des informations d'ID machine à la commande
info
- Ajout du type de package
Vanilla pour la création d'agent. Cela permet une meilleure intégration du packer personnalisé.
v6.0.511.28 24/02/2022
- Chargeurs PE x86/x64 modifiés pour mettre à jour le champ PEB->Ldr. Cela permet au système d'appeler DLL_PROCESS_DETACH sur la DLL injectée.
- Augmentation de la taille maximale de réponse à 1 Go. Cela corrige le téléchargement de gros fichiers.
- Ajout de la date d'expiration de l'agent à la configuration.
- La commande
run a été étendue pour prendre en charge l'exécution de fichiers Javascript.
- La commande
info++ affiche maintenant le nom du volume et le type de système de fichiers.
v5.0.509.20 - 13/12/2021
- Implémentation de la commande
run
- Implémentation de la commande
kill
- Implémentation de la commande
exec
- Suppression du message
inject car il peut être réalisé avec la commande run en arrière-plan
- Création d'un stager et d'un chargeur PE pour rendre l'agent plus furtif. Chaque fichier d'agent généré a un hachage différent
- Amélioration de l'injection de code pour contourner la mitigation de la stratégie de code dynamique
- Il est maintenant possible de spécifier le nom du fichier d'agent à créer lors de l'assistant
- Correction d'une erreur dans les commandes
upload et download
- Correction d'une erreur dans la création du shell. Le jeton de processus du shell de commandes n'avait pas le même niveau d'intégrité que l'agent
- Suppression de la fonction exportée de l'artefact d'agent DLL
- Ajout du répertoire de travail actuel à la commande
info
- Extension de la commande
shell pour exécuter une seule commande