Bem-vindo à aula sobre Segurança de Labs Práticos! Nesta aula, você aprenderá como criar e gerenciar um ambiente de testes de segurança de forma segura, ética e profissional. Vamos explorar desde a configuração inicial do laboratório até as práticas de documentação e definição de escopo, essenciais para qualquer profissional ou estudante de segurança da informação.

Montar um laboratório prático é fundamental para desenvolver habilidades em testes de intrusão, análise de vulnerabilidades e resposta a incidentes. No entanto, sem as devidas precauções, você pode colocar em risco sua rede, seus dados e até mesmo ter problemas legais. Esta aula fornecerá diretrizes claras para que seus estudos sejam produtivos e seguros.

Lab setup

O primeiro passo para qualquer prática de segurança é configurar um laboratório isolado e controlado. A ideia é criar um ambiente onde você possa testar livremente sem afetar sistemas de produção ou causar danos a terceiros. Para isso, é recomendável usar máquinas virtuais (VMs) com softwares como VirtualBox ou VMware, ou contêineres Docker, que permitem criar ambientes descartáveis.

Um bom laboratório deve incluir pelo menos três tipos de máquinas: uma máquina atacante (como Kali Linux ou Parrot OS), uma máquina alvo (como Metasploitable, DVWA ou uma VM com Windows vulnerável) e, opcionalmente, uma máquina de rede para simular roteamento e serviços. Além disso, é crucial configurar a rede virtual em modo NAT ou host-only, garantindo que o tráfego não vaze para a rede real. Sempre documente a topologia do seu lab e mantenha os snapshots para restaurar rapidamente.

Exemplo de configuração de rede no VirtualBox:
1. Crie uma rede interna chamada "labnet" com DHCP desabilitado.
2. Conecte a VM atacante e as VMs alvo a essa rede.
3. Atribua IPs estáticos (ex.: atacante 192.168.100.10, alvo 192.168.100.20).
4. Não conecte a interface de rede do lab à interface da sua rede física.

Safe testing

Testar com segurança vai além do ambiente físico. Envolve seguir procedimentos que minimizem riscos e garantam que você não cause danos acidentais. Sempre que for realizar um teste, comece com um escopo bem definido e obtenha autorização por escrito. Utilize técnicas de enumeração e exploração de forma gradual, começando com varreduras passivas antes de qualquer ação ativa.

Além disso, evite usar exploits que possam causar instabilidade no sistema alvo, especialmente se o lab for compartilhado. Prefira ferramentas que permitam controle fino, como Nmap para varredura, Metasploit com opções de payload não destrutivas, e scripts personalizados com moderação. Sempre monitore o tráfego de rede e os logs para identificar comportamentos anômalos. Lembre-se: o objetivo é aprender, não apenas invadir.

Exemplo de varredura segura com Nmap:
nmap -sS -sV -p- 192.168.100.20 --min-rate 500 -oA scan_result
# -sS: SYN scan (não completa conexão), -sV: detecção de versão, -p-: todas as portas,
# --min-rate: intensidade controlada, -oA: salva em vários formatos.

Documentation

Documentar cada etapa do seu trabalho é essencial, tanto para fins de aprendizado quanto para futuras referências e para cumprir requisitos legais. Uma documentação completa deve incluir o escopo, as ferramentas utilizadas, os comandos executados, os resultados obtidos e as conclusões. Isso também ajuda a reproduzir testes e a criar relatórios profissionais.

Utilize ferramentas como markdown, wikis ou plataformas de bug bounty para registrar suas atividades. Ao documentar, preocupe-se em anotar timestamps, endereços IP, nomes de usuários e qualquer evidência de vulnerabilidades. Uma boa prática é manter um diário de laboratório com os passos e reflexões. Isso não só melhora suas habilidades, mas também serve como prova de que suas ações foram éticas e dentro do escopo.

Modelo de documentação de teste:
# Teste de Segurança - [Data]
## Escopo
- Alvo: 192.168.100.20 (Metasploitable)
- Autorização: [Nome do responsável]
## Ferramentas
- Nmap 7.80
- Metasploit 6.0
## Procedimentos
1. Varredura de portas: nmap -sS -p- 192.168.100.20
2. Detecção de serviços: nmap -sV -p 21,22,80 192.168.100.20
3. Exploração: use exploit/unix/ftp/vsftpd_234_backdoor
## Resultados
- Porta 21 aberta (vsftpd 2.3.4) - vulnerável a backdoor
- Porta 22 aberta (OpenSSH 5.1p1) - sem exploit conhecido
## Conclusão
- Sistema comprometido com sucesso. Recomenda-se atualização do vsftpd.

