Tema 6: DoS, DDoS y BotNets PDF
Document Details
Uploaded by InstrumentalSelenium
Tags
Summary
Este documento presenta una introducción a los ataques DoS (Denial of Service), DDoS (Distributed Denial of Service) y BotNets. Explica conceptos como Zombie cookies, HSTS, y alternativas a las cookies con HTML5, así como diferentes tipos de ataques, como inundación y reflectivo, y las herramientas que se utilizan para realizar estos ataques.
Full Transcript
Zombie cookie: Una cookie que se regenera automáticamente incluso después de ser eliminada, a menudo utilizando otras técnicas para persistir en el dispositivo del usuario. Uso de HSTS como cookies: Se emplean flags de la especificación HSTS...
Zombie cookie: Una cookie que se regenera automáticamente incluso después de ser eliminada, a menudo utilizando otras técnicas para persistir en el dispositivo del usuario. Uso de HSTS como cookies: Se emplean flags de la especificación HSTS para guardar un identificador que le permita al sitio reconocer al usuario desde cualquier web. Alternativas a las cookies con HTML5 Webstorage, permite almacenar en memoria del navegador elementos del tipo clave-valor, vale durante la sesión. Sessionstorage y Localstorage donde los datos son persistentes, se almacenará información y esta seguirá en las siguientes visitas, funciona como una cookie. Una ventaja es el tamaño, que en localstorage es mucho mayor, y además no tienen fecha de expiración como las cookies. TEMA 6: DoS, DDoS y BotNets DoS (Denial of Service) A nivel lógico Una determinada vulnerabilidad que explotándola provoca una denegación de servicio. Solución → Parcheo y buena configuración de la máquina. Inundación Ataques con muchas conexiones y alta paquetería que tiran abajo una máquina o servicio. Factor de amplificación (FA): nº de maquinas que se utilizan para la inundación. Tipos: Directo: ip origen → ip destino Inyectan directamente, no tiene por qué ser desde tu máquina. Puedes atacar mediante ip spoofing. Apuntes LSI 54 Reflectivo: Inyectan paquetería. La ip origen es la máquina que queremos inundar, el destino son las demás máquinas. Las máquinas destino van a responder a la máquina víctima, y los FA van a incrementarse secuencialmente. Si empleamos un firewall de control de estado podría ayudarnos ya que dropea todo (la víctima no ha iniciado el SYN de las conexiones). Si el ataque es desde dentro de la organización si estamos jodidos. Ataques clásicos: Smurf attack: ICMP Echo Request con IP Origen la máquina que quiero floodear y destino broadcast. Protección: /proc/sys/net/ipv4/icmp_echo_ignore_broadcast = 1 → no responde a paquetes con dirección Broadcast. /proc/sys/net/ipv4/icmp_echo_ignore_all = 1 ->para que no responda ping rp_filter -> utilidad para "proteger" ip spoofing. Verifica que la dirección del paquete sea accesible desde esa interfaz de red. Fraggle attack: igual que smurf pero a nivel UDP, por tanto si hay un firewall de control de estado tiene muchas más posibilidades de saltarlo. Herramientas de inyección de paquetes: hping3 scapy packit BotNets Redes de bots. Maquinas infectadas. Sirven para hacer ataques, especialmente DDoS. Se comercializan para contratar el servicio. SYN-FLOOD Nuestras máquinas tienen un TCB: Transmission Control Block. Pila dónde se almacena la info de las conexiones abiertas de nuestra máquina. Acceso secuencial. Con un TCB muy grande puede afectar al rendimiento. Apuntes LSI 55 SYN flood llena las entradas antes de que salten los timeouts (SYN - SYN/ACK y aquí empieza el timeout, si se acaba antes del ACK se cierra la conexión). Si se llena la pila está muerta a nivel de red, no acepta nuevas conexiones. Configuración para defendernos /proc/sys/net/ipv4/tcp_max_syn_blocklog → Tamaño de la TCB, por defecto 128. Si se aumenta demasiado puede repercutir en la eficiencia. /proc/sys/net/ipv4//tcp_synack_retries → Timeout, defecto 5s. Si ponemos un timeout muy pequeño nos podemos hacer un DoS a nosotros mismos. SYN COOKIES→/proc/sys/net/ipv4/tcp_syn_cookies → 1 para activarla. Cuando la TCB se llena, se genera un número de secuencia que codifica o hashea la dirección IP de origen, la dirección IP de destino y el puerto. Este número de secuencia se utiliza para realizar un handshake, y al recibir la respuesta ACK, se puede reconstruir la información esencial de origen, destino y puerto sin depender directamente de la TCB, ya que la información se extrae del número de secuencia de los paquetes. SYN Proxies Todas las conexiones las intercepta el proxy, captando los SYNs, realizando el handshake y luego pasándole la conexión a la IP real. UDP-FLOOD Muchas veces los firewalls de las organizaciones no gestionan control de estado UDP, por tanto se podría hacer un reflectivo contra determinados puertos. UDP-flood → Herramienta simple por línea de comandos que puede crear y enviar paquetes UDP. Defensa → Filtrado de paquetes. Traffic Shaping y Packet Shaping → QoS Traffic shaping se refiere a la gestión del ancho de banda y la forma en que se envían los datos en una red. El objetivo principal es suavizar el flujo de tráfico y evitar picos que puedan afectar negativamente el rendimiento de la red. Packet shaping, por otro lado, se centra en la priorización y manipulación de paquetes individuales en función de ciertos criterios. Puede incluir la clasificación y asignación de prioridades a paquetes específicos según sus características. Apuntes LSI 56 DDoS (Distributed Denial of Service) Muchas veces cuando llega mucho tráfico de distintas IP las dropeamos, pero a veces no sabremos identificar cual es legítimo o no legítimo. Muchas veces jugamos a nivel ancho de banda, le bajamos el AB a la máquina para que esa máquina pueda comunicarse contigo pero sin pasarse. Hash limit en IPtables. iptables -A input -p tcp --dport 80 -m hashlimit --hash-limit-upto 50/min --hashlimit- count 400 --hash-limit-mode srcip --hash-limit http -j accept iptables -A input -p tcp --dport 22 -m hashlimit --hash-limit 1/min --hash-limit-mode srcip.... --contract --cstate NEW -j ACCEPT Muy importante un buen tunning de la maquina → Quitamos servicios y ficheros que no hacen falta. Ajustamos parámetros. Esta máquina responderá mucho mejor a ataques DoS y demás. Los sistemas de ficheros también, cuando nos dan a elegir los sistemas de ficheros en linux hay que elegir los más recientes, aunque depende del uso que le vayas a dar. Al montar una estafeta de correo electrónico, se puede elegir entre Mail box o Maildir. Las implicaciones son muy distintas, una con pocos ficheros pero grandes, y la otra al revés, el acceso a disco es totalmente distinto. SMTP (Puerto 25) Mailbox → Cada usuario tiene todo su correo electrónico en un fichero. Maildir → Cada mensaje de correo electrónico es un fichero. Reverse Proxy Mejor aguante contra los DDoS. Las maquinas que se conectan a nuestros servidores web, se conectan a través de un reverse proxy. El proxy es el que realiza las peticiones a nuestro server. Stress Tools Los servidores más atacados son los WEB. Apuntes LSI 57 Jmeter Apache Bench → Hace un DoS y luego me genera un informe. Módulos de apache para defendernos. Mod_Security → WAF (Web Application Firewall). Mod_Evasive → Sirve para defendernos de DoS. Controla el número de peticiones por IP. Mod_reqtimeout → Establecer tiempos de espera y velocidades de datos mínimas para recibir requests. Mod_antiloris → Específico contra el slowloris y sus variantes evitando demasiadas conexiones desde una dirección IP. Port Isolation Aislamiento de puerto en DMZ. Hace que la DMZ no tenga conectividad con otras máquinas (Esto se hace configurando el conmutador, capa 2), es decir el conmutador no permite que dos de sus puertos se conecten. Así si nos atacan la DMZ y se hacen con su puerto seguiremos protegidos ya que no van a poder pivotear a otras máquinas. LAND Attack Un ataque LAND es un DoS que intenta saturar un sistema al enviar paquetes falsificados con la misma dirección IP de origen y puerto que el destino, llevando al sistema a responder en un bucle infinito y causando una caída o degradación del rendimiento. Actualmente los kernels los detectan, pero los antiguos pueden ser vulnerables ante esto. hping3 -s 10.11.48.100 -d 10.11.48.100 → LAND Attack usando la herramienta hping3. FLOODS Direct Flooding attack → packit -b 0 -c 0 -sR -d 10.11.48.100 -F S -S 1000 -D 80 → SYN FLOOD Apuntes LSI 58 Reflective Flooding attack → packit -c 0 -b 0 -s 10.10.102.100 -d R -F S -S 1000 -D 80 → Ponemos como IP origen al objetivo y en destino un montón de máquinas random. Cuando las máquinas random de internet constesten, la máquina se inundará. Protección contra DDoS White Lists → Prioriza el tráfico legal. Uso de TAPs → Procesado del trafico. RTBL (Real Time Blacklist) → Bases de datos de reputación de una IPs. Te dice si una IP ha estado en algo comprometido. RBLmon → Comprueba qué máquinas tienen baja reputación en base a su IP. Hace uso de las RTBLs. SBL (SPAMHAUS Blacklist)→ Lista negra de correo electrónico. Hay que tener cuidado, pues por algún error en nuestras configuraciones nuestra organización podría acabar por error en esta lista. XBL (Exploit Blacklist) → Lista de IPs comprometidas por exploits o hijacking. SLAAC ("Stateless Address Autoconfiguration”) Protocolo utilizado en redes IPv6 para asignar direcciones IP a los dispositivos de manera automática y sin la necesidad de un servidor DHCP. FakeRouter6 → Ataque. Máquina pone en marcha SLAAC y manda seguido paquetes router advertisement enviando información fraudulenta a las máquinas y haciendo que se cambien seguido de link local. Se pude desactivar SLAAC y recibir paquetes RA en /proc/sys/net/ipv6. IFRAME Apuntes LSI 59