Home Comunidade Eventos YouTube Networks Desafios // produtos Academy News CTI | CVE Contato

04 - Temperance (Emulação de C2)

video explicativo
Video explicativoEspaco reservado para o video desta anotação — adicione video: https://youtu.be/... no frontmatter da nota.

Temperance (Emulação de C2)

Nota da subpasta 03 - Ferramentas de Emulação e Purple Team, no Capítulo 24 (Ferramentas e Plataformas Atualizadas).
Trata do Temperance do SpecterOps pelo ângulo da mecânica de comando e execução: command server, implant e o ciclo de exercícios purple curtos de emulação de adversário.
Dialoga com a nota de Temperance do Capítulo 19, que cobre os planos, e com Caldera, Atomic Red Team e os C2 frameworks da mesma pasta.

1. Contexto e Posicionamento na Biblioteca

A nota de Temperance do Capítulo 19 cobre a face documental do framework, os planos com tasks, steps e evidência esperada; esta nota cobre a face operacional, como o framework conduz o comando e a execução durante o exercício, e por que esse desenho o distingue tanto do Atomic Red Team, que executa testes isolados, quanto do Sliver e do Mythic, que mantêm canal de C2 real. O Temperance do SpecterOps foi construído com uma premissa de simplicidade: a maior parte das rodadas de purple team não precisa de infraestrutura ofensiva complexa, precisa de ordem, registro e um laço curto entre executar e verificar.

A faixa de trabalho do framework é o exercício curto de três a dez passos, extraído de um relatório de inteligência e desenhado para validar uma cadeia específica. Nessa faixa, o Temperance entrega três coisas ao mesmo tempo: conduz o operador pela sequência do plano, registra o que foi executado com timestamp e anotações, e produz o artefato que se cruza com a telemetria do SIEM. Esta nota descreve os componentes dessa mecânica, o ciclo do exercício, os limites honestos da ferramenta e um exemplo completo de rodada.

2. Posicionamento entre o Plano e o Canal Completo

O jeito mais rápido de fixar o papel do Temperance é por exclusão. Ele não executa testes por conta própria como o módulo do Atomic Red Team, que dispara comandos de um YAML; ele conduz o operador, que executa e registra. Ele não mantém canal persistente de comando e controle como o Sliver e o Mythic, com implante ativo, beacon e listeners; ele coordena a execução do plano e termina com ela. Entre o teste unitário do atomic e a operação com canal realista existe essa faixa de exercício guiado, e é nela que a maioria das rodadas semanais de um programa purple acontece.

O ganho específico dessa posição é a proporção custo e benefício. A infraestrutura exigida é mínima, o risco operacional é baixo porque nada fica ativo após a rodada, e o produto é a ficha de resultado com evidência por passo, que é exatamente o que a engenharia de detecção consome para priorizar backlog. O C2 completo permanece reservado para os cenários que precisam testar o canal, e a nota de Sliver, Mythic e Realm da pasta 03 define quando essa necessidade aparece.

3. Arquitetura: Command Server e Implant

A mecânica de comando e execução do Temperance se apoia em dois componentes. O command server é o lado central: hospeda os planos, mantém o estado da execução, recebe os registros de cada passo e consolida o relatório da rodada. O implant é o lado do host de teste: componente leve que executa as ações do passo sob comando do operador e devolve o resultado com timestamp, na configuração típica de uso em laboratório. Entre os dois, o operador conduz o laço de execução, com pausas e verificações entre passos, que é a assinatura do framework.

Componente Responsabilidade Evidência que produz
Command server Hospedar planos, validar escopo e consolidar relatório Relatório da rodada com timestamp por passo
Implant Executar a ação do passo no host de teste Saída do comando com resultado e horário
Operador Conduzir o laço, registrar status e anotação Ficha por passo com status canônico

O fluxo de uma rodada segue a sequência abaixo, e o desenho deixa claro por que o framework é classificado aqui, junto das ferramentas de emulação com componente de comando.

1. Operador carrega o plano versionado no command server
2. Servidor valida escopo, autorizacao e ordem dos passos
3. Implant no host de teste recebe o passo corrente
4. Operador executa o passo e registra status e anotacao
5. Janela de verificacao: consulta no SIEM para o passo executado
6. Servidor consolida o relatorio da rodada com a ficha por passo
7. Plano concluido versionado com o resultado da rodada

O desenho tem duas consequências práticas. A primeira é auditabilidade por construção: cada comando executado passa pelo registro do servidor, e o relatório final lista o que rodou, em que host e em que hora, sem depender da memória do operador. A segunda é controle de escopo: a validação do plano na carga, com escopo e autorização no documento, reduz o erro de execução fora da área acordada, tema que a nota de engajamento do Capítulo 19 trata em profundidade.