Scope

Definir o escopo é a etapa mais importante antes de qualquer teste. O escopo define quais sistemas, redes e aplicações estão autorizados para teste, bem como os limites de tempo e tipos de testes permitidos. Isso evita mal-entendidos e problemas legais. Sempre obtenha um contrato ou autorização formal, especialmente quando o lab envolve sistemas de terceiros.

Em um laboratório próprio, defina claramente quais máquinas serão alvo e quais não. Por exemplo, você pode decidir que apenas a VM Metasploitable está no escopo, e que não deve atacar a VM do roteador ou a máquina host. Além disso, estipule janelas de teste para evitar sobrecarga de recursos. Um bom escopo inclui endereços IP, domínios, URLs, e até mesmo técnicas específicas (ex.: apenas testes de caixa preta).

Exemplo de escopo de laboratório:
- Alvos permitidos: 192.168.100.10 (atacante), 192.168.100.20 (alvo)
- Proibido: qualquer outro host na rede lab, a máquina host, e a internet.
- Tipos de teste: varredura de vulnerabilidades, exploração de serviços, quebra de senhas (em máquinas locais).
- Horário: seg-sex das 9h às 18h.
- Autorização: [Nome], em [Data].

Boas práticas e observações finais

Para encerrar, lembre-se sempre de que a segurança da informação é uma área que exige responsabilidade. Pratique somente em ambientes controlados e com autorização. Mantenha-se atualizado sobre as leis locais e os termos de uso dos serviços. Além disso, compartilhe seu conhecimento de forma ética, divulgando vulnerabilidades de maneira responsável.

Outra dica é participar de plataformas como Hack The Box ou TryHackMe, que oferecem laboratórios legais e com escopo definido. Isso permite que você desenvolva habilidades em um ambiente seguro e reconhecido. Nunca use suas habilidades para causar danos ou obter vantagens ilegais.

Referências

Exercícios

  1. Descreva a topologia de um laboratório de segurança com pelo menos três máquinas virtuais, explicando as funções de cada uma e como você isolaria a rede.
  2. ✓ Resposta: Um lab típico pode ter uma VM atacante (Kali Linux), uma VM alvo (Metasploitable) e uma VM de rede (pfSense) para controlar o tráfego. Todas conectadas a uma rede interna virtual (ex.: 192.168.56.0/24) em modo host-only, sem acesso à internet, para evitar que ataques atinjam redes reais.
  3. Cite três práticas de teste seguro que você deve adotar ao trabalhar em um laboratório e explique por que cada uma é importante.
  4. ✓ Resposta: 1) Usar apenas exploits que não causem danos permanentes, para evitar corromper o sistema alvo. 2) Monitorar o tráfego de rede, para detectar vazamentos ou problemas. 3) Fazer snapshots antes de testes, para restaurar o sistema facilmente.
  5. Por que é importante documentar cada etapa de um teste de segurança? Dê um exemplo de informação que deve ser registrada.
  6. ✓ Resposta: A documentação permite reproduzir testes, comprovar autorização, e criar relatórios profissionais. Exemplo: registrar o comando exato usado, a data, o alvo, e o resultado obtido.
  7. O que é escopo em um teste de segurança e por que ele é crucial? Dê um exemplo de escopo bem definido.
  8. ✓ Resposta: Escopo define os limites do teste, como alvos permitidos, tipos de teste e horários. Exemplo: "Autorizo testes apenas no IP 192.168.100.20, entre 9h e 18h, sem ataques de negação de serviço."
  9. Liste duas plataformas ou softwares que você pode usar para criar um laboratório de segurança e explique uma vantagem de cada um.
  10. ✓ Resposta: VirtualBox (gratuito, multiplataforma, suporta snapshots) e Docker (leve, fácil de criar ambientes descartáveis). Hack The Box também é útil, pois oferece desafios com escopo legal.