Home Lab Pro
CarreiraPor Dentro da Cibersegurança · Artigo 02

Blue Team, Red Team e Purple Team: entenda as diferenças e descubra qual carreira seguir

O que faz cada time, como ofensiva e defesa trabalham juntas e qual caminho combina com você. No laboratório, você gera falhas de login SSH no Ubuntu, investiga os logs e documenta uma oportunidade de detecção.

  • 35 min de leitura
  • Nível: Iniciante
  • Lab prático

Segunda-feira, 7h40. Numa empresa fictícia de logística, que vamos chamar de Transvale, o painel de monitoramento mostra algo fora do padrão: durante a madrugada, um servidor Linux que guarda arquivos de faturamento registrou dezenas de tentativas de login por SSH que falharam. Os nomes de usuário variam: admin, backup, financeiro, teste.

Ninguém sabe ainda se aquilo é um ataque, um script de backup com a senha antiga ou um colaborador que esqueceu a própria senha. O que se sabe é que o servidor registrou as falhas e que alguém precisa olhar para elas.

Agora imagine três pessoas olhando para o mesmo episódio, cada uma com uma pergunta diferente:

  • Quem trabalha com Red Team pergunta: se um adversário tentasse isso de propósito, o que ele conseguiria? Com autorização formal e regras combinadas, essa pessoa reproduz um comportamento parecido, de forma controlada, contra uma conta de teste, para avaliar a exposição real do servidor.
  • Quem trabalha com Blue Team pergunta: o que aconteceu de fato, e o que fazemos agora? Ela abre os registros, separa as falhas por conta, horário e origem, verifica se alguma tentativa teve sucesso e decide se o caso é um incidente.
  • Quem conduz um exercício de Purple Team pergunta: quando o comportamento acontece, a empresa enxerga? E o alerta dispara? Essa pessoa coloca as duas visões lado a lado, compara o que foi executado com o que foi detectado e transforma as diferenças em melhorias.

Repare que ninguém aqui afirmou que o servidor foi invadido. Tentativas de login malsucedidas são um sinal que merece investigação, não a prova de um comprometimento. Saber separar uma coisa da outra é uma das primeiras habilidades de quem trabalha com segurança.

Vamos usar essa história como fio condutor. No fim do artigo, você vai reproduzi-la em miniatura no seu próprio laboratório e passar pelas três perspectivas.

Conceito

Times, não necessariamente departamentos

"Red Team", "Blue Team" e "Purple Team" descrevem formas de atuação. Em empresas grandes, podem existir equipes com esses nomes. Em empresas menores, a mesma pessoa monitora alertas de manhã e participa de um teste à tarde, e o cargo no crachá é "Analista de Segurança". Em muitos lugares, a defesa é feita por um SOC terceirizado e os testes ofensivos, por uma consultoria contratada. Ao ler uma vaga, preste mais atenção nas atividades descritas do que na cor do time.

Se você chegou agora, este é o segundo artigo da série Por Dentro da Cibersegurança. O primeiro, Como começar na cibersegurança do zero, apresenta as carreiras da área e monta a máquina virtual Ubuntu que vamos reaproveitar no laboratório de hoje.

O que é Blue Team? #

Blue Team é o conjunto de pessoas e práticas responsáveis por defender o ambiente: prevenir o que for possível, perceber o que escapou e responder quando algo acontece. Na história da Transvale, é quem recebe o alerta das falhas de login e precisa decidir o que ele significa.

A defesa se divide em várias atividades, que em empresas maiores viram funções separadas:

  • Monitoramento e detecção: acompanhar os eventos do ambiente e os alertas gerados pelas ferramentas. É o trabalho central de um SOC (Security Operations Center).
  • Investigação de alertas (triagem): para cada alerta, responder o que aconteceu, onde, quando, com qual conta e se é verdadeiro ou falso positivo.
  • Resposta a incidentes: quando o alerta se confirma, conter o problema (bloquear uma conta, isolar uma máquina), eliminar a causa e recuperar o ambiente.
  • Threat hunting: procurar sinais de atividade maliciosa que não geraram alerta, a partir de hipóteses. Por exemplo: "se alguém estivesse testando senhas devagar, para não disparar o limite, o que veríamos nos logs?".
  • Engenharia de detecção: escrever, testar e manter as regras que geram os alertas, reduzindo falsos positivos sem perder os casos reais.
  • Proteção de endpoints, redes e identidades: configurar e manter as defesas em computadores e servidores, no tráfego de rede e nas contas de usuário (autenticação forte, privilégios mínimos, revisão de acessos).

Ferramentas do Blue Team #

Ferramentas

Ferramentas comuns na defesa

FerramentaPara que serveLicença e disponibilidade
WazuhPlataforma de segurança que coleta e analisa logs de várias máquinas com agentes, aplica regras e gera alertas. Usada como SIEM em laboratórios e em empresas.Código aberto e gratuita. Há serviço em nuvem pago.
Elastic SecuritySolução de SIEM e proteção de endpoints construída sobre o Elasticsearch e o Kibana, com regras de detecção prontas.A versão autogerenciada tem recursos gratuitos; outros dependem de assinatura. Confira a página de assinaturas.
Microsoft DefenderFamília de produtos da Microsoft. O antivírus do Windows é parte dela; o Defender for Endpoint e o Defender XDR são usados em empresas para detecção e resposta.Os recursos corporativos dependem de licenças da Microsoft.
WiresharkCaptura e analisa tráfego de rede pacote por pacote. Essencial para entender o que realmente trafegou.Código aberto e gratuito.
SysmonRegistra em detalhe a atividade do Windows: processos criados, conexões de rede, alterações em arquivos e no registro. Existe também uma versão para Linux.Gratuito, da Microsoft Sysinternals.
SuricataDetecção (IDS) e prevenção (IPS) de intrusão na rede, com base em assinaturas e análise de protocolos.Código aberto e gratuito, mantido pela OISF.
ZeekObserva o tráfego e gera logs estruturados do que aconteceu na rede (conexões, consultas DNS, requisições HTTP), em vez de alertas prontos.Código aberto e gratuito.

Ninguém precisa dominar todas antes do primeiro emprego. Cada empresa usa uma combinação diferente, e o que se transfere de uma para outra é o raciocínio: saber o que procurar num log, numa conexão de rede ou num processo.

Um turno real (e realista) de SOC #

Um analista de nível 1 começa o turno lendo a passagem de bastão do colega anterior: casos em aberto e o que ficou pendente. Depois, abre a fila de alertas.

O primeiro é "múltiplas falhas de autenticação" num servidor Linux, como o da Transvale. O roteiro da investigação é quase sempre o mesmo:

  1. Quem? Quais contas aparecem nas falhas? Elas existem? São contas de pessoas ou de serviço?
  2. De onde? Qual o endereço de origem? É interno, de VPN ou da internet? Já apareceu antes?
  3. Quando? As falhas estão concentradas em poucos minutos ou espalhadas pela madrugada?
  4. Deu certo? Existe algum login bem-sucedido da mesma origem depois das falhas? Essa é a pergunta que muda a gravidade do caso.
  5. Faz sentido para o negócio? Há uma janela de manutenção, um script novo ou um chamado de senha bloqueada que explique o padrão?