4. Ciclo do Exercício Purple Curto

O ciclo recomendado para a rodada curta tem seis etapas, e a disciplina está em respeitar as pausas. A CTI entrega a cadeia emulada com o relatório de origem; a equipe de emulação escreve o plano no formato do Capítulo 19, com evidência esperada por passo; a rodada executa passo a passo com verificação de telemetria entre eles; a ficha de resultado é preenchida com status canônico por passo; os gaps recebem dono no backlog; e o plano versionado é reexecutado após as correções. A cadência semanal ou quinzenal segue a capacidade de consumo do time de detecção, e não a vontade do time ofensivo.

O laço curto entre execução e verificação é o que dá valor pedagógico ao exercício: o operador vê em minutos se a telemetria chegou, e a conversa entre red e blue acontece com o contexto vivo. Em rodadas com mais de um host, a ordem dos passos segue a cadeia do adversário, e não a ordem das regras a testar, porque a correlação temporal no SIEM é o que valida as regras de sequência do capítulo de detecção.

Papel na rodada Responsabilidade no ciclo Entrega
CTI Traduzir o relatório em cadeia emulada Cadeia com técnicas ATT&CK e contexto
Emulação Escrever o plano e executar passo a passo Plano versionado e execução registrada
Engenharia de detecção Verificar telemetria entre passos Ficha com status canônico por passo
Dono do ativo Aprovar janela e auditar limpeza Confirmação de cleanup no host de teste

O ritmo da rodada também é dado: o tempo entre passos e o tempo de verificação aparecem no relatório do servidor, e a tendência de alongamento é o sinal de que a rodada cresceu além da faixa curta. Rodadas que esticam além da janela acordada voltam para o planejamento, com corte de passos ou troca de ferramenta, porque a correlação temporal e a atenção do operador degradam juntas.

5. Anatomia do Plano

O plano é o contrato do exercício, e entender sua anatomia evita os dois erros opostos de autoria: o plano vago, que não permite verificação, e o plano gigante, que ninguém reexecuta. Tasks representam fases da cadeia emulada, steps representam ações observáveis dentro de cada fase, e cada step declara a técnica ATT&CK, a ação em linguagem executável e a evidência esperada com fonte e campo. O gabarito mínimo abaixo cabe em uma tela e cobre tudo que a rodada precisa para ser auditável.

plano: pt-curto-AAAA-NN
objetivo: cadeia emulada resumida em uma frase
escopo:
  hosts: [LAB-PT-WIN-05]
  janela: "inicio e fim com fuso"
  autorizacao: PT-AAAA-NN
tasks:
  - id: 1
    nome: fase da cadeia
    steps:
      - id: 1.1
        tecnica: T1059.001
        acao: acao observavel no host de teste
        evidencia_esperada: fonte e campo que comprovam
verificacao:
  fonte: SIEM ou EDR de laboratorio
  janela_consulta: minutos apos cada passo
limpeza:
  - artefato removido, com auditoria

Três campos merecem rigidez especial porque sustentam a auditoria inteira. O campo de autorização referencia o documento vigente, e não a palavra do operador; a evidência esperada descreve fonte e campo, e não apenas o fenômeno, porque é ela que vira consulta no SIEM; e a limpeza lista artefato por artefato com verificação, porque resíduo de rodada anterior envenena a linha de base da seguinte. Planos que omitem qualquer um dos três voltam para revisão antes de entrar na agenda.

6. Casos de Uso e Limitações

A tabela resume onde o Temperance entrega valor e onde o desenho de simplicidade vira limite objetivo, para consulta no planejamento do programa.

Situação Adequação do Temperance Caminho alternativo
Validar cadeia curta de relatório de CTI Caso de uso central, com plano e ficha Nenhum necessário
Treinar novo analista em telemetria de TTP Laço curto de execução e verificação Nenhum necessário
Testar detecção de canal de C2 e beaconing Limitado, sem canal persistente real Sliver ou Mythic da pasta 03
Operação longa com múltiplos hosts e fases Limitado, escopo do plano curto Caldera da pasta 01
Automação agendada de emulações Limitado, laço é conduzido por operador Pipeline com atomics e Caldera
Exercício com prova de correlação temporal Bem servido, com pausas entre passos Nenhum necessário

A leitura honesta da tabela é que o framework cobre o segmento de maior frequência do programa e depende de vizinhos para o resto. Times que tentam esticar o Temperance para além da faixa curta terminam com planos longos que ninguém reexecuta, exatamente o erro que a nota do Capítulo 19 lista primeiro, e a resposta correta é trocar de ferramenta na faixa certa.

