Firewall

Un firewall es un dispositivo o conjunto de dispositivos configurados para proteger redes mediante la filtración de tráfico entrante y saliente basado en reglas predefinidas. Para un pentester, entender los firewalls es crucial para evaluar la seguridad de una red y encontrar posibles vulnerabilidades.

Tipos de Firewalls

  1. Firewalls de Red

    • Protegen redes enteras filtrando el tráfico entre redes internas y externas.

    • Ejemplo: Firewalls perimetrales, cortafuegos basados en hardware.

  2. Firewalls de Aplicación (WAF)

    • Protegen aplicaciones específicas, especialmente aplicaciones web.

    • Ejemplo: ModSecurity, AWS WAF.

  3. Firewalls de Host

    • Protegen dispositivos individuales (servidores, estaciones de trabajo).

    • Ejemplo: Windows Defender Firewall, iptables en Linux.

Conceptos Clave

  1. Filtrado de Paquetes

    • Inspecciona cada paquete que atraviesa el firewall y lo filtra según criterios como la dirección IP, el puerto y el protocolo.

  2. Inspección de Estado

    • Monitorea el estado de las conexiones activas y toma decisiones basadas en el estado de la conexión (nueva, establecida, relacionada).

  3. Control de Acceso

    • Define qué tráfico está permitido o bloqueado basándose en reglas específicas.

  4. NAT (Network Address Translation)

    • Permite que múltiples dispositivos en una red privada compartan una única dirección IP pública.

  5. VPN (Virtual Private Network)

    • Crea conexiones seguras y cifradas sobre una red menos segura, como Internet.

Herramientas y Técnicas para Pentesters

  1. Reconocimiento y Enumeración

    • Identificar la presencia de firewalls y sus configuraciones.

    • Herramientas: nmap (con opciones como -sS, -sA, -sF), hping.

  2. Evasión de Firewalls

    • Técnicas para sortear firewalls y acceder a la red interna.

    • Fragmentación de paquetes: Enviar paquetes fragmentados para evitar la detección.

    • Túneles cifrados: Usar VPN o SSH para encapsular el tráfico.

    • Ocultación del tráfico: Usar puertos no estándar o protocolos inusuales.

  3. Testeo de Firewalls de Aplicación (WAF)

    • Evaluar la efectividad de un WAF en la protección de aplicaciones web.

    • Herramientas: OWASP ZAP, Burp Suite, SQLMap.

  4. Revisión de Reglas de Firewall

    • Evaluar las reglas configuradas en el firewall para identificar configuraciones débiles o mal configuradas.

    • Herramientas: Auditorías manuales, revisiones de configuración automatizadas.

Ejemplos de Comandos y Herramientas

  1. Nmap para detectar firewalls y realizar escaneos evadiendo reglas.

    nmap -sS -T4 -A -v target.com
    nmap -sA target.com
    nmap --scan-delay 500ms -sS target.com
  2. Hping para enviar paquetes personalizados y probar respuestas de firewalls.

    hping3 -S target.com -p 80 -c 1
    hping3 --scan 1-100 target.com
  3. Iptables en Linux para configurar y revisar reglas de firewall.

    sudo iptables -L -v -n
    sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
  4. Windows Defender Firewall usando comandos netsh para revisar y configurar reglas.

    netsh advfirewall firewall show rule name=all
    netsh advfirewall firewall add rule name="AllowSSH" protocol=TCP dir=in localport=22 action=allow

Buenas Prácticas para Pentesters

  1. Mantenerse Actualizado: Conocer las últimas técnicas de evasión y herramientas de firewall.

  2. Documentar Hallazgos: Registrar configuraciones y vulnerabilidades encontradas para generar informes precisos.

  3. Entender el Entorno: Conocer la arquitectura y políticas de la red objetivo para realizar un testeo efectivo.

  4. Comunicación: Coordinar con el equipo de seguridad de la red para evitar interrupciones durante las pruebas.

Conclusión

Un pentester debe tener un conocimiento profundo de los firewalls, sus tipos y configuraciones, así como de las técnicas y herramientas para evaluarlos y evadirlos. Este conocimiento es esencial para identificar y explotar posibles vulnerabilidades en la infraestructura de red de una organización.

Última actualización