Perfil C2 de Mythic que tuneliza el tráfico de los agentes Athena y Apollo a través de mensajes bot-a-bot de Telegram, conectando payloads cifrados a Mythic mediante su servicio gRPC Push C2.
Telegram proporciona un perfil C2 de Mythic para los agentes Athena y Apollo. Utiliza mensajes privados bot-a-bot de Telegram como transporte y el servicio gRPC Push C2 de Mythic como puente controlador.
Athena or Apollo agent bot <-> Telegram Bot API <-> controller bot <-> Telegram C2 service <-> Mythic
Cada agente en ejecución utiliza su propio token de la Bot API. El servicio C2 utiliza un token de bot controlador. Ambos bots deben tener habilitado el Modo de Comunicación Bot-a-Bot de Telegram.
Los mensajes utilizan un pequeño envoltorio JSON y se dividen en fragmentos de 2.800 caracteres antes de enviarse mediante sendMessage. Los payloads de los agentes conservan su cifrado aes256_hmac; el servicio de Telegram reenvía los mensajes cifrados de Mythic sin descifrarlos.
Ejecute este comando desde el directorio de Mythic:
./mythic-cli install github https://github.com/DavidCarliez/mythic_telegram_profile
Para desarrollo local, instale el checkout en su lugar:
./mythic-cli install folder /path/to/telegram -f
Instale uno de los forks de agente compatibles en el mismo despliegue de 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 comparten una única cola de actualizaciones.Los mensajes privados bot-a-bot requieren el modo de comunicación en ambos bots. Telegram documenta este requisito en su guía de Comunicación Bot-a-Bot.
En Mythic, abra C2 Profiles, despliegue las acciones de telegram y seleccione View/Edit Config. Configure:
| Key | Value |
|---|---|
botToken | Token del bot controlador de BotFather |
apiBase | https://api.telegram.org a menos que utilice un servidor local de la Bot API compatible |
pollTimeout | Tiempo de espera de long-poll de 1 a 50 segundos |
mythicGrpc | Endpoint gRPC Push C2 de Mythic; mantenga el valor proporcionado para un despliegue normal de Mythic |
Guarde la configuración y, a continuación, inicie el perfil.
Seleccione el perfil C2 telegram al compilar Athena o Apollo y proporcione:
| Parameter | Description |
|---|---|
bot_token | Token del bot de agente dedicado al payload |
controller_bot | Nombre de usuario del bot controlador, con o sin @ |
api_base | URL base de la Telegram Bot API |
message_checks | Número máximo de long polls mientras se espera cada respuesta del controlador |
time_between_checks | Tiempo de espera de long-poll en segundos |
callback_interval | Intervalo de callback del agente en segundos |
callback_jitter | Porcentaje de jitter del callback del agente |
AESPSK | Cifrado de mensajes aes256_hmac |
user_agent | User-Agent HTTP enviado a Telegram |
proxy_* | Configuración opcional de proxy HTTP |
killdate | Fecha de expiración del payload |
AESPSK habilitado.getUpdates consumirían las respuestas de las demás.Cada mensaje de texto de Telegram contiene un objeto JSON con estos campos:
v: versión del protocolo, actualmente 1sender_id: identificador de ruta aleatorio generado por el proceso del agenteclient_id: identificador de ruta de respuestato_server: indicador de direcciónpacket_id: identificador del conjunto de fragmentosreply_to: identificador de solicitud confirmado por una respuesta del controladorsleep: intervalo de callback actual del agente en segundosjitter: porcentaje de jitter del callback actual del agentechunk: índice de fragmento basado en cerochunks: número total de fragmentos, limitado a 256message: fragmento de mensaje cifrado de MythicLos conjuntos de fragmentos incompletos expiran después de diez minutos.