
Bifrost C2. Post-explotación de código abierto usando la API de Discord.
Bifrost es un BOT de Discord de código abierto que funciona como Command and Control (C2). Este C2 utiliza la API de Discord para la comunicación entre clientes y servidor.
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 :(
