
Un système de beaconing C&C simple et extensible.
Le dépôt C2 vise à fournir une implémentation pratique des idées contenues dans le Red Team Infrastructure Wiki à l'adresse https://github.com/bluscreenofjeff/Red-Team-Infrastructure-Wiki. En particulier, ce dépôt fournit deux packages Go, l'un pour les beaconers et l'autre pour les downloaders. De plus, le dépôt fournit des implants d'exemple qui utilisent ces beaconers et downloaders. Enfin, le dépôt contient des serveurs DNS et HTTP backend pour le C2 ainsi que des informations de configuration pour construire des serveurs redirecteurs frontaux.
Le dossier implants contient deux implants qui montrent comment utiliser les packages beaconer et downloader. Ces implants peuvent servir de référence pour construire vos propres implants. L'idée générale est de sélectionner un beaconer et un downloader, puis de les envelopper dans une boucle avec un mécanisme de temporisation pour contrôler la fréquence à laquelle l'implant envoie ses signaux.
Pour créer de nouveaux beaconers et downloaders, vous devez construire une structure qui satisfait l'interface appropriée. Les répertoires beaconer et downloader contiennent des exemples HTTP et DNS.
Le dossier servers contient à la fois un serveur DNS et un serveur HTTP qui peuvent être utilisés comme serveur backend pour les différents beacons et downloaders. Ces serveurs n'ont pas été conçus pour une utilisation en production, mais peuvent être utilisés en production si nécessaire. De plus, le dossier servers contient un fichier payload, qui peut être compilé avec go build -o payload.bin payload.go. Les serveurs s'attendent à trouver un fichier payload.bin dans le répertoire courant, qui sera servi aux downloaders et exécuté sur le client.
Le dossier docs contient les informations de configuration nécessaires pour construire des redirecteurs frontaux pour le système C2. La configuration permet de rediriger le trafic C2 vers le serveur C2 en fonction de critères spécifiques et d'envoyer tout autre trafic vers un serveur bénin.
Je ne suis pas un expert en C2. J'ai lu le Red Team Infrastructure Wiki et j'ai décidé d'en construire une implémentation pratique. Cela dit, j'accepte volontiers les pull requests pour de nouveaux beaconers et downloaders. Si vous n'êtes pas à l'aise pour écrire le code vous-même, faites-moi savoir quelles techniques de beacon ou de downloader vous souhaiteriez voir implémentées en soumettant une issue.