> 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
- 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
- Vulnerability scanning
- Proceso automático de identificación de vulnerabilidades
- 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
- Comando Ping
- Nmap
- 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
- Nmap
- Colasoft Ping Tool
- Angry IP Scanner
> Comprobar puertos abiertos
- TCP utiliza el llamado Three-way handshake para establecer las conexiones cliente-servidor
- descripción de los pasos:
- El cliente (Initiator) comienza una conexión con el servidor con un paquete que tan solo lleva el flag SYN activo
- El servidor (Listener) contesta con un paquete con los flags SYN y ACK activos
- 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
- 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
- Herramientas
> 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