Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
msteams — Perfil C2 Mythic que faz túnel do tráfego do agente através de canais do Microsoft Teams usando a API do Microsoft Graph, com criptografia AES256, jitter, datas de encerramento e suporte a proxy. | Kitploit
Ferramentas/GitHubGitHub/whispergate/msteams
Ferramentas DefensivasFrameworks de Testes de PenetraçãoFerramentas de Criptografia/DescriptografiaPós-ExploraçãoComando e ControleUtilitários e FrameworksRed TeamingDesenvolvimento de Payloads
GitHubwhispergate/msteams

msteams

Perfil C2 Mythic que faz túnel do tráfego do agente através de canais do Microsoft Teams usando a API do Microsoft Graph, com criptografia AES256, jitter, datas de encerramento e suporte a proxy.

2817há 2 diasAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Ver Repositório
Compartilhar

msteams

Um Perfil C2 do Mythic que usa a API do Microsoft Graph para se comunicar através de um canal do Microsoft Teams.

Como Funciona

root@kitploit:~
Agent <---> Microsoft Teams Channel <---> C2 Server <---> Mythic
  1. O agent autentica-se no Microsoft Entra ID através de credenciais de cliente OAuth2
  2. Publica a sua mensagem Mythic (codificada em base64, encriptada com AES) num canal do Teams
  3. O servidor C2 consulta o canal através da API Graph e reencaminha as novas mensagens para o Mythic
  4. A resposta do Mythic é publicada de volta no canal
  5. O agent consulta o canal e recolhe a resposta

A comunicação aparece como atividade normal do canal do Teams.

Este perfil suporta:

  • Kill Dates
  • Intervalos de Sleep com Jitter
  • Encriptação AES256
  • Configuração de Proxy
  • Limpeza opcional de mensagens (eliminar mensagens após processamento)
  • Fallback por Webhook para envio

Instalação

A partir do seu servidor Mythic:

root@kitploit:~
sudo ./mythic-cli install github https://github.com/Whispergate/msteams

Ou a partir de uma pasta local:

root@kitploit:~
sudo ./mythic-cli install folder /path/to/msteams

Configuração do Entra ID

  1. Registo de Aplicação - Criar no Portal do Azure > Microsoft Entra ID > Registos de aplicações
  2. Segredo do Cliente - Gerar em Certificados e segredos
  3. Permissões de API - Conceder permissões de aplicação e consentimento de administrador:
    • ChannelMessage.Read.All - Ler mensagens do canal
    • ChannelMessage.Send - Enviar mensagens do canal
  4. IDs da Equipa e do Canal - Obter através do Graph Explorer ou do link do canal no cliente Teams

Se ChannelMessage.Send não estiver disponível, use Group.ReadWrite.All ou configure um URL de webhook.

As instruções completas de configuração encontram-se na página de documentação do Mythic após a instalação em https://<your-mythic-server>:7443/docs/c2-profiles/msteams.

Configuração

Editar através da UI do Mythic: C2 Profiles > msteams > View/Edit Config.

ParâmetroDescriçãoPredefinição
tenant_idID do tenant (diretório) do Entra ID
client_idID de cliente do registo de aplicação
client_secretSegredo de cliente do registo de aplicação
team_idID da equipa do Teams
channel_idID do canal do Teams
webhook_urlURL de webhook opcional para envio
graph_baseURL base da API Graphhttps://graph.microsoft.com/v1.0
login_baseURL base do endpoint de loginhttps://login.microsoftonline.com
poll_intervalSegundos entre consultas10
clear_messagesEliminar mensagens após processamentofalse
debugAtivar registo detalhadofalse

Agents Compatíveis

  • Starburst - Suporte completo através do transporte MS Teams baseado em WinHTTP

Qualquer agent Mythic que implemente os parâmetros do perfil C2 msteams pode usar este perfil. O agent precisa de:

  1. Autenticar-se na API Graph usando as credenciais configuradas
  2. Publicar mensagens Mythic codificadas em base64 no canal do Teams configurado
  3. Consultar o canal à procura de respostas do servidor C2