Se a origem é um servidor de backup interno usando uma senha que expirou, o alerta é encerrado como falso positivo, com a justificativa registrada, e o time responsável é avisado. Se a origem é um endereço externo testando dezenas de nomes de usuário, e um deles teve sucesso, o caso é escalado para o nível 2 e para a resposta a incidentes.

Nos dois cenários, o entregável é o mesmo: um registro claro do que foi visto, do que foi concluído e por quê. Boa parte do trabalho de Blue Team é escrever bem.

O que é Red Team? #

Red Team é a prática de simular adversários reais, com autorização, para descobrir como a organização se sai diante de um ataque. A pergunta não é só "existem falhas?", mas "um adversário com este objetivo conseguiria alcançá-lo, e a defesa perceberia?".

Por isso um exercício de Red Team costuma ter um objetivo, combinado antes com a liderança: chegar a um servidor de faturamento, acessar a conta de um executivo, ler um conjunto específico de dados. O time avalia o caminho até lá, e a capacidade de detecção e resposta da empresa faz parte do que está sendo testado.

Pentest e Red Team não são a mesma coisa #

Pentest (teste de intrusão)Exercício de Red Team
Pergunta principalQuais vulnerabilidades existem neste escopo?Um adversário alcançaria este objetivo? A defesa perceberia?
EscopoDefinido e geralmente delimitado (uma aplicação, uma faixa de rede)Orientado a objetivo, frequentemente mais amplo
A defesa sabe?Muitas vezes simMuitas vezes só um grupo pequeno sabe, para avaliar a reação real
DuraçãoDias a poucas semanas, em geralSemanas ou meses, em geral
EntregávelLista de vulnerabilidades com risco e correçãoNarrativa do ataque, lacunas de detecção e resposta, recomendações

Essas diferenças são tendências do mercado, não regras: cada empresa e cada contrato definem o seu formato. Um ponto, porém, não muda.

Atenção

Sem autorização, não é Red Team

Todo exercício ofensivo legítimo tem autorização por escrito e regras de engajamento: o que pode ser testado, quando, com quais técnicas, o que é proibido (por exemplo, derrubar sistemas de produção), quem deve ser avisado e como interromper o teste se algo sair do controle. Testar sistemas de terceiros sem isso não é Red Team, é crime. No Brasil, a Lei 12.737/2012 trata de crimes informáticos.

O que um time ofensivo faz, na prática #

  • Reconhecimento e avaliação de exposição: descobrir o que está visível para um atacante. Quais serviços estão acessíveis, quais versões rodam, que informações públicas ajudam um adversário. No caso da Transvale: o SSH do servidor de arquivos aceita conexões de onde? Aceita senha ou só chave?
  • Emulação de técnicas de adversários: reproduzir técnicas documentadas de grupos reais, em vez de inventar ataques. É aqui que o MITRE ATT&CK entra, como veremos adiante.
  • Teste de controles de defesa: verificar se o bloqueio de contas funciona, se a autenticação multifator está mesmo ativa, se o antivírus reage, se o SOC recebe o alerta.
  • Relatório: o entregável de um time ofensivo é um documento. Uma descoberta que não é explicada com clareza, com evidências e recomendação, não ajuda a defesa.

Ferramentas do Red Team #

Ferramentas

Ferramentas comuns na ofensiva

FerramentaPara que serveLicença e disponibilidade
NmapDescoberta de máquinas, portas abertas e serviços. É o ponto de partida do reconhecimento de rede.Gratuito.
Kali LinuxDistribuição Linux com centenas de ferramentas de teste de segurança já instaladas. É um sistema, não uma ferramenta.Gratuito, mantido pela OffSec.
Burp Suite Community EditionProxy que intercepta e permite analisar e modificar o tráfego entre o navegador e uma aplicação web.A Community é gratuita, com limitações; a versão Professional é paga.
Metasploit FrameworkFramework para desenvolver e executar exploits e módulos de pós-exploração em testes autorizados.O Framework é código aberto; há versão comercial da Rapid7.
MITRE CalderaPlataforma da MITRE para automatizar a emulação de adversários, encadeando técnicas mapeadas no ATT&CK.Código aberto e gratuito.
Atomic Red TeamBiblioteca de testes pequenos ("atômicos"), cada um mapeado a uma técnica do ATT&CK, muito usada para validar detecções.Código aberto e gratuito, mantido pela Red Canary.

Ter essas ferramentas instaladas não faz de ninguém um profissional ofensivo. O que se usa depende do objetivo do exercício e do que o estudante já sabe. Quem roda um módulo do Metasploit sem entender redes, serviços e o sistema-alvo não consegue explicar o resultado, e explicar o resultado é o trabalho. Caldera e Atomic Red Team, por exemplo, fazem mais sentido depois que você já tiver um SIEM no laboratório para observar o que eles produzem.

O que é Purple Team? #

Purple Team é, sobretudo, uma abordagem: ofensiva e defesa trabalhando juntas, com a mesma lista de técnicas na mesa, para medir e melhorar a capacidade de detecção. Em algumas empresas existe uma equipe com esse nome; em muitas outras, "purple" é o nome do exercício, e quem participa são as mesmas pessoas do Red e do Blue Team.

A diferença para um exercício de Red Team tradicional é a transparência. Em vez de o time ofensivo trabalhar em segredo e entregar um relatório semanas depois, os dois lados combinam a técnica, executam juntos, olham os resultados na hora e ajustam.

O ciclo de um exercício de Purple Team #

  1. Definir a técnica a ser avaliada. Por exemplo: tentativas de adivinhar senhas por SSH.
  2. Planejar uma simulação autorizada. Em qual máquina, com qual conta, em qual horário, quantas tentativas, quem acompanha.
  3. Executar a atividade. O lado ofensivo reproduz o comportamento e anota exatamente o que fez e quando.
  4. Coletar evidências. O lado defensivo procura os registros gerados: logs, alertas, tráfego.
  5. Verificar visibilidade e detecção. São duas perguntas diferentes: o evento foi registrado? E algum alerta foi gerado?
  6. Identificar lacunas. O log não existia? Existia, mas não chegava ao SIEM? Chegava, mas nenhuma regra olhava para ele?
  7. Melhorar os controles. Ativar um log, ajustar uma regra, mudar uma configuração.
  8. Repetir o exercício. Só a repetição mostra se a melhoria funcionou.

MITRE ATT&CK: a linguagem comum #

Para que ofensiva e defesa conversem, as duas precisam chamar a mesma coisa pelo mesmo nome. O MITRE ATT&CK é uma base de conhecimento pública e gratuita que cataloga táticas e técnicas usadas por adversários reais, observadas em incidentes e relatórios públicos.

  • Tática é o objetivo do adversário naquele momento: obter acesso inicial, obter credenciais, mover-se lateralmente.
  • Técnica é como ele tenta alcançar esse objetivo: por exemplo, Brute Force (T1110).
  • Subtécnica é uma variação mais específica: Password Guessing (T1110.001), Password Spraying (T1110.003).

