Creación de herramientas de seguridad personalizadas

Desarrolla tu propio arsenal de herramientas de seguridad con Python. Crea un escáner de puertos multihilo, diseña paquetes de red personalizados con Scapy y desarrolla un fuzzer de directorios web de alto rendimiento.

Cybersecurity EngineerCiberseguridadWireshark

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

Crear una herramienta de seguridad revela decisiones ocultas en escáneres maduros: entradas, tiempos de espera, concurrencia, campos de protocolo, errores y filtros. Este curso práctico usa Python para desarrollar utilidades de reconocimiento y encadenar sus resultados.

Crearás un escáner TCP multihilo, construirás paquetes ICMP/TCP con Scapy y desarrollarás un enumerador web concurrente. El reto final escanea puertos web locales, prueba rutas de una lista en cada servicio abierto y escribe un informe combinado.

Lo que aprenderás

  • Crear una CLI con argparse para objetivo y rango de puertos
  • Detectar puertos TCP con socket.connect_ex, tiempos de espera y excepciones
  • Comparar escaneo secuencial con concurrencia por hilos
  • Apilar capas IP, ICMP y TCP en Scapy e inspeccionar campos
  • Enviar una sonda ICMP con sr1 y manejar respuesta o timeout
  • Leer candidatos de una lista y hacer solicitudes HTTP concurrentes
  • Filtrar endpoints por códigos HTTP y gestionar errores
  • Encadenar escaneo y descubrimiento en una herramienta local con informe

A quién va dirigido este curso

Este curso intermedio está dirigido a estudiantes de ciberseguridad, ingenieros de red y desarrolladores Python que quieran entender escáneres y enumeradores. Enseña implementación y pruebas seguras, no sustituye Nmap o ffuf.

Requisitos previos: Funciones Python, módulos, colecciones, excepciones y archivos. Se esperan conocimientos básicos de puertos TCP, códigos HTTP, cabeceras IP/ICMP/TCP y terminal Linux.

Entorno de aprendizaje: Ubuntu 22.04 con Python 3, Scapy, requests, servidores web locales y listas preparadas. Escaneo y fuzzing usan 127.0.0.1; el laboratorio de paquetes envía un ICMP Echo a 8.8.8.8, sujeto a la política de red.

Preguntas frecuentes

¿Puedo dirigir las herramientas a cualquier host?

Solo a sistemas propios o con autorización explícita. Los escaneos usan 127.0.0.1; Scapy envía un único ICMP Echo estándar a Google Public DNS para practicar respuestas.

¿Qué ocurre si Scapy no recibe respuesta?

Es normal si ICMP o los paquetes raw están bloqueados. El script usa un timeout de dos segundos y maneja la ausencia; el objetivo es construir e interpretar, no garantizar Internet.

¿Son herramientas listas para producción?

No. Demuestran mecanismos. Herramientas maduras añaden concurrencia limitada, rate limiting, detección de servicios, reintentos, respuestas wildcard, TLS, validación, salida determinista y pruebas.

¿“Fuzzer” significa enviar payloads malformados?

No. Enumera rutas desde una lista mediante GET normales y códigos HTTP. No muta protocolos, inyecta payloads ni prueba corrupción de memoria.

Profesor

labby
Labby
Labby is the LabEx teacher.