> Network Scanning

  • Scanning trata de establecer procedimientos para identificar hosts, puertos y servicios de una red
  • Es uno de los componentes básicos a tratar para reunir información y crear un perfil del objetivo
  • Se trata de obtener:
    • Direcciones IP
    • Puertos activos de hosts vivos
    • Sistemas Operativos y arquitectura
    • Servicios que están corriendo en los hosts

> Tipos de escaneo

  1. Port scanning
    • Una serie de mensajes enviados por alguien intentando entrar en una máquina para extraer info acerca de los servicios de red del equipo
  2. Vulnerability scanning
    • Proceso automático de identificación de vulnerabilidades
  3. Network scanning
    • Identificación de hosts activos en una red

> Metodología de escaneo

> Comprobar si existen sistemas vivos

  • ICMP scanning
    • Escaneo por ping enviado peticiones ICMP ECHO a un host
    • Si el host esta vivo, contestará con un ICMP ECHO reply
    • Herramientas
  • Ping Sweep
    • Se utiliza para determinar los hosts vivos de un rango de direcciones IP
    • Escaneo por ping enviado peticiones ICMP ECHO a un host
    • Si el host esta vivo, contestará con un ICMP ECHO reply
    • Herramientas

> Comprobar puertos abiertos

  • TCP utiliza el llamado Three-way handshake para establecer las conexiones cliente-servidor
  • descripción de los pasos:
    1. El cliente (Initiator) comienza una conexión con el servidor con un paquete que tan solo lleva el flag SYN activo
    2. El servidor (Listener) contesta con un paquete con los flags SYN y ACK activos
    3. Como paso final, el cliente contesta con un paquete ACK
  • Si estos 3 pasos se completan sin ninguna complicación, la conexión TCP se habrá completado satisfactoriamente entre cliente y servidor

  • Flags de comunicación TCP:
    • SYN – Usado para iniciar una conexión entre dos hosts
    • URG – Indica urgencia
    • FIN – Le dice al sistema remoto que no habrá más transmisiones
    • RST – Reset de una conexión
    • PSH – Usado para indicar al sistema que envie todos los datos de buffer inmediatamente
    • ACK – Admisión / OK

> Creación de paquetes a medida usando Flags TCP

  • Herramientas
    • Hping 2 / Hping 3
    • Scapy

> Técnicas de escaneo

1.- TCP Connect / Full Open Scan

  • Detecta si un puerto esta abierto completando el Three-way handshake
  • Establece la conexión y la cierra con un apaquete RST

2.- Stealth Scan (Half-open Scan)

  • Utilizada para evitar reglas de firewall, mecanismos de logging, etc..
  • También resulta útil para ocultarse del tráfico norma

3.- Xmas Scan

  • Envía un frame TCP a un dispositivo remoto con todos  los flags activos
  • FIN escanea solo con SO TCP/IP desarrollado de acuerdo a RFC793
  • No funciona con ninguna versión actual de Microsoft Windows

4.- FIN Scan

  • Envía un frame TCP a un dispositivo remoto con el flag FIN
  • FIN escanea solo con SO TCP/IP desarrollado de acuerdo a RFC793
  • No funciona con ninguna versión actual de Microsoft Windows

5.- NULL Scan

  • NULL escanea solo con SO TCP/IP desarrollado de acuerdo a RFC793
  • No funciona con ninguna versión actual de Microsoft Windows

6.- IDLE Scan

  • La mayoría de los servidores de red escuchan por el puerto TCP, como los servidores web en el puerto 80 y los servidores de mail por el 25
  • Un puerto se considera abierto si una aplicación está escuchando por ese puerto
  • Una forma de determinar si un puerto esta abierto es enviando un paquete SYN
  • La máquina objetivo enviará de vuelta SYN|ACK si el puerto está abierto, o RST si está cerrado
  • La máquina que reciba un paquete SYN|ACK no solicitado responderá con RST
  • Un RST no solicitado será ignorado
  • Cada paquete IP de internet tiene un número identificador de fragmento
  • Es un método de escaneo de puertos TCP que permite enviar paquetes spoofeados a una máquina a través de herramientas de software como Nmap y Hping