Mapear o que você testa e o que você detecta nesse catálogo responde perguntas que, sem ele, ficam vagas: "das técnicas que os grupos que atacam o nosso setor usam, quantas a gente enxerga?". No laboratório, você vai fazer esse mapeamento para um caso concreto.

Comparação entre as áreas #

Blue TeamRed TeamPurple Team
ObjetivoPrevenir, detectar e responder a ameaçasSimular adversários para revelar falhas de proteção, detecção e respostaMedir e melhorar a detecção com ofensiva e defesa trabalhando juntas
ResponsabilidadesMonitorar, investigar alertas, responder a incidentes, manter defesas e regrasPlanejar e executar testes autorizados, documentar o caminho do ataquePlanejar exercícios, comparar execução e detecção, acompanhar melhorias
RotinaFila de alertas, investigações, plantões em muitas empresas, ajustes de regrasProjetos com escopo e prazo, preparação, execução, escrita de relatórioCiclos de teste por técnica, reuniões entre times, revisão de regras
FerramentasSIEM (Wazuh, Elastic, Sentinel), EDR, Sysmon, Wireshark, Suricata, ZeekNmap, Kali, Burp Suite, Metasploit, Caldera, Atomic Red TeamUma combinação das duas, mais o MITRE ATT&CK como referência
ConhecimentosRedes, Windows e Linux, logs, noções de ataques comuns, escritaRedes, sistemas, aplicações web, scripts, técnicas de ataque, escritaOs dois lados, mais engenharia de detecção
Possíveis cargosAnalista de SOC, analista de resposta a incidentes, engenheiro de detecção, threat hunterPentester, analista de segurança ofensiva, operador de Red TeamEngenheiro de detecção, analista de Purple Team, especialista em emulação de adversários
Barreira de entradaA mais comum como primeiro emprego, desde que haja base técnicaPossível no início com pentest, mas exige base ampla; Red Team costuma exigir experiênciaGeralmente exige experiência prévia em um dos lados
EntregáveisRegistro de investigação, relatório de incidente, regra de detecção, playbookRelatório de pentest ou de exercício, narrativa do ataque, evidências e recomendaçõesMatriz de cobertura no ATT&CK, lista de lacunas, regras novas ou ajustadas

Como escolher sua carreira? #

"Blue é para quem gosta de defender, Red é para quem gosta de atacar" é uma simplificação que mais confunde do que ajuda. Quem defende bem precisa entender ataques a fundo, e quem testa bem passa boa parte do tempo pensando em como a defesa vai enxergar (ou não) o que ele faz. Algumas perguntas ajudam mais:

  • Que tipo de problema prende sua atenção? Se você gosta de partir de um sintoma (um log estranho, um alerta) e reconstruir o que aconteceu, a investigação do Blue Team tende a ser atraente. Se você gosta de partir de um sistema e descobrir de que formas ele pode se comportar diferente do previsto, o trabalho ofensivo tende a agradar.
  • Que ritmo você prefere? Operações de defesa trabalham com filas, prazos de resposta e, em muitas empresas, plantões ou escalas. Trabalhos ofensivos costumam ser organizados em projetos com início, meio e fim, e uma parte grande do tempo vai para o relatório.
  • Você gosta de escrever? Os dois lados escrevem muito. O Blue Team documenta investigações e incidentes; o Red Team escreve relatórios técnicos e executivos. Quem não gosta de escrever sofre nos dois.
  • Você gosta de construir? Engenharia de detecção e Purple Team atraem quem gosta de transformar conhecimento sobre ataques em regras, automações e métricas.

Na prática, muitos profissionais começam pelos mesmos fundamentos (redes, sistemas operacionais, logs e conceitos de segurança) e só depois se especializam. Muitos começam pelo SOC, porque é onde costuma haver mais vagas de entrada, e migram para outras áreas com a experiência. Outros começam em infraestrutura, desenvolvimento ou suporte e trazem essa bagagem. Não existe uma rota obrigatória, e mudar de lado mais tarde é comum.

O laboratório a seguir serve também como teste: repare em qual das três perspectivas você se diverte mais.

LAB 02 — Gerando e investigando eventos de autenticação no Linux #

Neste laboratório, você vai produzir de propósito um pequeno número de falhas de login SSH na sua própria máquina virtual, encontrar essas falhas nos logs, mapear o que viu no MITRE ATT&CK e documentar tudo como faria num exercício de Purple Team.

LAB 02

Gerando e investigando eventos de autenticação no Linux

Nível
Iniciante
Etapas
5
Ambiente
A VM Ubuntu do LAB 01, em rede NAT, com testes só para 127.0.0.1
Ferramentas
  • Ubuntu 26.04 LTS
  • Terminal Linux
  • OpenSSH Server
  • journalctl
  • grep
  • ss
  • MITRE ATT&CK
Objetivo
Gerar eventos controlados de falha de autenticação, investigá-los nos logs e avaliar a visibilidade da técnica T1110.001 no seu ambiente.
Requisitos
A VM do artigo anterior (2 GB de RAM no Ubuntu Server já bastam), acesso com sudo e cerca de 1 hora. Sem VM? Use um ambiente Ubuntu no navegador, como o Killercoda.
Resultado esperado
Evidências das falhas de login com horário, conta e origem, uma hipótese de detecção documentada e um relatório para o portfólio.

Atenção

Limites deste exercício

  • Todos os testes vão de 127.0.0.1 para 127.0.0.1: a VM conversa com ela mesma. Nada sai da máquina.
  • Você vai usar uma conta criada só para o lab e fazer poucas tentativas manuais, digitadas por você.
  • Não use ferramentas de força bruta, listas de senhas nem scripts que automatizem tentativas, nem aqui nem contra qualquer sistema que não seja seu.
  • Não desative firewall, bloqueios ou outras proteções, e não altere a configuração de autenticação do SSH.

Esse exercício gera eventos de autenticação malsucedida. Ele não é uma operação de Red Team: não há objetivo, adversário emulado, cadeia de ataque nem avaliação de resposta. É uma forma segura de estudar a telemetria que uma operação dessas também produziria.

Ambiente e requisitos #

Use a VM cyberlab-ubuntu que você criou no LAB 01, com o adaptador de rede em NAT. Os comandos foram escritos para o Ubuntu 26.04 LTS e funcionam igual no Desktop e no Server.

ItemMínimoObservação
VM UbuntuA do LAB 01Ubuntu Server com 2 GB de RAM é suficiente
Rede da VMNAT, sem redirecionamento de portasGarante que o SSH não fique acessível pela sua rede de casa
PermissõesUm usuário com sudoO usuário criado na instalação já tem
TempoCerca de 1 horaIncluindo o relatório

Dica

Sem condições de rodar uma VM?

