
Bifrost C2. Post-exploitation open-source utilisant l'API Discord.
Bifrost est un BOT Discord open-source qui fonctionne comme un Command and Control (C2). Ce C2 utilise l'API Discord pour la communication entre les clients et le serveur.
Développé avec Python, ce C2 dispose de multiples fonctionnalités pour la post-exploitation.
Comme mentionné précédemment, Bifrost est essentiellement un bot Discord qui reçoit des commandes de l'utilisateur Discord et effectue une tâche prédéfinie. Donc, pour chaque client que vous allez "infecter", vous enverrez une copie de ce bot Discord, et il vous répondra via Discord. Cela vous permet de vous cacher derrière le service Discord, d'être furtif et d'avoir une connexion sécurisée entre vous et votre client.
Avertissement : Ce projet ne doit être utilisé qu'à des fins de test autorisé ou d'éducation.
Bifrost est actuellement détecté par Windows Defender, j'essaie déjà de résoudre ce "problème" et de le contourner à nouveau.
La détection de Virustotal était de 5/67 quand il n'y avait aucune défense contre l'exécution en sandbox.
Les antivirus qui ont détecté Bifrost comme malveillant étaient SecureAge APEX, Jiangmin, Cynet, Zillya et Palo Alto Networks
Bifrost est un projet ouvert, donc si vous souhaitez ajouter une fonctionnalité, améliorer les fonctionnalités ou les performances du code dans Bifrost, la meilleure façon de l'intégrer au projet principal est de créer un fork et d'ouvrir une pull request.
1 - Clonez ou téléchargez le code source de Bifrost ;
2 - Installez les dépendances de la bibliothèque ;
pip install -r requirements.txt
3 - Avoir un compte Discord ;
4 - Créez une application (Bot) sur Discord ;
5 - Allez dans l'onglet Informations générales et copiez votre ID d'application ;
6 - Allez dans l'onglet Bot, créez le Bot et copiez son token
7 - Invitez votre bot sur votre serveur Discord en remplissant le lien suivant avec votre ID d'application ;
https://discord.com/oauth2/authorize?client_id=<APP_ID>&scope=bot&permissions=8
8 - Maintenant, créez un salon dans votre serveur Discord et copiez son ID ;
Rem. : Activez la fonction développeur dans votre application Discord pour copier facilement l'ID du salon.
Maintenant, avec ces 2 informations (ID du salon et Token du Bot), modifiez les valeurs des variables aux lignes 22 et 23 du fichier bifrost.py avec les valeurs de votre compte/salon.
Après avoir créé votre bot, salon et modifié les valeurs des variables, suivez les étapes ci-dessous pour déployer la charge utile sur votre client
Créez un fichier exécutable bifrost en utilisant pyinstaller, ou envoyez bifrost.py au client et installez toutes les dépendances.
En utilisant le fichier exécutable, le client n'a pas besoin d'avoir Python ou des dépendances pré-installées.
pyinstaller bifrost.py --onefile --noconsole --key th3r4ven_bifrost ou
python -m pyinstaller bifrost.py --onefile --noconsole --key th3r4ven_bifrost
Rem. : Tous ces paramètres sont optionnels, lisez la documentation de pyinstaller pour plus d'informations sur la façon de l'utiliser.
Vous pouvez envoyer le fichier bifrost.py et installer les dépendances, ou créer un script/exécutable pour automatiser ce processus, similaire à l'installation sous Windows
Le streaming d'écran en direct n'est pas possible via l'API Discord :(
