Construindo Ferramentas de Segurança Personalizadas

Desenvolva seu próprio arsenal de ferramentas de segurança em Python. Crie um scanner de portas multithread, forje pacotes de rede personalizados com Scapy e desenvolva um fuzzer de diretórios web de alto desempenho.

Cybersecurity EngineerCibersegurançaWireshark

💡 Este tutorial foi traduzido do inglês com assistência de IA. Para ver o original, você pode mudar para a versão em inglês

Introdução

Construir uma ferramenta revela decisões ocultas em scanners maduros: entradas, timeouts, concorrência, campos de protocolo, erros e filtros. Este curso prático usa Python para desenvolver ferramentas de reconhecimento e encadear resultados.

Você criará um scanner TCP multithread, montará pacotes ICMP/TCP com Scapy e desenvolverá um enumerador web concorrente. O desafio final verifica portas web locais, testa caminhos de uma wordlist em cada serviço aberto e escreve um relatório combinado.

O que você aprenderá

  • Criar uma CLI com argparse para alvo e faixa de portas
  • Detectar portas TCP com socket.connect_ex, timeouts e exceções
  • Comparar varredura sequencial com concorrência por threads
  • Empilhar camadas IP, ICMP e TCP no Scapy e inspecionar campos
  • Enviar uma sonda ICMP com sr1 e tratar resposta ou timeout
  • Ler caminhos de uma wordlist e executar HTTP concorrentemente
  • Filtrar endpoints por códigos HTTP e tratar erros
  • Encadear scanner e descoberta em uma ferramenta local de relatório

Para quem é este curso

Este curso intermediário é indicado para estudantes de segurança, engenheiros de rede e desenvolvedores Python que desejam entender scanners e enumeradores. Ele ensina implementação e testes seguros, não substitui Nmap ou ffuf.

Pré-requisitos: Funções Python, módulos, coleções, exceções e arquivos, além de portas TCP, códigos HTTP, cabeçalhos IP/ICMP/TCP e terminal Linux.

Ambiente de aprendizagem: Ubuntu 22.04 com Python 3, Scapy, requests, servidores web locais e wordlists. Scans usam 127.0.0.1; o laboratório de pacotes envia um ICMP Echo a 8.8.8.8, sujeito à política de rede.

Perguntas frequentes

Posso apontar as ferramentas para qualquer host?

Somente sistemas próprios ou explicitamente autorizados. Os scans usam 127.0.0.1; o Scapy envia um ICMP Echo padrão ao Google Public DNS para praticar respostas.

E se o Scapy não receber resposta?

É normal se ICMP ou pacotes raw forem bloqueados. O script usa timeout de dois segundos e trata a ausência; conectividade garantida não é o objetivo.

As ferramentas estão prontas para produção?

Não. Ferramentas maduras adicionam concorrência limitada, rate limiting, detecção de serviços, tentativas, respostas wildcard, TLS, validação, saída determinística e testes.

“Fuzzer” significa enviar payloads malformados?

Não. Ele enumera caminhos de uma wordlist com GET comuns e filtros de status HTTP. Não há mutação de protocolo, injeção de payloads ou testes de corrupção de memória.

Professor

labby
Labby
Labby is the LabEx teacher.