◇ OpenCyber Academy
Tecnólogo · Capítulo 15 · Português

Capítulo 15 — Segurança ofensiva autorizada e red team: laboratório guiado

Ensino gratuito e aberto para quem deseja proteger pessoas e tecnologias. Não é preciso criar uma conta para estudar ou consultar as respostas.

Capítulo 15 — Segurança ofensiva autorizada e red team: laboratório guiado

Mapa da aula

Aula 15 publicada. Mapa, exemplo, EX043.

flowchart TD
  N0["15.1 Três controles"]
  N1["15.2 O registro do operador"]
  N2["Laboratório F — pipeline guiado"]
  N3["15.3 HOLD é um recurso"]
  N4["15.4 Uso pelo revisor"]
  N5["Síntese"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5
  N5 --> EX["Exemplo resolvido"]
  EX --> Q["Exercício EX043"]

Desenho lógico

flowchart LR
  N0["15.1 Três controles"]
  N1["15.2 O registro do operador"]
  N2["Laboratório F — pipeline guiado"]
  N3["15.3 HOLD é um recurso"]
  N4["15.4 Uso pelo revisor"]
  N5["Síntese"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> Q["EX043"]
[15.1 Três controles]
    |
    v
[15.2 O registro do operador]
    |
    v
[Laboratório F — pipeline guiado]
    |
    v
[15.3 HOLD é um recurso]
    |
    v
[15.4 Uso pelo revisor]
    |
    v
[Síntese]
    |
    v
[Exemplo resolvido] --> [Exercício EX043]

Objetivos de aprendizagem

Você vai (1) executar um pipeline de três controles que admite uma ação apenas quando alvo, horário e atividade passam; (2) manter um registro do operador com as ações admitidas; (3) explicar por que um HOLD é um sucesso, e não uma falha; (4) entregar o registro a um revisor como evidência de disciplina.

15.1 Três controles

Toda ação planejada tem um endereço de alvo, um carimbo de tempo e um nome de atividade. O alvo precisa estar no prefixo em escopo, o horário dentro da janela e a atividade na lista aprovada. Se qualquer controle falhar, a ação não prossegue. Na saída do Laboratório F, A2 é retida no controle de atividade e A3 no controle de alvo, então nenhuma das duas chega ao registro do operador. Priya registra as duas linhas HOLD em capturas de tela nas notas de treinamento, porque no ENG-712 os controles são o produto e a improvisação é o defeito.

15.2 O registro do operador

Apenas as ações que passam pelos três controles são escritas no registro do operador. O registro é a evidência de que a equipe ficou dentro do acordo. Um registro cheio de improvisação é um achado contra a própria equipe de testes. No laboratório, apenas A1 e A4 passam pelos três controles, então são as únicas entradas do registro do operador. Priya revisa o registro antes da sessão com o CISO e o compara com o histórico do chat. Qualquer ação que apareça no chat, mas não no registro, é uma ação nas sombras e vira um achado de processo contra a Northpoint.

Laboratório F — pipeline guiado

"""Lab F (ch 15): guided pipeline - an action is logged only if target, time and activity all pass."""
import ipaddress
from datetime import datetime
scope = ipaddress.ip_network("192.0.2.0/25")
window = (datetime(2026, 11, 3, 22, 0), datetime(2026, 11, 4, 5, 0))
approved = {"service inventory", "authentication review", "configuration review"}
actions = [
    ("A1", "192.0.2.12", "2026-11-03 22:15", "service inventory"),
    ("A2", "192.0.2.12", "2026-11-03 22:40", "password spraying"),
    ("A3", "192.0.2.140", "2026-11-03 23:05", "configuration review"),
    ("A4", "192.0.2.30", "2026-11-04 01:20", "authentication review"),
]
log = []
for aid, ip, when, act in actions:
    checks = {
        "target": ipaddress.ip_address(ip) in scope,
        "time": window[0] <= datetime.strptime(when, "%Y-%m-%d %H:%M") <= window[1],
        "activity": act in approved,
    }
    failed = [k for k, ok in checks.items() if not ok]
    print(aid, "PROCEED" if not failed else "HOLD (" + ",".join(failed) + ")")
    if not failed:
        log.append(aid)
print("operator log entries:", log)

Execute com python3 lab_pipeline.py. Saída verificada:

A1 PROCEED
A2 HOLD (activity)
A3 HOLD (target)
A4 PROCEED
operator log entries: ['A1', 'A4']

15.3 HOLD é um recurso

A2 é retida porque "password spraying" não é uma atividade aprovada. A3 é retida porque o alvo está fora do /25. Esses HOLDs protegem a TRT e a Northpoint. Celebrar um HOLD na reunião de encerramento ensina aos juniores que a contenção é profissional. As reuniões de encerramento dão aos HOLDs e aos STOPs de pagamento de tarifas o mesmo reconhecimento que aos achados. As notas do estúdio concedem pontos por HOLDs documentados que impediram trabalho fora de escopo ou fora da janela. Juniores que escondem um HOLD para parecer produtivos são reprovados na nota do estúdio, porque escondê-lo apaga a evidência de que os controles funcionaram.

15.4 Uso pelo revisor

Um revisor deve conseguir repetir os controles sobre o registro. Se aparecer uma entrada que não passaria, o engajamento tem uma falha de processo, independentemente de algo "interessante" ter sido encontrado. A revisão por pares dos pacotes de treinamento do ENG-712 inclui executar de novo as verificações dos controles sobre cada entrada do registro. Se uma entrada teria sido retida, o engajamento registra uma falha de processo mesmo quando o achado relacionado parece impressionante. O processo é avaliado ao lado dos achados, então um resultado forte não consegue esconder um registro que os controles teriam rejeitado.

Exemplo resolvido

Quatro ações candidatas entram no pipeline. A1 e A4 prosseguem; A2 e A3 ficam retidas. O registro do operador contém apenas ['A1', 'A4']. Priya anexa essa saída aos registros do engajamento antes do fim do turno da noite.

Caso sintético. As quatro ações e os resultados do pipeline foram inventados para o laboratório guiado.

Erros e limites

O pipeline não substitui o julgamento humano sobre fragilidade ou incidentes em andamento; ele apenas aplica os três controles rígidos. Preocupações mais sutis continuam precisando de uma pessoa.

Exercícios

Síntese

Três controles rígidos, um registro só com o que passou e o julgamento humano ainda aplicado por cima.

Continue estudando — capítulo 15 de 30

← Capítulo 14 (rascunho) · Índice de capítulos do curso · Capítulo 16 (rascunho) →