Perfil C2 do Mythic que faz túnel do tráfego dos agentes Athena e Apollo através de mensagens bot-a-bot do Telegram, encaminhando payloads criptografados para o Mythic através do seu serviço gRPC Push C2.
O Telegram fornece um perfil C2 do Mythic para os agentes Athena e Apollo. Ele usa mensagens privadas bot-to-bot do Telegram como transporte e o serviço gRPC Push C2 do Mythic como ponte de controle.
Athena or Apollo agent bot <-> Telegram Bot API <-> controller bot <-> Telegram C2 service <-> Mythic
Cada agente em execução usa seu próprio token da Bot API. O serviço C2 usa um token de bot controlador. Ambos os bots devem ter o Modo de Comunicação Bot-to-Bot do Telegram habilitado.
As mensagens usam um pequeno envelope JSON e são divididas em blocos de 2.800 caracteres antes de serem enviadas por sendMessage. Os payloads dos agentes mantêm sua criptografia aes256_hmac; o serviço do Telegram encaminha mensagens Mythic criptografadas sem descriptografá-las.
Execute este comando a partir do diretório do Mythic:
./mythic-cli install github https://github.com/DavidCarliez/mythic_telegram_profile
Para desenvolvimento local, instale o checkout em vez disso:
./mythic-cli install folder /path/to/telegram -f
Instale um dos forks de agente compatíveis na mesma implantação do Mythic:
# Athena
./mythic-cli install github https://github.com/DavidCarliez/Athena -b telegram-c2
# Apollo
./mythic-cli install github https://github.com/DavidCarliez/Apollo -b telegram-c2
getUpdates compartilham uma única fila de atualizações.Mensagens privadas bot-to-bot exigem o modo de comunicação em ambos os bots. O Telegram documenta o requisito em seu guia Bot-to-Bot Communication.
No Mythic, abra C2 Profiles, expanda as ações de telegram e selecione View/Edit Config. Defina:
| Key | Value |
|---|---|
botToken | Token do bot controlador do BotFather |
apiBase | https://api.telegram.org, a menos que esteja usando um servidor local compatível com a Bot API |
pollTimeout | Tempo limite de long-poll de 1 a 50 segundos |
mythicGrpc | Endpoint gRPC Push C2 do Mythic; mantenha o valor fornecido para uma implantação normal do Mythic |
Salve a configuração e inicie o perfil.
Selecione o perfil C2 telegram ao criar o Athena ou o Apollo e forneça:
| Parameter | Description |
|---|---|
bot_token | Token do bot de agente dedicado ao payload |
controller_bot | Nome de usuário do bot controlador, com ou sem @ |
api_base | URL base da Telegram Bot API |
message_checks | Número máximo de long polls enquanto aguarda cada resposta do controlador |
time_between_checks | Tempo limite de long-poll em segundos |
callback_interval | Intervalo de callback do agente em segundos |
callback_jitter | Percentual de jitter do callback do agente |
AESPSK | Criptografia de mensagens aes256_hmac |
user_agent | User-Agent HTTP enviado ao Telegram |
proxy_* | Configurações opcionais de proxy HTTP |
killdate | Data de expiração do payload |
AESPSK habilitado.getUpdates consumiriam as respostas umas das outras.Cada mensagem de texto do Telegram contém um objeto JSON com estes campos:
v: versão do protocolo, atualmente 1sender_id: identificador de rota aleatório gerado pelo processo do agenteclient_id: identificador de rota de respostato_server: flag de direçãopacket_id: identificador do conjunto de blocosreply_to: identificador de requisição reconhecido por uma resposta do controladorsleep: intervalo de callback atual do agente em segundosjitter: percentual de jitter do callback atual do agentechunk: índice de bloco baseado em zerochunks: contagem total de blocos, limitada a 256message: fragmento de mensagem Mythic criptografadaConjuntos de blocos incompletos expiram após dez minutos.