Pentest Web do Zero: Montando um Lab Seguro com DVWA, Juice Shop e Burp Suite
Guia hands-on para montar um laboratorio isolado de pentest web com DVWA, Juice Shop, Burp Suite e regras claras de ataque seguro e legal.

Tem gente que dispara o Burp Suite contra o primeiro site que aparece no Google e ja se chama de pentester. Isso e crime em mais de trinta paises, no Brasil sob o artigo de invasao de dispositivo informatico da Lei 12.737. O unico caminho sensato e montar seu proprio laboratorio, isolado e cheio de alvos legalmente vulneraveis, antes de tocar em qualquer sistema real. Neste guia a equipe Basilisk constroi um ambiente reproduzivel numa maquina de 16GB de RAM com DVWA, OWASP Juice Shop e Burp Suite Community como trio inicial. Tudo roda numa rede host-only do VirtualBox, sem que um unico bit vaze para fora, e cada passo e pensado para que voce consiga destruir e reconstruir em minutos.
Por que um lab e a diferenca entre pesquisa e crime
A linha legal nao e sobre a intencao, e sobre a autorizacao. Escanear, fazer fuzzing ou ate apenas conectar a um sistema que nao e seu e para o qual voce nao tem permissao escrita de teste e acesso nao autorizado na maioria das jurisdicoes, causando dano ou nao. Um laboratorio elimina esse risco por completo: os alvos sao software publicado explicitamente para ser quebrado, rodando em maquinas que voce controla, numa rede que nao alcanca mais ninguem. Ele tambem te torna um testador melhor, porque voce pode disparar um payload cem vezes, observar exatamente o que muda e comparar com o codigo-fonte conhecido, algo que voce nunca consegue contra um alvo de producao caixa-preta.
A camada de isolamento que separa pesquisa de incidente
Comece pelo isolamento, porque e ele que impede seus experimentos de vazarem. Crie uma VM de Kali Linux 2026.1 com dois adaptadores: um NAT chaveavel para baixar atualizacoes e um adaptador host-only na faixa 192.168.56.0/24. As maquinas alvo (um Ubuntu 22.04 rodando DVWA em Docker e outro com Juice Shop na porta 3000) ficam SOMENTE em host-only. Remova qualquer rota padrao dentro delas com ip route del default para que nem um comprometimento total consiga telefonar para casa. Tire um snapshot do VirtualBox de cada VM antes de cada sessao; reverter depois de instalar uma extensao de Burp duvidosa economiza horas de reinstalacao e garante uma base conhecida e limpa.
Subir o DVWA e aprender o ciclo de exploracao
Suba o DVWA com docker run --rm -it -p 80:80 vulnerables/web-dvwa e coloque o nivel de seguranca em low no primeiro contato. A meta nao e terminar cada modulo no primeiro dia, mas internalizar o ciclo: observe o request no Burp, mude um parametro, observe a resposta, monte um payload, repita. O modulo de SQL Injection e o classico abridor de mente: envie ' OR 1=1-- - no parametro id e veja a query retornar todas as linhas. Depois suba o nivel para medium e high para ver como a validacao de entrada e as queries parametrizadas fecham o buraco progressivamente, o que te ensina o lado defensivo ao mesmo tempo.
Subir o Juice Shop para alvos modernos realistas
Juice Shop e um upgrade brutal de realismo: uma SPA Angular com mais de 100 desafios, um scoreboard escondido, um JWT mal validado e endpoints REST cheios de IDOR. Suba com docker run --rm -p 3000:3000 bkimminich/juice-shop e configure o Burp Suite Community como proxy em 127.0.0.1:8080. Por ser uma SPA de verdade, voce pratica contra APIs JSON, manipulacao de JWT e roteamento do lado cliente, que e como as aplicacoes modernas realmente sao. O scoreboard escondido em /#/score-board te da um curriculo estruturado do trivial ao genuinamente dificil, e cada desafio resolvido mapeia para uma classe de vulnerabilidade real.
Configurar o Burp Suite do jeito certo
Importe o certificado CA do Burp num perfil dedicado do Firefox no Kali (NUNCA no seu navegador pessoal) para interceptar TLS sem se treinar a ignorar avisos de certificado. Depois configure um scope agressivamente estreito: em Target > Scope adicione apenas 192.168.56.0/24 e marque a opcao de descartar trafego fora do scope. Esse unico clique evita o pesadelo classico do estagiario de deixar o Intruder rodando contra um CDN. Crie um Project File por alvo (dvwa.burp, juiceshop.burp) para os achados ficarem limpos, habilite o Logger++ do BApp Store para uma trilha de auditoria completa e instale o Param Miner para descobrir headers e parametros ocultos.
Uma metodologia repetivel, nao cliques ao acaso
Trabalhe cada alvo em fases: mapeie a superficie (spider mais navegacao manual com o historico do proxy), identifique entradas (cada parametro, header, cookie e campo JSON), teste uma classe por vez (injecao, depois controle de acesso, depois cliente) e confirme com um payload minimo e confiavel antes de seguir. Resista ao impulso de rodar o scanner ativo primeiro; entenda a app manualmente, porque o scanner perde as falhas de logica, que sao os bugs mais interessantes. Mantenha uma lista viva de endpoints e sua autorizacao esperada para poder testar IDOR de forma sistematica trocando identificadores entre duas contas que voce criou.
Documentacao que transforma pratica em habilidade
Documente cada exploit com tres artefatos: o request cru, o payload exato e o comportamento esperado versus observado. Use um vault de Obsidian dedicado ao lab, marcado conforme o OWASP Top 10, para que os padroes se acumulem entre alvos. Quando voce descobrir que o Juice Shop tem um upload de avatar mal filtrado, escreva o relatorio antes de correr para o proximo desafio; essa disciplina separa o hobbista do profissional. Mantenha backups cifrados do vault, porque seu caderno de exploits e ouro e um passivo no momento em que vaza: e um mapa de tecnicas e, se um dia incluir um engagement real, das fraquezas de um cliente.
Pegadinhas comuns que arruinam um lab caseiro
As falhas de sempre: dar as VMs alvo um adaptador bridged de modo que fiquem de repente alcancaveis a partir da sua rede domestica; instalar extensoes de Burp de terceiros sem auditoria no mesmo perfil que voce usa para trabalho real; deixar o adaptador NAT habilitado de modo que um alvo consiga exfiltrar; esquecer de snapshotar antes de um experimento e perder um setup que funcionava; e, pior de tudo, ficar confortavel e apontar o ferramental do lab para um site ao vivo porque pareceu inofensivo. Trate a fronteira entre lab e internet como sagrada. Tudo o que esta dentro e seu para quebrar; nada do lado de fora e, sem scope escrito.
Checklist do lab e para onde ir depois
Antes de cada sessao verifique: as VMs alvo estao em host-only sem rota padrao; o scope do Burp esta configurado e o descarte fora do scope ativo; existem project files por alvo; os snapshots estao frescos; e o adaptador NAT esta desligado a menos que voce esteja atualizando. Antes de fechar, desligue as VMs com VBoxManage controlvm <name> poweroff, revogue o NAT temporario e reverta para um snapshot limpo se instalou algo experimental. Quando DVWA e Juice Shop parecerem faceis, gradue para HackTheBox, TryHackMe ou programas de bug bounty com scope escrito, onde a mesma disciplina te mantem legal.
FAQ: Burp Suite Community basta ou preciso do Pro?
Community basta para aprender tudo deste guia. Os limites principais sao um Intruder limitado e a ausencia de scanner ativo embutido. Para um lab de aprendizado isso ate e uma vantagem, porque forca voce a entender os ataques manualmente em vez de clicar em escanear. Compre o Pro so quando fizer engagements pagos onde o scanner automatico e o Intruder mais rapido economizam horas faturaveis; ate la, Community mais extensoes gratuitas do BApp como Logger++ e Param Miner cobrem o curriculo.
FAQ: Da para rodar tudo isso num unico notebook?
Da. Kali mais duas VMs alvo Ubuntu leves cabem confortavelmente em 16GB de RAM se voce der 4GB ao Kali e 2GB a cada alvo. Se a memoria apertar, rode DVWA e Juice Shop como containers Docker num unico alvo Ubuntu em vez de duas VMs separadas. A parte inegociavel e a rede host-only e os snapshots; o numero exato de VMs e flexivel e voce pode reduzir sem enfraquecer o isolamento.
Scriptar o lab para que ele se reconstrua sozinho
Um lab que voce nao consegue recriar sob demanda apodrece em silencio: as extensoes derivam, as versoes dos alvos ficam para tras e um revert ruim de snapshot perde seu setup. Trate tudo como codigo. Descreva as VMs num Vagrantfile e o provisionamento (instalacao do Docker, containers DVWA e Juice Shop, rede host-only, ajustes de Sysmon ou logging) num playbook Ansible ou num simples script de shell, para que um unico vagrant up reconstrua o ambiente do zero. Mantenha as versoes das imagens alvo fixadas, mas suba-as de proposito a cada trimestre, porque Juice Shop e DVWA ambos lancam novos desafios e comportamentos corrigidos que mudam o que a sua pratica cobre. Guarde toda a definicao num repo Git privado, nunca com credenciais reais ou dados de engagement commitados, e marque um estado conhecido e bom antes de mudancas grandes. O ganho e duplo: voce pode jogar o ambiente fora sem medo depois de testar algo destrutivo, e pode entregar exatamente o mesmo lab a um colega para que seus achados sejam reproduziveis em vez de folclore. Reprodutibilidade e o unico habito que mais limpamente separa um praticante serio de alguem que pegou um shell uma vez e nunca mais conseguiu repetir.
Takeaway pratico: trate seu lab como um pequeno reator nuclear com diario de operacoes, redes segregadas e snapshots obrigatorios. Quando estiver confiante com DVWA e Juice Shop, passe para HackTheBox, TryHackMe ou programas de bug bounty com scope escrito. Pratica sem scope nao e pentest, e crime que carrega anos de prisao em muitos paises. A disciplina de laboratorio e o que te mantem do lado certo dessa linha, e e exatamente a mesma disciplina que faz os engagements profissionais serem limpos e defensaveis.