O Killercoda oferece ambientes Ubuntu temporários no navegador. Os passos são os mesmos, mas o ambiente é apagado ao fim da sessão: salve as evidências e as anotações fora dele antes de sair. Em ambientes de navegador, o SSH pode já vir instalado e a forma de armazenar logs pode variar; a etapa 3 mostra como descobrir onde eles estão.

  • Computador físico (Host)
    • VirtualBox, rede NAT
      • VM Ubuntu cyberlab-ubuntu
        • Cliente SSH: a origem, 127.0.0.1
        • OpenSSH Server: o destino, porta 22
        • Conta lab-alvo: criada só para o lab
        • Journal do systemd: onde ficam os registros
Topologia do LAB 02: origem e destino das tentativas são a mesma VM, isolada pelo NAT.

Antes de começar, crie um snapshot da VM (menu Máquina do VirtualBox). Se algo der errado, você volta a este ponto em segundos.

Passo a passo #

  1. Preparação do ambiente #

    Abra o terminal da VM. Primeiro, confirme a distribuição e a versão:

    bash
    cat /etc/os-release

    Procure as linhas PRETTY_NAME e VERSION_ID. Anote os valores: eles vão para o relatório, porque o comportamento dos logs muda entre versões.

    Agora verifique se o servidor SSH já está instalado. O cliente (ssh) vem no Ubuntu; o servidor (openssh-server) nem sempre:

    bash
    dpkg -l openssh-server

    Se a última linha começar com ii, ele está instalado. Se aparecer uma mensagem dizendo que nenhum pacote foi encontrado, instale:

    bash
    sudo apt update
    sudo apt install openssh-server

    Verifique o estado do serviço:

    bash
    systemctl status ssh.socket ssh.service --no-pager

    Nas versões recentes do Ubuntu, o SSH usa ativação por socket: o systemd escuta a porta 22 (ssh.socket ativo) e só inicia o serviço ssh.service quando chega a primeira conexão. Por isso, é normal ver o ssh.socket como active (listening) e o ssh.service como inactive antes do primeiro teste. Se os dois estiverem inativos, ative:

    bash
    sudo systemctl enable --now ssh.socket

    Descubra em qual porta e endereço o serviço escuta:

    bash
    sudo ss -tlnp | grep ':22'

    Saída ilustrativa:

    texto
    LISTEN 0  4096   0.0.0.0:22   0.0.0.0:*   users:(("systemd",pid=1,fd=104))
    LISTEN 0  4096      [::]:22      [::]:*   users:(("systemd",pid=1,fd=105))

    Você aprendeu no LAB 01 que 0.0.0.0 significa "aceito conexões de qualquer lugar que me alcance". O processo aparece como systemd por causa da ativação por socket; depois da primeira conexão, sshd também pode aparecer.

    Garanta que o SSH não esteja exposto. Quem alcança a VM? Com o adaptador em NAT e sem regras de redirecionamento de portas, ninguém de fora: nem a sua rede de casa, nem a internet. Confira no VirtualBox, em Configurações > Rede > Adaptador 1: o modo deve ser NAT e a lista de Redirecionamento de Portas deve estar vazia.

    Como camada extra, você pode ativar o firewall do Ubuntu, que por padrão bloqueia conexões de entrada e continua permitindo o tráfego local (127.0.0.1):

    bash
    sudo ufw enable
    sudo ufw status verbose

    Procure Default: deny (incoming) na saída. Você está acrescentando uma proteção, não removendo.

    Por fim, crie a conta exclusiva do laboratório:

    bash
    sudo adduser lab-alvo

    O comando pede uma senha e alguns dados opcionais (pode deixar em branco com Enter). Escolha uma senha forte e que você não usa em lugar nenhum: ela só existe para este exercício. Não adicione essa conta ao grupo sudo.

    Resultado esperado

    Você anotou a versão do Ubuntu, o openssh-server está instalado, a porta 22 aparece no ss e a conta lab-alvo existe (confira com id lab-alvo). A VM continua em NAT, sem redirecionamento de portas.

    Problemas comuns

    systemctl status diz que a unidade ssh.socket não existe: sua versão ou distribuição não usa ativação por socket. Use sudo systemctl enable --now ssh e siga normalmente. Outras situações estão em Problemas comuns e como resolver.

  2. Perspectiva Red Team: gerar a atividade controlada #

    Agora você faz o papel de quem reproduz o comportamento. Num exercício real, tudo o que a ofensiva faz é anotado com horário, porque é isso que permite à defesa comparar depois. Comece registrando a hora de início:

    bash
    date "+%Y-%m-%d %H:%M:%S %Z"

    Tentativa A: senha errada para uma conta que existe. Conecte à própria VM como lab-alvo:

    bash
    ssh lab-alvo@127.0.0.1

    Na primeira conexão, o cliente mostra a impressão digital da chave do servidor e pergunta se você confia nela. Digite yes: você está conectando na sua própria máquina.

    Quando ele pedir a senha, digite uma senha errada. Repita até o cliente desistir. Por padrão, ele oferece três tentativas por conexão e termina com uma mensagem como Permission denied (publickey,password).

    Tentativa B: uma conta que não existe. Faça uma única tentativa com um usuário inventado e, quando a senha for pedida, digite qualquer coisa errada uma vez e depois pressione Ctrl + C:

    bash
    ssh teste-inexistente@127.0.0.1

    Repare que o servidor pede a senha mesmo para um usuário que não existe. É proposital: se ele respondesse "esse usuário não existe", ajudaria quem está tentando descobrir nomes válidos.

    Tentativa C: um login correto. Agora entre com a senha certa da lab-alvo e saia em seguida:

    bash
    ssh lab-alvo@127.0.0.1
    exit

    Esse sucesso é importante para a investigação: na vida real, a pergunta mais séria depois de várias falhas é se alguma tentativa deu certo.

    Registre a hora de término com o mesmo comando date e preencha a sua ficha:

    CampoO que anotar
    Horário de início e fimA saída dos dois date
    Contas usadaslab-alvo (existe) e teste-inexistente (não existe)
    Endereço de origem127.0.0.1
    Quantidade de tentativasQuantas senhas erradas você digitou em cada conta, e o login correto
    Comportamento observadoAs mensagens que o cliente mostrou em cada caso

    Resultado esperado

    Você tem uma ficha com horário, contas, origem, número exato de tentativas e o que o cliente respondeu. No total, foram poucas tentativas, todas manuais, além de um login correto.

    Problemas comuns

    Se o cliente responder Permission denied (publickey) sem pedir senha, a autenticação por senha está desativada no seu servidor (é comum em imagens de nuvem). Não mude a configuração: siga a alternativa descrita em Problemas comuns e como resolver.

  3. Perspectiva Blue Team: encontrar e interpretar as evidências #

    Troque de papel. Agora você recebeu um aviso: "houve falhas de login no servidor cyberlab-ubuntu". O que os registros mostram?

    Onde estão os logs. No Ubuntu atual, o registro principal é o journal do systemd, consultado com journalctl. O arquivo clássico /var/log/auth.log só existe se o serviço rsyslog estiver instalado e ativo, o que varia conforme a versão e o tipo de instalação. Descubra como está a sua VM:

    bash
    systemctl is-active rsyslog
    ls -l /var/log/auth.log

    Se o rsyslog estiver ativo e o arquivo existir, você tem as duas fontes. Se não, use só o journal: todos os comandos abaixo funcionam com ele.

    Os eventos do SSH no seu intervalo de teste. Use os horários da sua ficha (os valores abaixo são exemplos; troque pelos seus):

    bash
    sudo journalctl -u ssh --since "2026-10-27 14:00" --until "2026-10-27 14:15" --no-pager

    O -u ssh filtra pela unidade do serviço SSH; --since e --until limitam o período. Se não lembrar os horários, use --since "30 min ago".

    Saída ilustrativa (os números de processo, portas e horários na sua VM serão outros):

    texto
    out 27 14:02:58 cyberlab-ubuntu sshd-session[2345]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=127.0.0.1  user=lab-alvo
    out 27 14:03:01 cyberlab-ubuntu sshd-session[2345]: Failed password for lab-alvo from 127.0.0.1 port 51514 ssh2
    out 27 14:03:09 cyberlab-ubuntu sshd-session[2345]: Failed password for lab-alvo from 127.0.0.1 port 51514 ssh2
    out 27 14:03:15 cyberlab-ubuntu sshd-session[2345]: Failed password for lab-alvo from 127.0.0.1 port 51514 ssh2
    out 27 14:03:15 cyberlab-ubuntu sshd-session[2345]: Connection closed by authenticating user lab-alvo 127.0.0.1 port 51514 [preauth]
    out 27 14:06:40 cyberlab-ubuntu sshd-session[2401]: Invalid user teste-inexistente from 127.0.0.1 port 51600
    out 27 14:06:44 cyberlab-ubuntu sshd-session[2401]: Failed password for invalid user teste-inexistente from 127.0.0.1 port 51600 ssh2
    out 27 14:08:02 cyberlab-ubuntu sshd-session[2420]: Accepted password for lab-alvo from 127.0.0.1 port 51700 ssh2

    Desde o OpenSSH 9.8, as mensagens de cada conexão aparecem com o nome sshd-session; em versões mais antigas, aparecem como sshd. O filtro -u ssh pega as duas formas.

    Como ler uma linha. Pegue Failed password for lab-alvo from 127.0.0.1 port 51514 ssh2:

    TrechoSignificado
    out 27 14:03:01Quando aconteceu, no fuso horário da VM
    cyberlab-ubuntuEm qual máquina
    sshd-session[2345]Qual programa registrou e o número do processo. Linhas com o mesmo número pertencem à mesma conexão
    Failed passwordO resultado: senha recusada
    for lab-alvoA conta. Com invalid user antes do nome, a conta não existe
    from 127.0.0.1A origem da conexão
    port 51514A porta de origem, escolhida pelo cliente. Muda a cada conexão

    Filtrar só o que interessa. Falhas, usuários inexistentes e sucessos:

    bash
    sudo journalctl -u ssh --since "30 min ago" --no-pager | grep -E "Failed password|Invalid user|Accepted"

    Quantas falhas de senha houve:

    bash
    sudo journalctl -u ssh --since "30 min ago" --no-pager | grep -c "Failed password"

    Falhas agrupadas por conta e origem:

    bash
    sudo journalctl -u ssh --since "30 min ago" --no-pager \
      | grep "Failed password" \
      | grep -oE "for (invalid user )?[^ ]+ from [^ ]+" \
      | sort | uniq -c

    Saída ilustrativa:

    texto
          3 for lab-alvo from 127.0.0.1
          1 for invalid user teste-inexistente from 127.0.0.1

    O grep -oE recorta só o trecho "conta + origem" de cada linha; o sort | uniq -c conta quantas vezes cada combinação aparece. É uma versão manual do que um SIEM faz automaticamente.

    Se você tiver o /var/log/auth.log, encontre os mesmos eventos lá:

    bash
    sudo grep "Failed password" /var/log/auth.log | tail -n 10

    Também vale olhar a linha do PAM (pam_unix(sshd:auth): authentication failure), o módulo do Linux que verifica a senha. Ela registra a mesma falha por outro componente, e pode aparecer num formato diferente dependendo da configuração. Em investigações, ter duas fontes que confirmam o mesmo fato é um bom sinal.

    Compare com a ficha da etapa 2. Esta é a parte mais importante. Para cada tentativa que você fez, existe um registro? Os horários batem? A quantidade bate? O login correto aparece como Accepted password? Se algo não bater, anote: uma diferença entre o que foi feito e o que foi registrado é exatamente o tipo de achado que um exercício de Purple Team procura.

    Resultado esperado

    Você encontrou no journal as falhas da lab-alvo, a tentativa com o usuário inexistente e o login correto, com horário, conta e origem, e comparou cada um com a sua ficha.

    Problemas comuns

    journalctl -u ssh não mostra nada, ou você recebe um aviso de permissão: veja Problemas comuns e como resolver.

  4. Perspectiva Purple Team: da evidência à oportunidade de detecção #

    Agora junte os dois lados. Abra a página da técnica T1110.001 — Brute Force: Password Guessing no MITRE ATT&CK.

    A técnica descreve adversários tentando adivinhar senhas de contas, sem conhecê-las previamente, por meio de várias tentativas. Seja honesto com o que o seu laboratório mostra: quatro senhas erradas digitadas à mão não demonstram uma campanha de força bruta. O que elas produzem é o mesmo tipo de telemetria que uma campanha real produziria, em escala muito menor. É essa telemetria que você está estudando.

    Vale conhecer as técnicas vizinhas, porque a investigação pode levar a elas:

    • T1110.003 — Password Spraying: poucas senhas comuns testadas contra muitas contas. Nos logs, aparece como muitas contas diferentes vindas da mesma origem, com poucas falhas em cada uma.
    • T1021.004 — Remote Services: SSH: o uso do SSH para acessar máquinas remotamente, que é o que acontece depois de um login bem-sucedido.
    • T1078 — Valid Accounts: o uso de credenciais legítimas. Um login correto depois de várias falhas da mesma origem pode indicar que uma senha foi adivinhada.

    Com isso, o time pode construir uma hipótese de detecção:

    Se uma mesma origem acumular várias falhas de autenticação SSH em poucos minutos, contra uma ou mais contas, isso pode indicar tentativa de adivinhação de senhas (T1110.001) e merece triagem. Se a mesma origem tiver um login bem-sucedido logo depois, a prioridade aumenta.

    Os campos necessários. Para que uma regra funcione, cada evento precisa trazer:

    CampoDe onde vem, no seu logPor que é necessário
    HorárioInício da linhaContar eventos dentro de uma janela
    Máquinacyberlab-ubuntuSaber qual servidor está sendo alvo
    ResultadoFailed password, Accepted passwordSeparar falha de sucesso
    ContaDepois de forAgrupar por conta e identificar contas inexistentes
    Conta existe?invalid userMuitas contas inexistentes sugerem tentativa de adivinhar nomes
    OrigemDepois de fromAgrupar por quem está tentando

    A janela temporal e o limiar. Uma regra desse tipo diz algo como "N falhas da mesma origem em X minutos". Não existe número universal. Uma forma de começar é observar o comportamento normal do ambiente e escolher um valor acima dele. Para referência, o conjunto de regras padrão do Wazuh traz uma regra para o sshd (a 5763) que considera 8 falhas da mesma origem em 120 segundos; confira na documentação da versão que você usar. Limiar baixo demais gera alerta para quem simplesmente errou a senha; alto demais deixa passar quem tenta devagar de propósito.

    Possíveis falsos positivos. Antes de propor a regra, liste o que poderia dispará-la sem ser um ataque:

    • uma pessoa que esqueceu a senha ou está com o teclado na configuração errada;
    • um script de backup ou de monitoramento usando uma senha que expirou;
    • vários usuários legítimos saindo pelo mesmo endereço (uma VPN ou um NAT corporativo), somando falhas na mesma origem;
    • uma ferramenta de varredura de vulnerabilidades autorizada.

    Para cada um, pense em como diferenciá-lo: a origem é conhecida? A conta é de serviço? Existe um chamado aberto?

    A lacuna e a oportunidade de melhoria. No seu laboratório, a resposta para as perguntas do ciclo Purple é:

    • Visibilidade: sim. Os eventos foram registrados no journal, com todos os campos da tabela.
    • Detecção: não. Nenhum alerta foi gerado, porque o laboratório não tem um SIEM nem nenhuma regra olhando esses registros. Você só encontrou os eventos porque foi procurá-los.

    Registre isso como uma oportunidade de melhoria, não como um defeito: "os eventos necessários para detectar tentativas de adivinhação de senha por SSH existem, mas não há coleta centralizada nem regra de alerta. Recomendação: enviar os logs do journal para um SIEM e criar uma regra com janela e limiar definidos, validando-a com o mesmo exercício." É exatamente o caminho que esta série vai seguir nos próximos laboratórios.

    Resultado esperado

    Você tem uma hipótese de detecção escrita, a lista de campos, uma proposta de janela e limiar, quatro possíveis falsos positivos e a lacuna documentada: há visibilidade, mas não há detecção.

  5. Documentação #

    Um exercício que não vira documento não ajuda ninguém, nem você daqui a três meses. Escreva um relatório curto com estas seções: objetivo, ambiente, data e horário, atividade executada, evidências coletadas, técnica MITRE relacionada, limitações, recomendações e conclusão.

    Modelo simplificado (os valores são exemplos; troque pelos seus):

    markdown
    # Relatório LAB 02: eventos de autenticação SSH no Linux
    
    **Data:** 27/10/2026, das 14h00 às 14h10 (horário de Brasília)
    **Autor:** Seu nome
    **Ambiente:** VirtualBox 7.2 · Ubuntu 26.04 LTS · OpenSSH Server · rede NAT
    
    ## Objetivo
    Gerar falhas de autenticação SSH controladas e verificar se o ambiente
    registra os dados necessários para detectar tentativas de adivinhação de senha.
    
    ## Atividade executada
    | Horário | Conta | Origem | Ação | Resultado |
    |---|---|---|---|---|
    | 14:03 | lab-alvo | 127.0.0.1 | 3 senhas erradas | Recusadas |
    | 14:06 | teste-inexistente | 127.0.0.1 | 1 senha errada | Recusada (usuário inexistente) |
    | 14:08 | lab-alvo | 127.0.0.1 | Senha correta | Aceita |
    
    ## Evidências
    - `journalctl -u ssh`: 4 linhas "Failed password" e 1 "Accepted password",
      com horário, conta e origem. Print em evidencias/01-journal-ssh.png
    - Contagem por conta e origem: evidencias/02-contagem.png
    - /var/log/auth.log: [presente / ausente nesta versão]
    
    ## Técnica MITRE ATT&CK
    T1110.001 (Brute Force: Password Guessing). A atividade gera a telemetria
    da técnica, mas não reproduz uma campanha real.
    
    ## Resultado da avaliação
    - Visibilidade: SIM. Todos os eventos foram registrados.
    - Detecção: NÃO. Não há SIEM nem regra de alerta neste ambiente.
    
    ## Limitações
    Poucas tentativas manuais, origem e destino na mesma máquina, sem coleta
    centralizada. Não avalia bloqueio de conta nem resposta a incidentes.
    
    ## Recomendações
    1. Centralizar os logs do journal num SIEM.
    2. Criar regra: N falhas da mesma origem em X minutos (proposta inicial: 5 em 5).
    3. Priorizar sucesso após falhas da mesma origem.
    4. Repetir este exercício para validar a regra.
    
    ## Conclusão
    O ambiente registra os eventos necessários, mas depende de busca manual.

    Evidências boas são verificáveis: prints com o comando e a saída inteiros, horários visíveis e nenhum dado pessoal.

    Resultado esperado

    Você tem um relatório com todas as seções, as evidências referenciadas e a conclusão de que há visibilidade sem detecção.