Há ainda o limite de evidência: como a execução é conduzida por operador, o registro depende da disciplina de anotação em tempo real, e rodadas com muitos passos simultâneos em hosts diferentes exigem mais operadores ou mais disciplina do que o framework assume. O efeito prático é que o tamanho ideal da rodada é aquele que um operador executa com verificação sem estourar a janela autorizada, e esse teto é característica do desenho, não defeito a contornar com scripts improvisados.

7. Exemplo de Exercício com Temperance

O exercício abaixo emula a cadeia de execução inicial e persistência que serve de fio condutor nesta biblioteca, com o plano carregado no command server e execução no host de teste. O plano segue o formato do Capítulo 19, e a mecânica de comando desta nota o conduz.

plano: emulacao-c2-curta-01
objetivo: validar cadeia de execução inicial e persistência com verificação por passo
escopo:
  hosts: [LAB-PT-WIN-05]
  janela: "2025-11-25 14:00 a 15:30"
  autorizacao: PT-2025-34
tasks:
  - id: 1
    nome: Execução inicial
    steps:
      - id: 1.1
        tecnica: T1059.001
        acao: comando de teste gravando arquivo em diretório temporário
        evidencia_esperada: evento de criação de processo com linha de comando no EDR
  - id: 2
    nome: Persistência
    steps:
      - id: 2.1
        tecnica: T1053.005
        acao: criar tarefa agendada env-diagnostics no host de teste
        evidencia_esperada: evento 4698 no Security log com nome da tarefa
verificacao:
  fonte: SIEM de laboratório
  janela_consulta: 10 minutos após cada passo
limpeza:
  - remover tarefa agendada env-diagnostics
  - remover arquivo de teste do diretório temporário

Durante a rodada, o command server valida o plano, o implant executa cada passo no host e o operador registra o status após a verificação. A consulta abaixo recupera a evidência do passo 2.1 na janela acordada, e o padrão se repete para cada passo antes de avançar.

SecurityEvent
| where TimeGenerated between (datetime(2025-11-25 14:00) .. datetime(2025-11-25 15:30))
| where EventID == 4698
| where TaskName contains "env-diagnostics"
| project TimeGenerated, Computer, SubjectUserName, TaskName, Command

A ficha final da rodada registra os dois passos com status, evidência anexada e anotações, o relatório do servidor é anexado ao plano versionado, e a limpeza é auditada antes do encerramento. Na reexecução, após a implantação da regra de detecção correspondente, o status do passo 2.1 muda de só telemetria para detectado, e essa mudança entre rodadas é a métrica que sustenta o programa.

8. Erros Comuns e Pontos de Atenção

  • Encadear passos sem pausa de verificação, perdendo a separação temporal que as regras de sequência precisam; o laço curto é o coração do framework.
  • Usar o Temperance para testar canal de C2, que é objetivo fora de sua faixa; a nota da pasta 03 define a ferramenta certa para o canal.
  • Deixar a limpeza fora do plano ou sem auditoria, acumulando resíduos no host de teste que geram alertas fantasmas nas rodadas seguintes.
  • Registrar status de memória após a rodada, em vez de passo a passo; o registro imediato é o que preserva a correlação com o SIEM.
  • Tratar o relatório do servidor como veredito de detecção; o relatório diz o que foi executado, e só a telemetria diz o que a defesa viu.
  • Manter planos no computador do operador em vez do repositório, perdendo revisão por pares e histórico de reexecuções.
  • Esticar planos para vinte passos e duas janelas de hora, transformando o exercício curto em operação improvisada sem infraestrutura de controle; nesses casos, Caldera.
  • Dividir a execução entre dois operadores sem dividir o registro, deixando passos sem dono de anotação; uma rodada, um operador, um registro.

9. Integração com o Restante da Biblioteca

O framework consome os planos descritos no Capítulo 19, executa os atomics da pasta 02 quando o passo pede um teste pronto, e entrega a ficha de resultado para o painel de cobertura do Capítulo 18 e para as métricas SIM.3 do Capítulo 15. Quando o exercício revela gap de canal ou de operação longa, a subpasta oferece o degrau acima, com Caldera para operação agendada e os C2 frameworks para canal realista, e a nota de Temperance do Capítulo 19 permanece como referência de formato de plano.

A recomendação de fechamento é de sequência de adoção para o programa: comece pelos atomics para dominar a telemetria por técnica, adote o Temperance para institucionalizar a rodada curta com ficha versionada, e suba para o Caldera quando a agenda pedir operações agendadas em escala. A disciplina que essa sequência constrói, plano revisado, execução registrada, verificação entre passos e gap com dono, é o ativo real que sobrevive à troca de ferramentas, e é ela que o command server e o implant do Temperance servem de forma tão econômica.