> Pasos pare realizar el escaneo:

  • Enviar paquete SYN|ACK a una máquina zombie para probar su número IP ID
  • Cada paquete IP en internet tiene un número de identificador de fragmento (IP ID) Este identificador es un número de 4 dígitos que se incrementa cada vez que un host envía el paquete IP
  • La máquina zombie no esperará SYN/ACK por lo que enviará de vuelta un paquete RST, revelando el IP ID

  • Se analiza el paquete RST devuelto por la máquina zombie para extraer el IPID
  • Se envía un packete SYN a la máquina objetivo (puert 80) haciendo spoofing de la dirección IP de la máquina zombie

  • El objetivo enviará RST a la máquina zombie si el puerto está cerrado pero zombie no le enviará nada

  • Realizar el mismo proceso de nuevo

7.- SYN/FIN Scanning usando fragmentos IP

  • Se trata de la modificación de métodos anteriores
  • La cabecera TCP se divide en diferentes paquetes, por lo que los filtros de paquetes pierden su efectividad

8.- UDP Scanning

  • Se pregunta al puerto 29 si se encuentra abierto
  • Si no hay respuesta, esta abierto
  • Si se recibe un ICMP port unreachable, esta cerrado

9.- Inverse TCP Flag Scanning

  • Los atacantes envían paquetes sonda con varios flags TCP activos, o sin flags
  • Si no hay respuesta, significa que el puerto está abierto
  • Si se recibe RST/ACK, significa que el puerto esta cerrado

10.- ACK Flag Scanning

  • El atacante envía un paquete sonda ACK con un número de secuencia aleatorio
  • Si no hay respuesta significa que el puerto esta filtrado
  • Si se recibe RST significa que el puerto no está filtrado

> Técnicas de evasión  de IDSs

  • Usar paquetes fragmentados
    • Herramientas
      • Fragtest
      • fragroute
  • Hacer spoofing de tu dirección IP cuando lances un ataque y sniffar respuestas del servidor
  • Utilizar source routing
  • Conectar a servidores proxy

> Herramienta Nmap

  • Herramienta para exploración de redes
  • Puede ser usada para realizar inventario de una red, gestionar servicios de actualización, y monitorizar hosts y servicios
  • Un atacante puede usar Nmap para extraer información como
    • Hosts vivos en una red
    • Servicios
    • Sistemas operativos
    • Filtros/Firewalls

> Contramedidas escaneo

  • Configurar firewall y reglas IDS para detectar y bloquear sondas
  • Usar reglas personalizadas para cada red
  • Ocultar información sensible al público
  • Bloquear puertos no usados en el firewall

> War Dialing

  • Abarca el uso de programas en conjunto con un gateway para penetrar gateway-based systems
  • Las compañías no controlan el dial-in de los puertos de los routers tan estrictamente como el de los firewalls
  • Se trabaja principalmente usando nombres de usuario y contraseñas predeterminadas

> Banner Grabbing

  • OS Fingerprintig
    • Se trata de un método para determinar que SO esta corriendo en el sistema remoto objetivo
    • Existen dos modalidades:
      • Activa
        • Paquetes especialmente diseñados son enviados
        • Nos devolverán información relevante que contrastar en una bas de datos y determinar el SO
      • Pasiva
        • Técnicas de sniffing para capturar paquetes
  • Active Banner Grabbing Using Telnet
    • Esta técnica sondea servidores HTTP
    • Determinar que servicio esta corriendo en cada puerto

> Contramedidas

  • Deshabilitar o cambiar banners
  • Ocultar la extensión de los ficheros
  • Ocultar la extensión de los ficheros de páginas web