Limpeza #

Quando terminar e tiver salvo as evidências, desfaça o que não vai mais usar. Remova a conta do laboratório:

bash
sudo deluser --remove-home lab-alvo

Se você instalou o servidor SSH só para este exercício e não vai usá-lo nos próximos, pare e desative:

bash
sudo systemctl disable --now ssh.socket ssh.service

O firewall (ufw) pode continuar ativo: ele não atrapalha os próximos laboratórios e você vai aprender a configurá-lo melhor quando a VM ganhar vizinhas.

Problemas comuns e como resolver #

SintomaCausa provávelO que fazer
Permission denied (publickey) sem pedir senhaA autenticação por senha está desativada no servidorConfirme rodando sudo sshd -T e procurando a linha passwordauthentication: se ela disser no, é isso. Não altere a configuração. Faça a variação com su: rode su - lab-alvo, erre a senha duas vezes e procure com sudo journalctl _COMM=su --since "10 min ago". A fonte muda (autenticação local, não SSH), mas o raciocínio de investigação é o mesmo. Registre a diferença no relatório.
ssh: connect to host 127.0.0.1 port 22: Connection refusedO servidor SSH não está escutandoConfira systemctl status ssh.socket ssh.service e procure a porta 22 na saída de sudo ss -tlnp. Ative com sudo systemctl enable --now ssh.socket (ou ssh, sem socket).
journalctl -u ssh não mostra nadaNome da unidade diferente ou intervalo erradoConfira o nome com systemctl list-units 'ssh*'. Tente filtrar pelo programa: sudo journalctl -t sshd-session -t sshd --since "1 hour ago". Confira também se o intervalo de --since cobre o horário do teste.
Aviso de que você não pode ver todos os logsO usuário não está no grupo que lê o journalUse sudo antes do journalctl, como nos exemplos.
Horários do log não batem com a sua fichaFuso horário da VM diferente do seuVeja com timedatectl. Ajuste com sudo timedatectl set-timezone America/Sao_Paulo ou anote a diferença no relatório.
O servidor passa a recusar novas conexões logo depois das falhasPenalidades por origem do OpenSSH 9.8+ (PerSourcePenalties) ou uma ferramenta como o fail2ban, se instaladaÉ a proteção funcionando. Aguarde alguns minutos e tente de novo. Não desative: anote no relatório como um controle observado.
Aviso REMOTE HOST IDENTIFICATION HAS CHANGEDA chave do servidor mudou, por exemplo após reinstalar o SSHComo é a sua própria VM, remova a chave antiga com ssh-keygen -R 127.0.0.1 e conecte de novo. Em um servidor real, esse aviso merece investigação.
/var/log/auth.log não existeO rsyslog não está instalado ou ativo nesta versãoNão é erro. Use o journalctl e registre no relatório que o arquivo não existe.

