
Bifrost C2. Pós-exploração de código aberto usando a API do Discord.
Bifrost é um BOT do Discord de código aberto que funciona como Comando e Controle (C2). Este C2 usa a API do Discord para comunicação entre clientes e servidor.
Desenvolvido com Python, este C2 possui múltiplas funcionalidades para pós-exploração.
Como mencionado anteriormente, o Bifrost é basicamente um bot do Discord que recebe comandos do usuário do Discord e executa uma tarefa pré-definida.
Então, para cada cliente que você for "infectar", você enviará uma cópia deste bot do Discord, e ele responderá a você usando o Discord. Isso permite que você se esconda atrás do serviço do Discord, sendo furtivo e tendo uma conexão segura entre você e seu cliente.
Aviso: Este projeto deve ser usado apenas para testes autorizados ou fins educacionais.
Atualmente, o Bifrost é detectado pelo Windows Defender, já estou tentando resolver esse "problema" e contorná-lo novamente.
A detecção no Virustotal foi de 5/67 quando não havia nenhuma defesa contra execução em sandbox.
Os antivírus que detectaram o Bifrost como malicioso foram SecureAge APEX, Jiangmin, Cynet, Zillya e Palo Alto Networks
O Bifrost é um projeto aberto, então, se você quiser adicionar alguma funcionalidade, melhorar recursos ou desempenho do código no Bifrost, a melhor maneira de incluí-lo no projeto principal é criar um fork e abrir um pull request.
1 - Clone ou baixe o código fonte do Bifrost;
2 - Instale as dependências das bibliotecas;
pip install -r requirements.txt
3 - Tenha uma conta no Discord;
4 - Crie uma aplicação (Bot) no Discord;
5 - Vá para a aba General Information e copie seu ID da Aplicação;
6 - Vá para a aba Bot, crie o Bot e copie seu token
7 - Convide seu bot para o seu servidor do Discord preenchendo o seguinte link com seu ID da Aplicação;
https://discord.com/oauth2/authorize?client_id=<APP_ID>&scope=bot&permissions=8
8 - Agora crie um canal no seu servidor do Discord e copie seu ID;
Obs.: Ative a função de desenvolvedor no seu aplicativo do Discord para copiar o ID do canal facilmente.
Agora com essas duas informações (ID do canal e Token do Bot), altere os valores das variáveis nas linhas 22 e 23 do arquivo bifrost.py para os valores da sua conta/canal.
Após criar seu bot, canal e alterar os valores das variáveis, siga os passos abaixo para implantar o payload em seu cliente
Crie um arquivo executável do bifrost usando pyinstaller, ou envie o bifrost.py para o cliente e instale todas as dependências.
Usando o arquivo executável, o cliente não precisa ter python ou quaisquer dependências pré-instaladas.
pyinstaller bifrost.py --onefile --noconsole --key th3r4ven_bifrost ou
python -m pyinstaller bifrost.py --onefile --noconsole --key th3r4ven_bifrost
OBS.: Todos esses parâmetros são opcionais, leia a documentação do pyinstaller para mais informações sobre como usá-lo.
Você pode enviar o bifrost.py e instalar as dependências, ou criar um script/executável para automatizar esse processo, similar à instalação no Windows
Streaming de tela ao vivo não é possível através da API do Discord :(
