Bifrost es un BOT de Discord de código abierto que funciona como Comando y Control (C2). Este C2 utiliza la API de Discord para la comunicación entre los clientes y el servidor.
Desarrollado con Python, este C2 tiene múltiples características para la post-explotación.
¿Cómo Funciona Bifrost?
Como se mencionó anteriormente, Bifrost es básicamente un bot de Discord que recibe comandos del usuario de Discord y hace una tarea predefinida.
Así que por cada cliente que vayas a “infectar“, enviarás una copia de este bot de Discord, y éste 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.
VirusTotal
Bifrost es actualmente detectado por Windows defender, el autor está tratando de resolver este “problema”, y eludirlo de nuevo.
La detección de Virustotal fue de 5/67 cuando no había ninguna defensa contra la ejecución del sandbox.
Los antivirus que detectaron Bifrost como malicioso fueron SecureAge APEX, Jiangmin, Cynet, Zillya y Palo Alto Networks.
Características de Bifrost
- Múltiples clientes.
- Soporte multiplataforma.
- Registrador de teclas.
- Enumeración de antivirus.
- Comunicación en tiempo real.
- Comunicación encriptada (HTTPS).
- Comunicación rápida y sigilosa a través de la API de Discord.
- Sin necesidad de servicio público.
- Recogida de capturas de pantalla.
- Descarga y subida de archivos.
Instalación
1 – Clonar o descargar el código fuente de Bifrost;
2 – Instalar las dependencias de las librerías;
pip install -r requirements.txt
3 – Tener una cuenta de Discord;
4 – Crear una aplicación (Bot) en Discord;
5 – Ve a la pestaña de información general y copia tu Application ID;
6 – Ve a la pestaña Bot, crea el Bot y copia tu token
7 – Invita a tu bot a tu servidor de Discord rellenando 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 tu ID;
Obs.: Activa la función de desarrolladores en tu app de Discord para copiar el ID del canal fácilmente.
Ahora con esos 2 datos (ID del canal y Bot Token), cambia los valores var
en las líneas 21 y 22 del archivo bifrost.py
a los valores de tu cuenta/canal.
TOKEN = ""
CHANNEL_ID = 123456
Instalación en el Cliente
Después de crear tu bot, canal y cambiar los valores de las variables, sigue los pasos siguientes para desplegar la carga útil (payload) en tu cliente
Windows
Crear un archivo ejecutable de bifrost usando pyinstaller
, o enviando bifrost.py
al cliente e instalando todas las dependencias.
Usando el archivo ejecutable, el cliente no necesita tener Python o cualquier 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 su uso. También puedes echar un vistazo a nuestro artículo Python para Hackers.
Linux\Mac OS
Puedes enviar el bifrost.py
e instalar las dependencias, o crear un script/ejecutable para automatizar este proceso, similar a la instalación de Windows.
Por Hacer
- Función de persistencia
- Conexión de shell vinculada
- Descarga sigilosa
- Subir archivos grandes de forma anónima
- Transmisión de voz en vivo/grabada
- Corregir errores/problemas
- Ejecución en memoria
*La transmisión en vivo de la pantalla no es posible a través de la API de Discord.
Capturas de Pantalla
https://github.com/th3r4ven/Bifrost