Checklist de aprendizado #

Seu progresso13 itens

Marque cada item ao concluir. O progresso fica salvo só neste navegador, sem login.

Desafios extras #

Desafio

Iniciante: documente sem olhar o passo a passo

Repita o exercício outro dia, sem consultar este artigo, e produza o relatório completo. Depois compare com o primeiro: o que você esqueceu de anotar? Publique os dois no repositório cyber-lab do seu GitHub, na pasta lab-02-eventos-autenticacao/.

Desafio

Intermediário: um script para contar falhas por janela de tempo

Exporte os eventos do SSH para um arquivo e escreva um script Python que conte as falhas por conta, origem e janela de tempo.

Exporte com data e hora completas (formato short-iso):

bash
sudo journalctl -u ssh --since today -o short-iso --no-pager > eventos-ssh.txt

Um ponto de partida, que você pode melhorar:

python
#!/usr/bin/env python3
"""Conta falhas de autenticação SSH por usuário, origem e janela de tempo.

Uso: python3 contar_falhas.py eventos-ssh.txt --janela 5 --limiar 5
"""
import argparse
import re
from collections import Counter
from datetime import datetime, timedelta

# Ex.: 2026-10-27T14:03:12-03:00 cyberlab sshd-session[2345]: Failed password for lab-alvo from 127.0.0.1 port 51514 ssh2
FALHA = re.compile(r"Failed password for (invalid user )?(?P<usuario>\S+) from (?P<origem>\S+) port")


