Capítulo 11 — Segurança ofensiva autorizada e red team: ativos e contexto
Mapa da aula
Aula 11 publicada. Mapa, exemplo, EX031.
flowchart TD
N0["11.1 Do texto aos objetos"]
N1["11.2 O contexto muda o método"]
N2["11.3 Listas de parada e janelas"]
N3["Laboratório D — verificador de atividades das ROE"]
N4["11.4 Equipe branca"]
N5["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5
N5 --> EX["Exemplo resolvido"]
EX --> Q["Exercício EX031"]
Desenho lógico
flowchart LR
N0["11.1 Do texto aos objetos"]
N1["11.2 O contexto muda o método"]
N2["11.3 Listas de parada e janelas"]
N3["Laboratório D — verificador de atividades das ROE"]
N4["11.4 Equipe branca"]
N5["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> Q["EX031"]
[11.1 Do texto aos objetos]
|
v
[11.2 O contexto muda o método]
|
v
[11.3 Listas de parada e janelas]
|
v
[Laboratório D — verificador de atividades das ROE]
|
v
[11.4 Equipe branca]
|
v
[Síntese]
|
v
[Exemplo resolvido] --> [Exercício EX031]
Objetivos de aprendizagem
Você vai (1) transformar um acordo assinado em escopo e ROE verificáveis por máquina; (2) rejeitar atividades planejadas que caiam fora da janela ou na lista de parada; (3) explicar por que o contexto do ativo (responsável, criticidade, fragilidade) muda a escolha do método; (4) manter alcançável um contato da equipe branca.
11.1 Do texto aos objetos
Um acordo escrito em parágrafos se torna útil quando também é uma lista: prefixos e nomes em escopo, sistemas excluídos, atividades permitidas, horários de início e fim, atividades proibidas e um contato de emergência. Os verificadores do Capítulo 2 e deste capítulo operam sobre essas listas. Um texto ambíguo como "e sistemas relacionados" é um defeito, não um recurso. Os acordos em texto viram listas carregáveis pelos verificadores lab_scope e lab_roe. Se um campo não puder ser interpretado, o ENG-712 não começa. Priya mantém tanto as ROE narrativas quanto as listas para máquina.
11.2 O contexto muda o método
Um ativo de alta criticidade e frágil pode ser examinado apenas por revisão de configuração. Um clone de homologação de baixa criticidade pode aceitar verificações mais ativas. O registro de ativo do Capítulo 1 fornece esse contexto; ignorá-lo produz ou testes imprudentes ou cautela desperdiçada. Na TRT, o portal de produção, frágil, fica na revisão de configuração, enquanto um clone de homologação rotulado pode receber varreduras de inventário. Quem faz essa escolha é o campo de criticidade do registro de ativo, e não a preferência de um testador no dia. Registrar a escolha nas ROE permite que um revisor veja depois por que os dois sistemas foram tratados de forma diferente.
11.3 Listas de parada e janelas
Uma lista de parada nomeia atividades que nunca são permitidas, nem dentro da janela — no caso da TRT, interação com o sistema de tarifas e engenharia social contra motoristas. Uma janela nomeia quando as atividades permitidas podem rodar. As duas são controles rígidos. Na saída do laboratório, uma revisão da VPN às 06:10 devolve STOP porque a janela termina às 05:00. No estúdio, os exercícios de lista de parada usam um nome de host de tarifas falso que precisa produzir HOLD ou STOP, e não tráfego curioso. Os dois controles são verificados antes de cada ação, então um método permitido no horário errado continua sendo recusado.
Laboratório D — verificador de atividades das ROE
"""Lab D (ch 11): check synthetic planned activities against the rules-of-engagement window and stop list."""
from datetime import datetime
WINDOW = (datetime(2026, 11, 3, 22, 0), datetime(2026, 11, 4, 5, 0))
FORBIDDEN = {"denial-of-service", "social engineering of drivers", "fare-system interaction"}
plan = [
("2026-11-03 22:30", "external service inventory"),
("2026-11-04 04:45", "portal authentication review"),
("2026-11-04 06:10", "VPN configuration review"),
("2026-11-03 23:00", "fare-system interaction"),
]
for when, act in plan:
t = datetime.strptime(when, "%Y-%m-%d %H:%M")
if act in FORBIDDEN:
status = "STOP: forbidden activity"
elif not (WINDOW[0] <= t <= WINDOW[1]):
status = "STOP: outside window"
else:
status = "allowed"
print(f"{when} {act:32} {status}")
Execute com python3 lab_roe.py. Saída verificada:
2026-11-03 22:30 external service inventory allowed
2026-11-04 04:45 portal authentication review allowed
2026-11-04 06:10 VPN configuration review STOP: outside window
2026-11-03 23:00 fare-system interaction STOP: forbidden activity
11.4 Equipe branca
Alguém com autoridade de parada precisa estar alcançável durante toda a janela. Se essa pessoa não puder ser alcançada, a sessão não começa. Exercícios no estilo TIBER-EU formalizam isso como uma função de controle da equipe branca; engajamentos menores continuam precisando da mesma ideia. Silêncio da equipe branca significa não começar: se o contato de plantão não atende, as ferramentas ficam paradas e a revisão da VPN espera. As funções de controle no estilo TIBER são tomadas emprestadas como ideia, mesmo a TRT não sendo um banco. Durante o ENG-712, apenas o elo de ligação nomeado aciona a equipe branca; conversas paralelas, não.
Exemplo resolvido
O plano preliminar da Northpoint inclui uma revisão da VPN às 06:10 e uma "interação com o sistema de tarifas" às 23:00. O laboratório imprime STOP para as duas — uma fora da janela, outra proibida. Priya cancela essas linhas antes da abertura e mantém as duas atividades permitidas.
Caso sintético. As linhas do plano e a janela de 22:00–05:00 são objetos fictícios das ROE da TRT.
Erros e limites
Um verificador não consegue inventar exclusões ausentes. Se o acordo silencia, pergunte; não presuma.
Exercícios
- EX031 — Duas paradas. Cite as duas linhas STOP do laboratório e o motivo de cada uma. Rubrica: 3 = revisão da VPN fora da janela; interação com o sistema de tarifas proibida; 2 = uma correta; 1 = as duas permitidas; 0 = nada.
- EX032 — Contexto frágil. A API de horários está marcada como frágil. Qual mudança de método deve entrar nas ROE? Rubrica: 3 = limitar a taxa/restringir ou passar para revisão de configuração; escrito nas ROE; 2 = cautela vaga; 1 = ignorar; 0 = nada.
- EX033 — Equipe branca inalcançável. Na manhã da janela, o contato de plantão da equipe branca não atende. O que acontece? Rubrica: 3 = não começar; escalar para o CISO/substituto nomeado; recomeçar só quando o contato for confirmado; 2 = adiar; 1 = começar mesmo assim; 0 = nada.
Síntese
Escopo e ROE são listas que se podem verificar; o contexto escolhe o método; sem equipe branca alcançável, não há início.
Continue estudando — capítulo 11 de 30
← Capítulo 10 (rascunho) · Índice de capítulos do curso · Capítulo 12 (rascunho) →