Testar Sem Azure

Uma infraestrutura de teste simulada está incluída em test/ para testes locais sem qualquer conta Azure ou M365. Isto permite-lhe testar todo o pipeline C2 — incluindo implants compilados — contra uma API Graph falsa local.

Configuração do Servidor Simulado

  1. Copie test/mock_server.py para o seu host Mythic e inicie-o:

    root@kitploit:~
    python3 mock_server.py
    

    Isto inicia uma API Graph falsa na porta 8443.

  2. Configure o perfil C2 msteams no Mythic com valores simulados:

    root@kitploit:~
    {
      "tenant_id": "fake-tenant-id",
      "client_id": "fake-client-id",
      "client_secret": "fake-client-secret",
      "team_id": "fake-team-id",
      "channel_id": "fake-channel-id",
      "graph_base": "http://<mythic-host-ip>:8443/v1.0",
      "login_base": "http://<mythic-host-ip>:8443",
      "poll_interval": 3,
      "clear_messages": true,
      "debug": true
    }
    
  3. Inicie o perfil msteams na UI do Mythic.

Testar com um Implant Compilado (Starburst)

Para testar um agent compilado real contra o mock, o binário do agent precisa de ser compilado com o IP e a porta do servidor simulado codificados em vez dos endpoints reais da API Graph. No código do agent Starburst (agent_code/src/transport/msteams.cc):

root@kitploit:~
// Change these for mock testing:
#define GRAPH_API_HOST  "<mythic-host-ip>"
#define LOGIN_HOST      "<mythic-host-ip>"
#define API_PORT        8443

// And change WINHTTP_FLAG_SECURE to 0 in WinHttpOpenRequest
// since the mock server uses plain HTTP:
        WINHTTP_DEFAULT_ACCEPT_TYPES,
        0

Depois reinstale o Starburst, compile um payload com o perfil msteams (usando os mesmos IDs falsos de tenant/client/team/channel) e execute-o numa VM Windows que consiga alcançar o host Mythic.

Lembre-se de reverter estas alterações antes de compilar payloads de produção:

root@kitploit:~
#define GRAPH_API_HOST  "graph.microsoft.com"
#define LOGIN_HOST      "login.microsoftonline.com"
#define API_PORT        443

        WINHTTP_DEFAULT_ACCEPT_TYPES,
        WINHTTP_FLAG_SECURE

Testar com o Agent Falso (Sem Compilação)

Para um teste rápido do pipeline sem compilar um agent:

root@kitploit:~
GRAPH_URL=http://<mythic-host-ip>:8443 python test/fake_agent.py

Consulte test/README.md para mais detalhes.

Considerações de OPSEC

  • Use um canal privado dedicado com o mínimo de membros
  • Ative clear_messages para limpar após o processamento
  • Mantenha o poll_interval razoável (10-30s) para evitar limitação de taxa
  • Todas as mensagens são encriptadas com AES256 ao nível do payload do Mythic
  • As mensagens do Teams NÃO são encriptadas ponto-a-ponto (visíveis para administradores do tenant e para a Microsoft)
  • O limite de taxa da API Graph é de aproximadamente 30 pedidos por segundo por aplicação por tenant

Estrutura de Ficheiros

root@kitploit:~
msteams/
  config.json                          # Mythic container config
  C2_Profiles/msteams/
    Dockerfile                         # Container image
    main.py                            # Mythic service entrypoint
    requirements.txt                   # Python dependencies
    rabbitmq_config.json               # RabbitMQ settings
    msteams/
      c2_functions/msteams.py          # C2Profile class + parameters
      c2_code/
        server.py                      # Main polling loop
        graph_client.py                # MS Graph API client
        mythic_client.py               # Mythic API forwarder
        config.py                      # Config singleton
        config.json                    # Default config values
  documentation-c2/msteams/_index.md   # Mythic docs page
  test/
    mock_server.py                     # Mock Graph API server
    fake_agent.py                      # Simulated agent for testing
    test_c2_server.py                  # Standalone C2 server test harness
    test_config.json                   # Test config with fake values
Baixar ferramenta