def inicio_da_janela(momento, minutos):
    """Arredonda o horário para baixo, no começo da janela de N minutos."""
    resto = (momento.hour * 60 + momento.minute) % minutos
    return momento.replace(second=0, microsecond=0) - timedelta(minutes=resto)


def main():
    p = argparse.ArgumentParser()
    p.add_argument("arquivo", help="arquivo exportado do journalctl (formato short-iso)")
    p.add_argument("--janela", type=int, default=5, help="tamanho da janela em minutos")
    p.add_argument("--limiar", type=int, default=5, help="falhas na mesma janela para marcar como suspeito")
    args = p.parse_args()

    contagem = Counter()
    with open(args.arquivo, encoding="utf-8", errors="replace") as f:
        for linha in f:
            m = FALHA.search(linha)
            if not m:
                continue
            try:
                # os 19 primeiros caracteres são data e hora: 2026-10-27T14:03:12
                momento = datetime.strptime(linha[:19], "%Y-%m-%dT%H:%M:%S")
            except ValueError:
                continue  # linha fora do formato short-iso
            usuario = m["usuario"] + (" (inexistente)" if m.group(1) else "")
            contagem[(inicio_da_janela(momento, args.janela), usuario, m["origem"])] += 1

    if not contagem:
        print("Nenhuma linha 'Failed password' encontrada. Confira o arquivo e o formato (-o short-iso).")
        return

    print(f"{'Janela (início)':<17}  {'Usuário':<32} {'Origem':<16} {'Falhas':>6}")
    for (janela, usuario, origem), n in sorted(contagem.items()):
        alerta = "  <- acima do limiar" if n >= args.limiar else ""
        print(f"{janela:%Y-%m-%d %H:%M}  {usuario:<32} {origem:<16} {n:>6}{alerta}")
    print(f"\nTotal: {sum(contagem.values())} falhas. Janela de {args.janela} min, limiar de {args.limiar}.")


if __name__ == "__main__":
    main()

Rode com python3 contar_falhas.py eventos-ssh.txt e depois com --janela 10 --limiar 3. Com os poucos eventos do lab, o resultado só muda quando você baixa o limiar: anote por quê.

Para ir além: some as falhas de todas as contas por origem (o padrão do password spraying), marque quando houver um Accepted password da mesma origem logo depois das falhas e escreva os resultados em CSV.

Desafio

Avançado: transforme o caso numa proposta de regra

Sem instalar nada agora, escreva como este caso viraria uma regra num SIEM. Responda no relatório:

  1. No Wazuh: quais regras padrão do sshd já tratariam esses eventos? Procure no repositório oficial de regras do Wazuh o arquivo das regras de sshd e identifique a regra de falha de senha, a de usuário inexistente e a de várias falhas da mesma origem. Que valores de frequência e janela elas usam? O que você mudaria?
  2. No Elastic Security: procure no repositório de regras de detecção da Elastic uma regra para várias falhas de autenticação no Linux. Quais campos ela usa? Eles existiriam nos seus logs?
  3. A sua regra: escreva em linguagem comum a condição, a janela, o limiar, as exceções (falsos positivos conhecidos) e o que o analista deve verificar quando ela disparar.

A instalação e o teste de um SIEM ficam para os laboratórios seguintes da série. Por enquanto, a proposta é o entregável.

Certificações e trilhas de aprendizado #

Certificações organizam o estudo e ajudam a passar por filtros de currículo, mas nenhuma é obrigatória para começar e nenhuma substitui laboratório. As informações abaixo foram conferidas nas páginas oficiais em outubro de 2026. Preços variam e mudam com frequência; consulte sempre o site de cada certificadora.

Fundamentos (servem para qualquer caminho) #

CertificaçãoO que validaQuando faz sentidoObservação
ISC2 Certified in Cybersecurity (CC)Conceitos de base: princípios de segurança, controle de acesso, redes, operaçõesLogo após os fundamentos de TI e redesA ISC2 informa que não exige experiência. O programa que oferecia o exame gratuito encerrou novas inscrições em maio de 2026
CompTIA Security+Base ampla de segurança, muito citada em vagasDepois de alguns meses de estudo e laboratórioA V8 tem lançamento previsto para por volta de 17 de novembro de 2026. Confira a versão antes de comprar material
CCNA Cybersecurity (Cisco)Operações de segurança: monitoramento, análise de eventos e de tráfegoPara quem mira SOC e gosta de redesAntiga CyberOps Associate, depois Cisco Certified Cybersecurity Associate. Exame 200-201

Especialização em defesa (Blue Team) #