> Escaneo de vulnerabilidades

  • Identifica vulnerabilidades y puntos débiles del sistema y de la red
  • Determina como puede ser explotado un sistema
  • Herramientas
    • Nessus
    • SAINT
    • LAN Guard
    • OpenVAS (versión libre de Nessus)
    • Core Impact (framework de explotación)
    • Metasploit

> Dibujo del mapa de red

  • Obtener el dibujo del mapa de red para tener una visión global de los elementos que la componen
  • Herramientas
    • LANsurveyor

> Preparar los proxies

> Servidor proxy

  • Un servidor proxy es una máquina que hace de intermediario para conectarse a otras máquinas
  • Como firewall, un proxy protege la red local de ataques externos
  • Como multiplexor IP, permite la conexión a internet de una serie de máquinas con una IP única
  • Mantienen el anonimato en la navegación web.
  • Ciertos servidores proxy pueden filtrar información no deseada
  • Pueden proporcionar protección contra hackers

> Uso de Proxies para ataques


> Proxy Workbench

  • Es un servidor proxy que reside dentro de la red
  • Monitoriza la conexión y soporta proxy chaining
  • Modo de empleo:
    • Instalar el proxy workbench
    • Configurar el cliente para usar este proxy y se conecte al puerto 8080
  • Herramientas
    • Proxifier
    • Burp

> Socks Chain

  • Transmite aplicaciones TCP/IP a través de una cadena de servidores proxy
  • Herramientas
    • TOR (The Onion Routing)
      • Permite anonimato en las conexiones
      • Si origen y destino de ataque se encuentra en el mismo «segmento» controlado por una empresa, es posible detectar el ataque
      • Cada paquete sigue una ruta distinta
      • Es muy difícil snifar tráfico completo

> HTTP Tunneling

  • Simular tráfico HTTP cuando realmente no es HTTP
  • En realidad, se puede encapsular cualquier protocolo en cualquier otro protocolo
  • Encapsula tráfico como HTTP

> SSH Tunneling

  • Puedes hacer un túnel para todo el tráfico desde una máquina local a otra donde tengas una cuenta
  • Se pueden hacer túneles bidireccionales
  • Herramientas
    • SSL Proxy

> Anonymizers

  • Eliminan toda la información que identifica a un usuario
  • Hacen que la actividad en internet no sea trazable
  • Realmente es como si fuesen proxys
  • Son herramientas para intentar anonimizar las conexiones
  • Permiten mandar un mensaje anónimo

> IP Spoofing

  • Básicamente es suplantar una IP de origen
  • No es posible levantar una conexión directamente en TCP porque el paquete de vuelta trae un número de secuencia necesario para enviar ACK
  • Técnicas
    • Sonda TTL directa
      • Enviar un paquete al supuesto host se traducirá en una respuesta , si el TTL en la respuesta no es el mismo que el paquete que esta siendo comprobado, es un paquete spoofeado
      • Esta técnica será satisfactoria si el atacante se encuentra en una subnet diferente

    • Número de identificación IP
      • Enviar un paquete al supuesto host se traducirá en una respuesta , si el número IP ID en la respuesta no está cerca del valor que el paquete que se está comprabando, es un paquete spoofeado
      • Esta técnica será satisfactoria si el atacante se encuentra en una subnet diferente

    • Método de control de flujo TCP
      • Si un atacante esta enviando paquetes spoofeados, no recibirá los paquetes ACK del objetivo y no responderá con SYN/ACK
      • Si el atacante no para de enviar paquetes después de que el tamaño de la ventana inicial se agote, lo más probable es que sean paquetes spoofeados

> Contramedidas

  • Encriptar el tráfico de red
  • Limitar el acceso a la información de configuración de las máquinas
  • Usar números de secuencia aleatorios
  • Emplear filtrado de entrada y salida de paquetes que entren/abandonen la red