CertificaçãoO que validaQuando faz sentidoObservação
CompTIA CySA+Análise de segurança: detecção, investigação, resposta e gestão de vulnerabilidadesDepois da Security+ ou de experiência equivalenteA V4 é a atual. A V3 em inglês deixa de ser aplicada em 22 de dezembro de 2026
Microsoft SC-200Operação de segurança com Microsoft Defender XDR, Microsoft Sentinel e KQLPara quem trabalha ou quer trabalhar com ambientes MicrosoftNível intermediário, prova de 100 minutos, disponível em português. Renovação anual gratuita pelo Microsoft Learn

Especialização ofensiva (Red Team e pentest) #

CertificaçãoO que validaQuando faz sentidoObservação
eJPT (INE)Prova prática de pentest em nível de entradaDepois de dominar redes, Linux e as ferramentas básicas no laboratórioExame prático. Exige assinatura da INE e voucher
CompTIA PenTest+Planejamento, execução e relatório de testes de intrusãoCom experiência prática em pentestA V3 (PT0-003) é a atual. A CompTIA recomenda de 3 a 4 anos como pentester, além de conhecimentos de Network+ e Security+

Para depois, com experiência #

GIAC GCIH (Certified Incident Handler) cobre técnicas de ataque e tratamento de incidentes. É reconhecida e cara (o treinamento associado da SANS custa bem mais que o exame). Faz sentido quando você já trabalha com resposta a incidentes ou quando a empresa patrocina. Não é ponto de partida.

Uma ordem que faz sentido para iniciantes: fundamentos e laboratório primeiro; depois uma certificação de base (CC, Security+ ou CCNA Cybersecurity); só então uma especialização, escolhida a partir do que você gostou de fazer nos laboratórios. Gastar com uma certificação avançada antes de ter a base costuma resultar em decorar respostas sem conseguir aplicá-las.

Como o seu Home Lab vai evoluir #

O laboratório de hoje usou uma única VM conversando com ela mesma. A partir daqui, cada artigo acrescenta uma peça:

LabO que você acrescentaO que aprende
LAB 01Uma VM Ubuntu, fundamentos de Linux e redesTerminal, processos, portas e logs
LAB 02Eventos de autenticação e análise de logs (este artigo)Gerar, investigar e documentar uma atividade, e mapear no ATT&CK
LAB 03Duas máquinas virtuais numa rede isoladaComunicação entre sistemas, modos de rede, uma origem que não é 127.0.0.1
LAB 04Uma plataforma SIEMColeta centralizada de logs e as primeiras regras
LAB 05Criação de regras e investigação de alertasFechar o ciclo Purple: executar, detectar, ajustar e repetir

Essa é uma progressão sugerida. Os requisitos de hardware crescem a cada etapa, principalmente quando o SIEM entrar; confira os de cada laboratório antes de começar. A calculadora de hardware ajuda a descobrir até onde o seu computador vai.

A ideia da CS Academy é essa: aprender cibersegurança construindo e investigando o próprio ambiente, uma peça de cada vez. Para quem quiser ver o desenho completo de um laboratório que simula uma empresa, o Cyber Security Home Lab Pro ensina a montar, aula a aula, um ambiente com hipervisor Proxmox, firewall pfSense, Active Directory, o SIEM Wazuh, uma sandbox isolada e estações de ataque com alvos vulneráveis. É onde os três times deste artigo podem trabalhar no mesmo ambiente. Todo o software usado é gratuito, e a primeira aula é aberta.

Se ainda não for o momento, o Blueprint do Home Lab é um PDF gratuito com esse desenho: as zonas, um plano de redes de exemplo e o checklist de hardware.

Perguntas frequentes #

Preciso escolher entre Blue Team e Red Team logo no começo? #

Não. Os fundamentos são os mesmos: redes, sistemas operacionais, logs e conceitos de segurança. Faça laboratórios dos dois lados, como o deste artigo, e observe do que você gosta mais. A escolha fica mais fácil (e mais bem informada) depois de alguns meses de prática.

Purple Team é um cargo? #

Às vezes. Algumas empresas têm equipes ou vagas com esse nome, mas na maioria dos lugares Purple Team é uma forma de trabalhar: exercícios em que ofensiva e defesa colaboram para medir e melhorar a detecção. Os cargos mais próximos costumam ser engenheiro de detecção e especialista em emulação de adversários.

Qual dos três é mais acessível para quem está começando? #

As vagas de entrada mais comuns costumam estar na defesa, em SOCs e em empresas de serviços gerenciados de segurança. Entrar direto em ofensiva é possível, normalmente pelo pentest, mas exige uma base técnica mais larga. Purple Team quase sempre pede experiência prévia em pelo menos um dos lados.

Como praticar técnicas ofensivas sem cometer crime? #

Pratique só no seu próprio laboratório, em plataformas que autorizam expressamente os testes (ambientes de treino e CTFs) ou em programas de bug bounty, seguindo as regras de cada um. Fora disso, nenhum teste começa sem autorização por escrito do dono do sistema.

O laboratório deste artigo é um ataque de força bruta? #

Não. Você fez poucas tentativas manuais, contra uma conta criada para o exercício, na sua própria máquina. Isso gera o mesmo tipo de registro que uma tentativa de força bruta geraria, o que permite estudar a detecção com segurança. Uma campanha real envolve automação, volume e um alvo que não é seu.

Para fechar #

Volte à Transvale. As mesmas falhas de login renderam três aprendizados diferentes, e você acabou de passar pelos três:

  • Como produzir uma atividade controlada: com autorização, limites claros, uma conta de teste e o registro exato do que foi feito.
  • Como investigá-la: encontrar os eventos, ler cada campo, separar falha de sucesso e comparar o registro com o que realmente aconteceu.
  • Como avaliar a detecção: perceber que registrar não é o mesmo que alertar, e transformar essa diferença numa recomendação concreta.

Nenhum dos três papéis funciona sozinho. A ofensiva sem a defesa produz relatórios que ninguém aplica; a defesa sem a ofensiva não sabe o que está deixando passar. É por isso que tanta gente na área circula entre os dois lados ao longo da carreira.

Guarde o relatório deste laboratório no seu portfólio, ao lado do LAB 01. Daqui a alguns artigos, quando você tiver um SIEM, vai repetir este exercício, e a linha "Detecção: NÃO" vai mudar.

No próximo artigo da série Por Dentro da Cibersegurança: "Como montar seu primeiro Home Lab de Cibersegurança: arquitetura, redes e virtualização". Vamos aprofundar a infraestrutura, colocar duas máquinas virtuais numa rede isolada e preparar o terreno para receber um SIEM. A origem das tentativas deixa de ser 127.0.0.1 e passa a ser outra máquina, como seria numa empresa.

Por Dentro da Cibersegurança

Continue sua jornada

Próximo na série · Artigo 03 Em breveComo montar seu primeiro Home Lab de Cibersegurança: arquitetura, redes e virtualizaçãoDuas máquinas virtuais numa rede isolada: o desenho, os modos de rede e a base para receber um SIEM nos próximos laboratórios.Categoria: Home Lab · Ainda não publicado. A CS Academy publica um artigo novo por semana.Acompanhar pelo RSSAvisos no YouTube
Aprenda também em vídeo Playlist gratuita “LAB - SOC Open Source” no YouTube da CS Academy.