Legislación y Seguridad Informática Past Paper PDF
Document Details
Uploaded by Deleted User
Antonino Santos Del Riego
Tags
Summary
This document is a past paper for a course in Legislation and Information Security. It covers various topics related to IT security, including fundamental concepts, different types of attacks and vulnerabilities, and the crucial role of firewalls. The paper has questions and discusses key information security concepts and tools.
Full Transcript
LEGISLACIÓN Y SEGURIDAD INFORMÁTICA Profesor: Antonino Santos Del Riego Prácticas → 40% (3/4) Examen → 60% (30 preguntas, cada una 4 opciones y 1 es la buena; 3 mal restan 1 bien; normalmente 22/23 seguridad 8/7 legislación). Buscar por Google exámenes de años anteriores, suele reutilizar preguntas...
LEGISLACIÓN Y SEGURIDAD INFORMÁTICA Profesor: Antonino Santos Del Riego Prácticas → 40% (3/4) Examen → 60% (30 preguntas, cada una 4 opciones y 1 es la buena; 3 mal restan 1 bien; normalmente 22/23 seguridad 8/7 legislación). Buscar por Google exámenes de años anteriores, suele reutilizar preguntas o suele cambiar la manera de preguntar lo mismo. Blog → psi udc Contenido TEMA 0: Introducción................................................................................................................... 3 TEMA 1: Fundamentos de seguridad informática....................................................................... 5 TEMA 2: Categorías de ataques................................................................................................... 9 TEMA 3: Information Gathering................................................................................................. 11 TEMA 4: Ocultación y Privacidad............................................................................................... 23 TEMA 5: Interceptación (sniffing).............................................................................................. 29 TEMA 6: [D]DoS (Deny of Service)............................................................................................. 35 TEMA 7: Firewalling - Monitorización y filtrado........................................................................ 39 1 2 Lunes 11 de Septiembre 2023 TEMA 0: Introducción MD5, SHA2, SHA3: son funciones hash. Es una función a que, a partir de cierta información, le aplica dicha función y da como salida su huella digital (cadena de bits). AES: algoritmo de cifrado o criptográfico. Firma digital: es lo mismo que la firma manual, buscamos darle validez al hecho de firmar un documento o cualquier cosa del estilo. La firma digital da validez legal. Por ejemplo; podemos firmar con nuestro DNI electrónico, que utiliza el sistema de clave pública-privada. En este proceso se utiliza la clave privada para cifrar, junto a la huella digital. Para descifrar, se aplica al documento la función hash, y se descifra junto a la clave pública de la persona que firmó; si ambas huellas digitales son la misma, significa que dicha persona ha firmado el documento y éste no ha sido modificado. Integridad. NTP: Network Time Protocol. Protocolo de tiempos en red, se utiliza para poner los dispositivos en hora. VPN: Virtual Private Network. SMTP: Simple Mail Transfer Protocol. Protocolo que usan los servidores y clientes para transferencias de correo electrónico. X509: “Estándares”. Muy vinculado con los certificados digitales. NAT: Network Address Translation. Proceso que traduce las IPs de nuestros dispositivos (intranet) a la IP pública de nuestro router. DHCP: Dynamic Host Computer Protocol. Protocolo que asigna de manera dinámica las direcciones ip de las máquinas de una o varias redes. Comando df: ver la información de las particiones de disco. Comando passwd: para cambiar la contraseña de usuario. CVE: Common Vulnerabilities and Exposures. Lista con referencias de las vulnerabilidades conocidas hasta la fecha. Muy importante conocerlas, saber que implican… en primer lugar, para protegerme (o para atacarlas). NVD: National Vulnerabilities Database. Base de datos con vulnerabilidades. 3 4 Miércoles 13 de Septiembre 2023 TEMA 1: Fundamentos de seguridad informática Vulnerabilidad: es una debilidad de un activo o control, que puede ser explotada por una amenaza. Pueden ser sobre el software o sobre el hardware. CWE → Common Weakness Enumeration: es un sistema de categorías para las debilidades y vulnerabilidades del software. Se sustenta en un proyecto comunitario. CVE → Common Vulnerabilities and Exposures: recoge todas las vulnerabilidades conocidas públicamente hasta el momento Zero-Day: vulnerabilidad encontrada y no parcheada, es decir, se puede utilizar como ataque. Zerodium. Una Zero-Day tiene dos valores; CVE y CWE, pero no siempre, es decir, puede no tener dichos valores. Una Zero-Day deja de serlo cuando hay un parche disponible. NVD → National Vulnerability Database: repositorio de EEUU de datos de gestión de vulnerabilidades basados en estándares representados mediante el protocolo de automatización de contenido de seguridad (información entradas CVE) CVSS → Common Vulnerabilities Score System: identifica la importancia o gravedad de la vulnerabilidad, en una escala de 0 a 10. Lo habitual es encontrar 7’s u 8’s. Amenaza: peligro posible de explotar una vulnerabilidad (a través de un ataque). Ataque: acción que compromete la seguridad de la información de una organización; aprovecharse de una vulnerabilidad. [D]DOS: Denegación de servicio. Paquetería UDP o TCP. Si perdemos UDP no pasa nada, pero TCP si, ya que la información estaría corrupta. Fuerza bruta: intento de averiguar una contraseña o nombre de usuario, o de encontrar una página web oculta o la clave utilizada para cifrar un mensaje, mediante un enfoque de prueba y error, con la esperanza de acabar dando con la solución. Poisoning o envenenamiento: para hacerme pasar por otro equipo. Un Men In The Middle es un ejemplo de este ataque. Se refiere a la manipulación maliciosa de datos, sistemas o redes con el fin de introducir información falsa. Afecta a la integridad y disponibilidad. Injection o inyección: muy habitual en la web. Un atacante introduce datos maliciosos en una aplicación o sistema. Por ejemplo: SQL Injection, inyección de código… Afecta a la seguridad e integridad. Virus: programa infeccioso que se adjunta a archivos o programas existentes. Pueden modificar y eliminar información. Troyano: es un software o código de software que aparentemente es de fiar, pero en realidad es perjudicial. Wannacry es un troyano conocido o popular. 5 Gusano: malware que se propaga o expande de manera autónoma a través de redes y sistemas, sin intervención humana. Se pueden replicar y distribuir a otros dispositivos. A diferencia de los virus, no requieren de un archivo host para propagarse. Dropper: es un virus y gusano. PROPAGACIÓN OCULTACIÓN VIRUS TROYANO X GUSANO X DROPPER X X CPE: Common Platform Enumeration. Sistema estándar para nombrar y describir plataformas de software y hardware de manera única y consistente. Se usa para identificar y rastrear vulnerabilidades y configuraciones en sistemas informáticos. Normalmente un identificador CPE consta de: 1. Nombre del proveedor 2. Nombre del producto 3. Versión del producto Backdoor: es una vulnerabilidad o entrada secreta al sistema, aplicación o red que nos permite el acceso no autorizado. Sniffer: herramienta o programa que sirve para capturar y analizar el tráfico de red. Malware: software malicioso, un programa que además de hacer lo que tiene que hacer, hace cosas a mayores (que no sabemos). Bot: cualquier sistema o infraestructura que está a servicio de un tercero. Por ejemplo: los móviles, ordenadores, relojes inteligentes, neveras… cualquier cosa que tenga conectividad. Keyloggers: software o hardware que detecta las pulsaciones en el teclado. OVAL: Open Vulnerability and Assessment Language. Lenguaje estándar que se utiliza para describir y representar información sobre las vulnerabilidades en sistemas y aplicaciones de manera estructurada. OVAL hace más fácil la evaluación de seguridad y gestión de vulnerabilidades, ya que permite hacer análisis y comprobaciones de manera coherente en distintos sistemas y plataformas. Deep Web: es la parte de internet que no está indexada. Dark Web: es la parte de internet en la que se venden drogas, personas, armas, etc. 6 Modelo OSI Modelo TCP/IP 7. Aplicación 4. Aplicación (5,6 y 7) 6. Presentación 3. Transporte (4) 5. Sesión 2. Internet/red (3) 4. Transporte 1. Acceso (1 y 2) 3. Red 2. Enlace 1. Física Phishing: robo de identidad o de sesión (Aplicación, presentación o sesión) Spoofing: suplantación (de la 2 a la 5) Sniffing: capturar tráfico, del 2 al 7 Poisoning: 3, 4 y 5 7 8 Lunes 18 de Septiembre 2023 TEMA 2: Categorías de ataques (Interrupción, intercepción, modificación y generación) - De interrupción: se pierde o se daña algún servicio o sistema, el cual deja de funcionar. Aparece el concepto detección, la cual es inmediata a través de sus correspondientes mecanismos. Detección inmediata. En cuanto a detección podemos hablar de: o IDS: sistemas que detectan intrusiones. o IPS: sistema de prevención de intrusos, en teoría se podría decir que son mejores que los IDS. Por ejemplo: SNORT, SURICATA. ▪ Basados en red ▪ Basados en host o Sensores Ejemplos de ataques de interrupción: fallos en sistemas operativos, en aplicaciones, DoS, DDoS, etc. Ataque DoS: Ataque de Denegación de Servicio. Se genera mediante saturación de los puertos con múltiples flujos de información, haciendo que el servidor se sobrecargue y no pueda seguir prestando su servicio. Ataque DDoS: Ataque de Denegación de Servicio Distribuido. Muy vinculado o relacionado con las BotNets (red de bots). Consiste en generar un gran flujo de información desde varios puntos de conexión hacia un mismo destino. Los ataques de denegación de servicios pueden ser: o Lógicos: vienen dados a través de una vulnerabilidad. Puedo defenderme de ellos a través de parches o actualizaciones. o Inundación: normalmente no hacen uso de vulnerabilidades, sino que ponen a muchas máquinas (BotNets) atacando a una organización. Es muy difícil de protegerte ante un ataque de este tipo. Opción para protegernos → Traffic Shaping, QoS (Quality of Service). NAT: Network Address Translation. Proceso que traduce las IPs de nuestros dispositivos (intranet) a la IP pública de nuestro router. GNAT: General Network Analysis Tool. Sistema de detección y prevención de intrusiones de código abierto. Herramienta usada para monitorear y analizar el tráfico de red en busca de posibles ataques y amenazas. Proxy: máquina intermedia que lo que hace es “controlar” a donde acceden las máquinas de una empresa u organización. Redundancia: en informática es habitual ver este concepto aplicado a las conexiones. Es un concepto fundamental, para que en caso de que falle una cosa siempre tengamos una alternativa. Un ejemplo es la red CESGA o GEANT, también la Red de Ciencia y Tecnología. 9 Miércoles 13 de Septiembre 2023 DWDM: protocolo de comunicación de luz. ERTMS: es el estándar que hace funcionar nuestros trenes de alta velocidad de forma segura. Maltego: herramienta de information gathering. POSIBLE PREGUNTA EXAMEN Backbone: columna vertebral de la infraestructura de red que asegura que los datos se transmitan de forma segura y que se apliquen medidas de seguridad adecuadas a la organización o empresa. Protocolo 802.11x: estándar de icubo para el control de acceso a red basada en puertos. Con el cuando alguien intenta conectarse a una red, necesita autenticarse (por ejemplo; usuario y password). POSIBLE PREGUNTA EXAMEN - De intercepción: en ellos la detección es muy difícil, son ataques orientados a la confidencialidad. Por ejemplo: copia y pirateo de software (sin craqueo), redes P2P, sniffeo de tráfico (sin modificación). Lunes 25 de Septiembre 2023 - De modificación: una entidad no autorizada accede a un recurso, y puede modificarlo. Es un ataque contra la integridad. La integridad está muy vinculada a las funciones hash. Por ejemplo: modificar una base de datos (SQLInjection), modificación de programas (mediante crackeadores), malware, troyanos (si hay modificación), keyloggers (si hay modificación), Men in the Middle (con modificación), stack overflow o desbordamiento de pila… Spoofing: suplantación. IP Spoofing, Mac Spoofing, DNS Spoofing, ARP Spoofing, mail Spoofing… Nota: IPv4 32 bits IPv6 128 bits MAC 48 bits - De generación o fabricación: una entidad no autorizada inserta datos falsos. Ataque contra la autenticidad. Por ejemplo: DNS Spoofing… Herramientas: packit, hpy3, spacky… 10 TEMA 3: Information Gathering Lunes 25 de Septiembre 2023 El concepto de Information Gathering hace referencia a la recolección de información. Las maneras más conocidas son: - Hosts Discovery - Port Scanning (nmap) - Fingerprinting Por lo general, las máquinas que están en la de la organización pueden ser averiguadas rápidamente. Por lo contrario, en la intranet no es una tarea tan sencilla. DMZ: Zona desmilitarizada. Red aislada que se ubica entre la red interna de una organización y una red externa. Es la red más expuesta, en ella suelen ir los servidores que tienen conexión a internet. Host Discovery: descubrir que máquinas hay en una red y cuales están “vivas”, es decir, activas. Port Scanning: una vez tengo las maquinas localizadas, escaneo los puertos para ver cuales están abiertos y cuáles no. - Activo: interactúo con el puerto para ver cómo reacciona - Pasivo: observamos la paquetería Fingerprinting: conjunto de técnicas que dadas unas máquinas que he descubierto a través de host discovery, que sistema operativo utiliza y en que versión, lo cual resulta interesante para saber que vulnerabilidades podemos explotar. También se puede aplicar al port scanning, una vez conocemos un puerto que está abierto, podemos conocer qué servicio está corriendo o siendo ejecutado. Footprinting: coger información pública de páginas webs, redes sociales… - Activo: interaccionan de manera directa con el objetivo, ing. social. - Pasivo: sin interaccionar directamente con el objetivo; por ejemplo: wikis, páginas web, blogs… Google hacking o Google dorks: base de datos con mogollón de términos que te pueden ayudar a recolectar información de ayuda a hackeo. Fases de un proceso de Information Gathering: 1. Recolección de información pública de páginas web, redes sociales… Herramientas: Maltego y Netglub. OSINT (Open Source Intelligence): manejo de fuentes abiertas, referencia al conjunto de técnicas y herramientas para recopilar información pública. Tiene distribución (distro). En resumen, sirve para recopilar información pública. Kali Linux: distribución (distro) Linux en la que ya vienen instaladas herramientas de seguridad y hacking. 11 2. Buscar los rangos de red Tratar de conseguir todo el direccionamiento de una organización. NIC (Network Information Center) encargado de asignar dominios, etc. Creo que es a nivel nacional. RIPE: Redes IP Europeas. NCC: Centro de Operaciones de Red Miércoles 27 de Septiembre 2023 3. Identificar máquinas (host discovery) Activas y no activas, si hay sistemas de detección o no, servidores… Herramientas básicas: ping, traceroute… El ping suele perderse en los routers, ya que en ellos se suele filtrar el tráfico ICMP. Eso no significa que la máquina que no esté, sino que se filtra la paquetería. Con traceroute podemos observar la ruta que hace el paquete entre una máquina origen y otra máquina destino. Por cada router que pasemos, el TTL se decrementa en una unidad, cuando llega a cero el paquete se dropea. Con el traceroute también nos pueden filtrar el tráfico ICMP, de esta manera nos aparecerán asteriscos (*), en lugar de las direcciones IP. DNS (Domain Name System): es importante que en el DNS haya redundancia de servidores, ya que de no tenerla si falla uno, nos quedamos sin DNS. Si hacemos redundancia no debemos de poner todos los servidores DNS en la misma red, ya que así evitamos que caigan todos en bloque o a la vez. o Resolución directa: de un nombre, te resuelve su IP o Resolución inversa: de una IP, te resuelve su nombre Dentro de un dominio tenemos: o Servidores primarios: los tengo que mantener, es decir, en la base de datos de servicios DNS tengo que decirle los pares IP-dominio o Servidores secundarios: no los tengo que mantener, éstos hacen una transferencia de zona, es decir, se conectan a los primarios y descarga/vuelca toda la información de la base de datos *ambos me resuelven. Registros tipo A → nino IN A 193.144.58.35 AAAA, CNAME, NS, MX, PTR… (ver si tengo algo en otros apuntes) Herramientas para servidores DNS: o dnsenum o dnsmap o dnsrecon o mslookup o nmap Por ejemplo: nmap -sL 193.144.x.1-254 o … DNS Caché Snooping: me permite contra un servidor DNS de una organización, meter en un fichero máquinas que ya han sido solicitadas previamente, y por tanto, están en DNS caché. Por ejemplo: dnsescan -t snoop -n x.x.x.servidor -f [fichero] 12 De esta manera compruebo que, si lo que pongo en el fichero, está en DNS Caché. Con el modo recursivo a cero, es que están en caché, y por tanto alguien ha pasado por ahí, hoy día normalmente están a 1, por lo que esto no sirve. Como alternativa, puedo ver los tiempos de resolución, si son muy bajos significa que está en DNS Caché. 4. Puertos (port scanning) Ver que puertos están abiertos. Por temas de seguridad, resulta interesante cambiar los puertos, para que así el atacante se encuentre cosas que no espera o no son comunes. Puertos típicos Servicio Puerto http 80 https 443 ftp 21 Ssh 22 telnet 23 Smtp 25 http-proxy 8080 Ntp 123 DHCP 68 Syslog 514 5. Fingerprinting de SO Obtenemos el sistema operativo y en que versión corre (nmap -O) 6. Fingerprinting de puertos y servicios Orientado a conocer que servicio está corriendo en una máquina, y en qué versión (nmap -sV) 7. Mapa de la organización Podemos hacer una representación gráfica de la red que queremos monitorizar, viendo en ella los elementos que la conforman y los estados de los mismos. 8. Búsqueda de vulnerabilidades Podemos usar herramientas automáticas como: openvas o Nessus (orientadas a servicios). Se utilizan para hacer informes de seguridad para auditorías. nikto, ZAP,w3af → detección de vulnerabilidades de aplicativo web. 9. Explotación – Uso de exploits Una herramienta muy conocida es metasploit, para atacar las vulnerabilidades conocidas en el apartado anterior. Más herramientas: codal strike, the fat rat… Shodan: Base de datos de exploits; como la NVD pero en este caso de exploits. Lunes 2 de Octubre 2023 En metasploit podemos hacer uso de payloads (son código), que son módulos de metasploit con los que podemos trabajar. Metasploit proporciona información acerca de vulnerabilidades y ayuda en test de penetración. - Payloads single: los que permiten explotar una vulnerabilidad. - Payloads stagers: más vinculados a establecer una conexión entre la máquina del atacante y de la víctima, después de haber explotado una vulnerabilidad. 13 - Payloads stages → utilidades: para poder hacer cosas en la máquina de la víctima. Por ejemplo: meterpreter. Meterpreter nos permite eliminar log’s, nos permite hacer capturas de pantalla, keyloggers, controlar la cámara… SET (Social Enginerin Tool): herramienta de ing. social. Capa 7: Aplicación WAF (Web Application Firewall): en lugar de que el tráfico vaya directamente a los servidores, pasa por el WAF y filtra… Se trata de una solución de seguridad informática diseñada para proteger aplicaciones web y servicios en línea contra ataques y vulnerabilidades. Su función principal es la de detectar y mitigar amenazas dirigidas a aplicaciones web, como sitios web y aplicaciones en línea, antes de que lleguen a afectar a un servidor o a la propia aplicación. Características de un WAF: - Filtrado de tráfico: un WAF analiza el tráfico web entrante y saliente para identificar patrones de comportamiento sospechosos o amenazas conocidas - Reglas personalizables: los administradores pueden definir reglas personalizadas para el WAF, lo que les permite especificar qué tipos de tráfico son permitidos o bloqueados - Protección contra ataques comunes: un WAF es efectivo contra una variedad de ataques web comunes, como inyecciones SQL, ataques de cross-site scripting (XSS), ataques de denegación de servicios (DDoS)… - Prevención de fuga de información: puede ayudar a prevenir la fuga de datos confidenciales al monitorear y bloquear intentos de extracción de datos - Control de acceso y autenticación: puede gestionar el acceso a aplicaciones web y autenticar a los usuarios antes de permitirles interactuar con ellas - Auditoría y registro: un WAF registra eventos de seguridad para su posterior análisis y seguimiento Por ejemplo: modsecurity, infoware, cloudfare… Post explotación: escalado de privilegios y pivoting. Ofuscación: busca no ser detectado (el payload) por firewalls, antimalware… msfvenom: herramienta de metaploit orientada a la ofuscación (msfpayload, msfencode). TCP Handshake: serie de pasos específicos entre dos dispositivos de red, cuando intentan establecer una conexión a través del protocolo TCP. Este proceso tiene como objetivo garantizar la integridad y la autenticidad de la comunicación, evitando así que terceros puedan interceptar o modificar los datos. Se divide en tres pasos principales: 1. Solicitud de conexión (SYN): el cliente envía un paquete TCP llamado SYN al servidor con el que desea comunicarse. Dicho paquete contiene información sobre el puerto de origen, el puerto de destino y un número de secuencia inicial aleatorio, el cual se usa para mantener el seguimiento de los datos transmitidos. 14 2. Aceptación de conexión (SYN-ACK): Si el servidor está disponible y dispuesto a aceptar la conexión, responderá con un paquete SYN-ACK. Dicho paquete contiene un número de secuencia inicial aleatorio generado por el servidor, y confirma la solicitud de conexión del cliente. 3. Confirmación de conexión (ACK): Finalmente, el cliente responde al servidor con un paquete ACK, confirmando así que ha recibido el SYN-ACK, y que, por tanto, está preparado para comenzar la comunicación. A partir de este punto, la conexión se considera establecida y los datos pueden comenzar a transmitirse de forma segura. La importancia de este proceso es que evita que ciertos ataques (interceptación o spoofing → suplantación de identidad). El intercambio de números aleatorios asegura que ambas partes de la comunicación sean legitimas y estén sincronizadas correctamente. Firewalls: - Sin control de estado: normalmente trabaja en capas 2, 3 y 4. Teniendo en cuenta IP’s, mac’s y puertos. (son la mayoría) - Con control de estado: hace lo mismo que el anterior, y a mayores controla que el handshake es correcto y adecuado. IDLE Scan: también conocido como Zombie Scan o Side Channel Scan. Se trata de una técnica de escaneo de puertos usada por los atacantes para determinar si una maquina está activa y cuáles de sus puertos están abiertos, sin que el atacante tenga una dirección IP directa y sin generar actividad aparente en la máquina objetivo. Esta técnica se basa en la ing. inversa de paquetes y en el concepto de “zombies” (máquinas intermedias involuntarias) para ocultar la verdadera fuente del escaneo. Funcionamiento básico del IDLE Scan: 1. El atacante: usa una máquina que controla como “zombie”. Esta máquina envía paquetes de escaneo a la máquina objetivo 2. La máquina zombie: la máquina “zombie” es una computadora que se usa para enviar paquetes a la máquina objetivo. No es el atacante directo, sino que actúa como intermediario 3. Máquina objetivo: es la máquina que el atacante desea escanear sin ser detectado El IDLE Scan se basa en la técnica de fragmentación de paquetes IP y en el análisis de las respuestas de la máquina objetivo. El atacante envía paquetes de solicitud de escaneo a la máquina “zombie”, y esta a su vez los redirige a la máquina objetivo. Después, la máquina “zombie” monitorea la respuesta del host objetivo y determina si un puerto está abierto o cerrado según la respuesta. La ventaja principal del IDLE Scan es su capacidad para ocultar la identidad del atacante (escaneo oculto), ya que la máquina objetivo registra las actividades de la máquina “zombie” en lugar de la máquina del atacante real. Sin embargo, esta técnica puede ser compleja de implementar y requiere un conocimiento avanzado de la ing. de paquetes y de las redes. El IDLE Scan puede utilizarse con fines legítimos (monitore de la seguridad de una red) o con fines maliciosos. 15 nmap -P0 -p 80 -sI x.x.x.x y.y.y.y x.x.x.x → máquina zombie y.y.y.y → máquina víctima Miércoles 4 de Octubre 2023 OWASP: tiene múltiples líneas de trabajo, una de ellas es OWASP TOP 10, estácentrado únicamente en aplicativo web. - OWASP TOP 10: lo editan cada cuatro años (2017-2021 …). Este último gran cambio sufrió un cambio radical. En el año 2017 y hacia atrás, el top 1 lo ocupaban los ataques de inyección (injection). OWASP TOP 10 - 2021 1. Broken access control (pérdida del control de acceso) – autorización Control de acceso mal implementado, es decir, se permite que un usuario tenga acceso a funcionalidades de otro usuario, es decir, puede tener otro rol del que le corresponde. Por ejemplo: ID’s inseguros, path traversal, permisos en ficheros mal puestos … 2. Cryptographic failures (fallos criptográficos) Hace referencia a aplicaciones web donde hacen una mala implementación del cifrado de información. 3. Injection y XSS (inyección) Anteriormente siempre estaba en el top 1. Por ejemplo: sql injection, os injection, ldap injection … Normalmente vienen dados por una mala validación de datos. XSS (Cross-Site Scripting): también es un problema de validación, pero en este caso permite que se pueda ejecutar.js en las máquinas de las personas que acceden a la web. 4. Insecure design (diseño inseguro) Es una nueva categoría, la cual está relacionada con los fallos de diseño. 5. Security Missconfiguration y XXE (configuración de Seguridad Incorrecta) Hace referencia a configuraciones incorrectas de las aplicaciones web. Por ejemplo: dejar los backends abiertos, malos mensajes de error, falta de parches y actualizaciones, malas cabeceras … XXE (XML External Entities): son aplicativos web que utilizan XML. 6. Vulnerable and outdated components (componentes vulnerables y desactualizados) Frameworks, librerías y API’s no actualizadas, por lo que hay vulnerabilidades y problemas de seguridad. 7. Autenticación (no confundir con el control de acceso o autorización) Por ejemplo: problemas de gestión de sesiones, usuarios y contraseñas comprometidas, robo de tokens de sesiones, robo de cookies de autenticación … 8. Software & data integrity (software e integridad de datos) Normalmente hace referencia a la distribución. 16 9. Monitorización y login 10. Server side request forgery (falsificación de solicitudes del lado del servidor) Ataques a aplicativos web, en los cuales el control de acceso le permite acceder a otras máquinas, como por ejemplo las de la intranet. OWASP TOP 10 PROACTIVE CONTROLS 1. Define Security Requirements (definición de los requisitos de seguridad) 2. Leverage Security Frameworks and Libraries (aprovechar los marcos y bibliotecas de seguridad) 3. Secure Database Access (asegurar el acceso a la base de datos) 4. Encode and Escape Data (codificar y escapar los datos) 5. Validate All Inputs (validar todas las entradas) 6. Implement Digital Identity (implementar la identidad digital) 7. Enforce Access Controls (haz cumplir los controles de acceso) 8. Protect Data Everywhere (protege los datos en todas partes) 9. Implement Security Logging and Monitoring (implementa el registro y monitoreo de seguridad) 10. Handle All Errors and Exceptions (captura todos los errores y excepciones) ASVS: Application Security Verification Standard. Conjunto de requisitos y directrices que se usan para evaluar y verificar la seguridad de aplicaciones web y móviles. ZAP: herramienta que hace de analizador de vulnerabilidades y problemas de seguridad de aplicativo web. blindelephant: herramienta de código abierto usada en el ámbito de la seguridad informática para identificar la versión y las vulnerabilidades del software en aplicativo web. Esta herramienta se usa específicamente para la detección de software obsoleto o desactualizado en aplicaciones web, lo cual puede ser crítico para la seguridad, ya que las versiones antiguas de software suelen estar expuestas a vulnerabilidades conocidas que podrían ser explotadas por atacantes. WAF: waf w00f → es una herramienta que lo que hace es un fingerprinting para detectar si en medio hay algún waf entre aplicación-cliente. Fingerprinting y port scanning: 1ª generación: a nivel de ASCII (nos podemos proteger cambiando cabeceras para hacernos pasar por otro servicio) 2ª generación: a nivel TCP/IP (nos podemos proteger cambiando ciertos parámetros para hacernos pasar por otro SO) 3ª generación: a nivel ICMP 4ª generación: a nivel de aplicación (capa 7) 17 Puertos: - Well-known ports: del 1 al 1023. Adoptan ser para un servicio determinado; algunos sistemas exigen privilegios especiales para asociar aplicaciones a estos puertos. - Puertos registrados: del 1024 al 49151. La diferencia con los anteriores es que no se exigen privilegios especiales. - Puertos dinámicos y/o privados: del 49152 al 65535. Se usan dinámicamente para servicios privados. Lunes 9 de Octubre 2023 Directorio /proc/syslnet: en el puedo ajustar variables o parámetros relacionados con el comportamiento de la máquina a nivel de red. Ofuscación: ajustes de parámetros de nuestra máquina para intentar engañar a las técnicas de fingerprinting contra nuestra máquina. - TTL (Time To Live): parámetros que se va decrementando en uno cada vez que pasa por un router. Si llega a cero, da error. Por lo general: o Windows → TTL = 128 o Linux → TTL = 64 iptables: es la herramienta por excelencia para montar un cortafuegos o firewall. iptables -t MANGLE -I INPUT -y TTL -ttl-set 53→ las reglas MANGLE me permiten cambiar la estructura o cabeceras de los paquetes; en este ejemplo le estoy cambiando el TTL en todo el tráfico de salida a 53 OSfuscate: herramienta para ofuscación. /etc/apache/apache2.conf: fichero de configuración de nuestro apache2 de prácticas, en el podemos cambiar una serie de parámetros o variables, para hacernos pasar por otra aplicación → ofuscación a nivel de aplicación whatweb: herramienta específica para fingerprinting contra servidores web. Estados de los puertos: open → puerto abierto y en escucha closed → puerto cerrado, pero ese puerto está ahí filtered → hay un filtro que te impide llegar a ese puerto, no sabes si el puerto está abierto, cerrado… unfiltered → no hay un filtro, pero no sabes el estado del puerto open-filtered → no sabe si está abierto o filtrado closed-filtered → no sabe si está cerrado o filtrado Opciones de nmap: nmap -p 22 escaneo de puertos por TCP 18 nmap -pu 512,95 escaneo de puertos por UDP nmap -sP 10.11.48.0/29 host discovery [*] nmap -T [0-5] con 0 el envío tarda bastante, con 5 no tanto nmap -O ip fingerprinting a nivel de SO [*] nmap -sS -p 22,20,80 -sV fingerprinting a nivel de servicio y puertos [*] NOTA: la MAC de un equipo nos puede indicar al fabricante y modelo y versión de esta, aunque cabe destacar que se puede cambiar la MAC. Miércoles 11 de Octubre 2023 Cuando configuramos en firewall debemos de tener en cuenta IPv6, además de IPv4. nbtscan: escáner para la red netbios de Windows (de microsoft). traceroute: -T x.x.x.x [TCP] → tiene SYN y ACK -U x.x.x.x [UDP] → no tiene SYN ni ACK Tipos de firewall: - Firewall tipo router: se trata de encontrar el firewall en el router, algo que suele ser habitual. Por ejemplo: en un router CISCO podemos definir qué tipo de IP’s pueden mandar, etc. - A nivel de NAT: en ellos podemos implementar reglas de filtrado - De control de estado: comprueba el estado de todas las conexiones que se establecen y garantiza que se sigue el protocolo. - Transparentes: no tienen IP’s, es como una caja negra por la que pasa el tráfico. A nivel de IP no existe, por lo que si haces un traceroute no te aparecerá nada. Es el firewall ideal, aunque no se suele implantar por desconocimiento, pereza, tiempo, etc. - A nivel de capa de aplicación: conocidos como WAF (Web Application Firewall), como, por ejemplo: modsecurity. Se sitúan entre los clientes y servidores, intentando detectar posibles ataques contra las aplicaciones web. - De nueva generación: trabajan en el modelo ISO/OSI en todas las capas. Herramientas de information gathering: - Maltego, netglub … - Sobre metadatos → creepy: se trata de un pequeño script que coge fotos y tiene geoposicionamiento, es decir, te ubica las fotos en un mapa. Aplicables a los motores de búsqueda: - Spider o spidering: recorrer todo el árbol de una web y descargar toda su información. - Cravers o craveling: realizan análisis sistemático, un web craver recorre la web y obtiene de ellas lo que le interesa. Por ejemplo: Google recorre las webs que visitan para indexar esas páginas. 19 - Scrapper o scrapping: recorrer webs buscando datos concretos. Por ejemplo: buscar en determinadas webs el precio de determinados productos. *los 3 conceptos anteriores están relacionados con los buscadores, analizadores de vulnerabilidades, analizadores de mercado, analizadores de marketing… Hardering: endurecimiento de nuestro sistema para mejorar la seguridad. Hay herramientas para ello, por ejemplo: lynis → nos propone mogollón de cosas que podemos hacer para mejorar la seguridad de nuestras máquinas de prácticas. Sandbox: una pequeña instancia virtual dentro de mi máquina, en la que pueden correr servicios, de manera que si me atacan dicho servicio solo tienen acceso a él y no tienen acceso completo a mi máquina. Lunes 16 de Octubre 2023 Tácticas de Hardering: - PAE (Physical Address Extension): Característica de hardware y software que permite a los sistemas operativos y aplicaciones de 32 bits usar más de 4 GB de memoria RAM en sistemas que tienen más memoria instalada. - DEP (Data Execution Prevention): Característica de seguridad que ayuda a prevenir ataques de software malicioso, como virus o malware, que intentan ejecutar código desde regiones de memorias que deberían ser usadas exclusivamente para datos. *son 2 características relacionadas con la seguridad informática y la gestión de la memoria en sistemas operativos, especialmente en entornos Windows Hardering para Linux: No hay definidos parámetros de los passwords, para modificar esos parámetros podemos usar los siguientes comandos: chage -l lsi [saca información del último cambio de contraseña del usuario lsi, cuando caduca la contraseña, cuando queda inactiva, cuando caduca la cuenta, etc. En resumen, toda la información sobre la caducidad de contraseñas] passwd -e lsi [hace que la contraseña caduque, y por tanto, la próxima vez que te conectes te va a pedir que cambies la contraseña] /etc/shadow [fichero vinculado a las contraseñas, en este fichero están almacenados los usuarios con un montón de información, y los hash de password de este usuario] /etc/shells [contiene los Shell que tienen nuestro sistema operativo] /etc/profile [fichero de configuración, para definir variables] $HOME/.profile [fichero de configuración, para configurar el entorno del Shell específico del usuario] 20 /etc/bashrc [configuración global para todos los usuarios que usan el Shell Bash] $HOME/.bashrc [configuración especifica de un usuario para la Shell Bash] Librerías para especificar políticas en mi sistema: - pam-cracklib - Pam-passwdqc - Pwquality Cambiar el UMACK del 022 al 027: Por defecto UMACKS = 020, por lo que cuando cualquier usuario crea un fichero, sus permisos serán rwx r-x r-x. Sin embargo, si cambiamos UMACKS = 027 los permisos serán rwx r-x r-- Variable TIMEOUT Por defecto viene TIMEOUT = 120, lo que significa que cuando un usuario abre una sesión, al pasar 120 segundos sin actividad, la sesión se cierra o corta. LVM (Logical Volume Manager) Es una tecnología usada en sistemas operativos Unix y Linux, que permite administrar de manera más flexible y eficiente el almacenamiento en discos duros y dispositivos de almacenamiento. Con LVM puedes combinar varios discos en un único espacio de almacenamiento lógico, crear particiones lógicas de tamaño variable, redimensionar volúmenes en tiempo real, hacer copias de seguridad de datos de manera más eficiente. 21 22 TEMA 4: Ocultación y Privacidad En temas de ocultación y privacidad, por una parte, puedo protegerme u ocultarme mediante NAT. Al usar la NAT, tu IP no se ve, pero tu proveedor de internet si la puede ver. Aunque en este caso se puede jugar con el tema de que siempre hay que demostrar que persona física ha sido. Proxies: máquina intermedia que puedo utilizar para saltar a través de ella. Es decir, lo que hace un proxy es meter capas por el medio. - Proxy-web: principalmente su uso es para redirigir tráfico web (HTTP). - Proxy-socks: manejan una variedad más amplia de tráfico de red, incluyendo aplicaciones no web. Campos de las cabeceras de los proxies: REMOTE_ADDR= x.x.x.x [IP de la maquina origen. Si yo utilizo proxy, al pasar por el proxy, me sustituye mi IP por la del proxy] X_FORWARDED_FOR= x.x.x.x, y.y.y.y,... [varias IPs. Si se configura, en esta variable va pegando la IP y las IP's de todos los proxies por los que va pasando mi máquina, quedando la traza de mi IP y de todos los proxies por los que voy pasando. Si uso un proxy de este tipo la cagaste, ya no hay ocultación] Servidores de VPN (Virtual Private Network) Otro de los servicios que se utiliza, a veces, para temas de privacidad, son servidores de VPN. Hay servicios de VPN, que lo que hacen es abrir una VPN, navegas por ese servidor VPN, y te da anonimato el servidor. Aunque puede quedar registro, depende del servidor te da anonimato o no. Cambios de IP Otra cosa que puedo utilizar para ocultación es cambiar IP y MAC, robándosela a otra persona. Hay que tener cuidado con temas de utilizar un puerto físico, porque hay servicios que comprueban los cambios de IP y MAC. Esta técnica no mola mucho. A mayores puedo usar proxies y ya va siendo más difícil acceder a mí. Miércoles 18 de Octubre 2023 Honey: infraestructuras trampa, señuelos. Se ubican ahí para que sean atacados, ya que tienen todo tipo de herramientas para ver que se hacen sobre ellas, es decir, su objetivo es ver todo lo que hace un atacante sobre ella. 23 Tipos de proxy’s: - Transparentes: ni privacidad ni anonimato, usan X-Forwarded-For, así que queda registro de la IP desde la que te conectas y las máquinas por las que pasas. Estos proxies se usan para temas de aceleración, caching de páginas web… - Anónimos: proporcionan cierto nivel de anonimato. No utilizan X-Forwarded-For. - Alta anonimidad: No utilizan X-Forwarded-For ni otras cabeceras poco seguras. Mayor privacidad que con los anónimos. - Ruidosos: Utilizan X-Forwarded-For con información falsa para hacer ruido. Estos proxies si que te ocultan. Puertos habituales de proxy’s: 3128, 8080 y 8088. Herramienta para montar un proxy: squid o apache2 Herramienta de crackeo para la wifi: recon-ng airdump-ng → captura tráfico airplay-ng → genera tráfico aircrack-ng → crackeador de handshakes (WPA2) PTK = PMK + Announce + Since + MAC (Punto Acceso) + MAC (Estación Acceso) **Announce y Since son números aleatorios Herramienta de ing. social: fluxion Herramienta de crackeo de hashes: hashcat, cain&Abel, hash-identifier, hash-id, findmy-hash, john (the riper)… Problema WPS: lo hicieron de tal manera que una cadena password de 7 dígitos, la partían en 4 y 3, por lo que nos acotaron el espacio de búsqueda para romper dicho password; pasaron de 10.000.000 posibilidades a 11.000 Lunes 23 de Octubre 2023 Ataques de password guessing: van contra los servicios de autenticación (formulario web, etc.), les pasan un diccionario durante horas, días, meses… El problema es que este tipo de ataques pueden resultar lentos, y dejan registros en los ficheros de log. El sistema de autenticación puede ser: por IP o por usuario. Captchas: se utiliza para evitar ataques de password guessing. Por ejemplo: tecla esta cadena de texto, marca donde haya semáforos… Herramientas de password guessing: medusa, n-crack, hydra… medusa -d [módulos de medusa] medusa -M ssh -q [opciones del módulo para atacar ssh] medusa -h ipVictima -u lsi -P passwords.txt -M ssh -g [ataque ssh] 24 **las opciones -H y -U nos permitirían probar con muchas IP’s y muchos usuarios, respectivamente ¿Cómo protegerme de ataques de password guessing? - Limitar bien el acceso (wrappers, límite de tiempo, etc.) - Con IPTABLES hash-limit - fail2ban - ossec → es un HIPS: Sistema de Prevención de Intrusiones a nivel de Host Krack Attack : ataque difícil de implementar, ya que requiere hacer un MITM para que la víctima se conecte a un punto de acceso falso. Cuando la víctima se conecta a este punto de acceso falso, cortamos el 4º mensaje del handshake y de esta manera, obligamos a la víctima a restablecer la contraseña. WPA 3 : Cambia el handshake, la forma de establecer la clave. Utiliza un algoritmo de curvas elípticas. Incrementa el tamaño de la clave de cifrado. Borrado El borrado de archivos con rm y similares no es del todo seguro, ya que a través de herramientas de análisis forenses dichos archivos eliminados podrían ser recuperados, para evitar esto hay que hacer borrado de dispositivos seguro (srm). eraser: herramienta para Windows para el borrado seguro. dd if=/dev/random of=/dev/sdb → borrado seguro en Linux sfill: borrado seguro del espacio libre sswap: borrado seguro de la partición swapping del disco duro smem: borrado seguro de la memoria RAM Además del borrado seguro, es importante controlar el tema de los logs, ya que a través del comando history pueden ver los comandos que hemos usado, lo cual puede dejar trazas o pistas de dichos borrados seguros. DNS LEAKs: sucede cuando las solicitudes de resolución DNS se escapan de una conexión VPN, lo que podría exponer tu actividad en línea a tu proveedor de servicios de Internet (ISP) u otras personas, por lo que tu privacidad se ve comprometida. Por ello es importante configurar la VPN correctamente, para así evitar estas fugas. Miércoles 25 de Octubre 2023 Redes de anonimato: siguen el concepto de proxy pero enlazando máquinas, quedando oculto. Gran parte de ellas están basadas en onion routing. El rendimiento se degrada, ya que la comunicación no va directa entre cliente-servidor, sino que pasa por varias máquinas encriptando la información. Red TOR (The Onion Routing): herramienta gratuita cuyo objetivo es el anonimato. - Onion Proxy: adapta la paquetería de mi máquina para encaminar el tráfico. Lo habitual es que esté integrado en nuestra máquina. Coge paquetería normal y 25 habla con TOR. Normalmente IP Origen y Onion Proxy son lo mismo, estando el Onion Proxy normalmente montado en nuestra máquina. Son los usuarios finales. - Onion Router: por defecto se seleccionan 3 nodos, así cuando se abre la conexión no se hace directamente, la única IP que ven es el exitnode de la red TOR. Los distintos nodos tienen una clave pública y una privada. Por ello con 3 nodos no se puede reconstruir el camino origen. Hay varios distribuidos por internet, podemos convertir nuestra máquina en uno de ellos. Un nodo solamente conoce al antecesor y al sucesor, NO es un cifrado extremo a extremo. - “Servicios ocultos”: dominio.onion de TOR, hacen referencia a servicios, servidores web, etc. - Deep web: páginas web no indexadas. Páginas dinámicas de un servidor web, páginas que necesitan de autenticación, etc. - Dark web: conjunto de redes de anonimato. TOR da acceso a la Deep Web (Onion) Un problema que tiene la Red TOR es el tema del rendimiento, pero hoy en día empieza a resolver o tiene resuelto. Ahora empieza a incluir protocolos de control de congestión. - TOR Vegas: Estima la longitud de la cola de espera e introduce “elementos de equilibrio”. - TOR Nola: permite estimar el retardo del ancho de banda. TOR Browser: navegador web que se basa en el proyecto TOR, con el se protege la privacidad del usuario y permite acceso a sitios web de la Dark Web, los cuales no suelen ser accesibles por navegadores convencionales. ¿Cómo saltarnos un firewall? Ya sea con control de estados o sin él. Con el tema de los paquetes, ya que la mayoría de los firewalls solo ven IP’s y puertos, no se paran a comprobar el contenido (los paquetes). Lunes 30 de Octubre 2023 Port knocking: se trata de una técnica que se usa para ocultar y proteger los servicios de red en un servidor al hacer que los puertos estén inicialmente cerrados y solo se abran en respuesta a una secuencia específica de conexiones. Es decir, se requiere de un patrón de tráfico de red antes de que el servidor permita el acceso a ciertos servicios. Si configuramos esto con Knockd, obtendremos un archivo ‘/etc/knockd.conf’ en el que tendremos una serie de opciones para definir el comportamiento. Por ejemplo: [openSSH] sequence = 7000,7095,9001 sequence_timeout = 10 start_command = /sbin/iptables -A INPUT -s %IP% -p tcp --dport 22 -j ACCEPT 26 cmd_timeout = 30 stop_command = /sbin/iptables -D INPUT -s %IP% -p tcp --dport 22 -j ACCEPT tcpflags = SYN Web knocking: es una variante de port knocking que se usa para proteger y ocultar los servicios web en un servidor. El web knocking se basa en el acceso a páginas web especificas o la ejecución de solicitudes HTTP en un servidor web para conseguir el mismo propósito. 27 28 TEMA 5: Interceptación (sniffing) Nos solemos olvidar de securizar la capa 2, por lo que los ataques en ella suelen ser más bestias que en las demás capas. Sniffer: programa que captura las tramas de una red de computadoras (análisis de red). Sniffing: captura de paquetes de datos en una red para el análisis de tráfico. Se puede usar para detectar vulnerabilidades, robo de información… Puedo sniffar: - Tráfico seguro: información cifrada (https…) - Tráfico no seguro: información tal cual, sin cifrar (http, ftp…) Port mirroring: capturar el tráfico que entra y sale de un Switch. La captura se hace conectado un sniffer (como wireshark) en una interfaz “X” llamada mirror. Técnica valiosa para la monitorización de red y para detectar problemas de rendimiento y seguridad. VLAN (Virtual Local Area Network): capa 2 Antes hacíamos subnetting en las redes, las cuales compartían el medio y estaban conectadas a través de routers. En los routers declarábamos las políticas de filtrado y seguridad. Hoy en día, tenemos redes de medios switcheados, por lo que no hay problemas de ancho de banda. De estos medios nacieron las VLANs, ya que son máquinas que no tienen que compartir el ancho de banda. Una VLAN básicamente es una extensión. Podemos tener un conmutador de red (switch) dónde cada puerto se puede asignar a una VLAN. Son redes lógicas independientes en una misma red física. Proporcionan mejor gestión, seguridad y rendimiento. STP (Spanning Tree Protocol): protocolo para analizar bucles redundantes. Muchas organizaciones no tienen securizados los STP, por lo que suelen estar configurados para que se difunda a toda la red de la organización. Su objetivo es evitar bucles redundantes. Normalmente a las troncales que se enlazan las redes de fibras ópticas tienen caminos redundantes, por si hay una caída de una línea. El problema de tener muchos caminos redundantes es que un paquete acabe en un bucle. El protocolo STP lo hablan los conmutadores, éstos generan un árbol a partir de la estructura previa, por lo que ya no hay bucles. Con yersinia podrías conectarte y responder, comunicándote por STP con los conmutadores de una determinada red. Esto es un problema de seguridad muy grande, ya que esta máquina está hablando con el backbone de la organización. 29 Ataques en STP: - DoS: con yersinia intentamos convertirnos en root bridge del backbone de toda la red. De esta manera, todos los conmutadores de la red mandarán el tráfico por mí, por lo que para hacer un DoS basta con dropear el tráfico. Yersinia: herramienta o entorno de trabajo para realizar ataques en capa 2, y aprovecharse de esta manera de debilidades en protocolos de red (STP, CDP, DTP…). ARP Spoofing: robamos paquetería de una máquina. Técnica de ataque en redes de conmutadoras donde el atacante manipula las tablas ARP (Address Resolution Protocol) para asociar direcciones MAC falsas con direcciones IP legítimas. Esta técnica le permite al atacante redirigir o interceptar el tráfico de red destinado a una máquina específica o incluso hacer un Man-in-the-Middle. Técnica de sniffing. OJO! Si ataco en capa 2 me salto los firewalls. Lunes 6 de Noviembre 2023 ICMP Redirects: si las máquinas aceptan estos paquetes, consiguen que las máquinas te configuren como default router, así el tráfico hacia fuera pasa por ti siempre. Por lo que, las máquinas NO deben de aceptar ICMP Redirect o ICMP Router Advertisement. ¿Cómo defendernos de ICMP Redirects? /proc/sys/dev/IPv4/accept_redirect si viene a 1 significa que acepta ICMP Redirects, si viene a 0 no. /proc/sys/dev/IPv4/secure_redirect si viene a 1 significa que solo aceptaré ICMP Redirects de aquellos routers que tengo como conocidos. También se puede creando variables en el fichero /etc/sysctl.conf: net/ipv4/icmp_echo_ignore_broadcasts = 1 Ignora ICMP Broadcast net/ipv4/conf/all/accept_redirects = 0 No acepto ICMP Redirects net/ipv4/con/all/secure_redirects = 1 Sólo acepto ICMP Redirects seguros (están en mi default gateway list) net/ipv4/conf/all/send_redirects = 0 No envíamos ICMP Redirects (no somos un router) Port stealing: robo de puerto. Habitual si ARP Spoofing no funciona. Se envían tramas ARP con MAC origen de la víctima. Roba el puerto de la víctima. Una vez tiene los paquetes robados, deja de inundar y hace un ARP Request a la víctima, de manera que la víctima recupera su puerto. Cuando el atacante recibe el ARP reply, le envía los paquetes robados y empieza a invadir de nuevo. Por ejemplo: ettercap -M port [remote || tree] /____.x// 30 Port flooding: se envían múltiples tramas falsificadas a través de un puerto para llenar la tabla CAM (Content Addressable Memory) del puerto. Una vez llena esta tabla, el switch funciona como Mub (envía la respuesta para todos los puertos menos por el que entró). *Tabla CAM: tabla que relaciona MAC con puertos físicos de switch. Protocolo NDP: protocolo para IPv6, que funciona a través de paquetes ICMP. Robo de información en IPv6. En IPv6 no hay broadcast ni arp, hay ICMP y direcciones multicast. DNS Spoofing: se falsean las resoluciones DNS. Este ataque es contra los clientes. Envenenamiento DNS: se envenenan las cachés de los servidores DNS. NOTAS: DNS no es un protocolo seguro, por ello se está desarrollando en los últimos años DNS Sec, el cual: - Autentica - Integridad - OJO → NO CIFRA, EL FLUJO DE PAQUETES NO VA CIFRADO DoT (DNS over TLS): protocolo de seguridad que se usa para cifrar las consultas DNS, y las respuestas entre un cliente y un servidor DNS. Su propósito principal es proteger la privacidad e integridad de las transacciones DNS, evitando la exposición de información sensible a posibles ataques de escuchas no autorizadas. Evilgrade: herramienta que está pensada para, una vez hecho un ataque de envenenamiento DNS, suplantar a los servidores que son comprobados por las víctimas o clientes para buscar actualizaciones y troyonizar la máquina de la víctima mediante una actualización maliciosa. COMANDOS ARP: arp -a Nos muestra la tabla caché de MACs, es decir, todas las máquinas con las que tuvimos relación, ARP… arp -d x.x.x.x Elimina una entrada específica de la caché ARP de la dirección IP x.x.x.x arp -s x.x.x.x dirMAC Agrego una entrada en la caché ARP, asignado dirMAC a la dirección IP x.x.x. ip neigh flush all Borrar todas las entradas de la caché ARP SNORT: herramienta IDS. Sistema de detección de intrusiones de código abierto. Mantenido por CISCO. Se usa para monitorear y analizar el tráfico de red en busca de actividad sospechosa o maliciosa que puedan indicar intrusiones o amenazas de seguridad en una red. Port Span: característica usada en switches de red que permite copiar el tráfico de una o varias puertas (puertos) especificas en un switch y redirigirlo a un puerto de monitorización designado. Este puerto de monitorización generalmente está conectado a un dispositivo de análisis de red, como un analizador de protocolo o un sistema de registro de tráfico. Su principal finalidad es permitir la monitorización y análisis del tráfico de red en tiempo real sin afectar al flujo normal de los datos de la red. Es una herramienta útil para la solución de problemas de red y la detección de problemas de rendimiento. 31 Port Mirroring: término que se usa en una variedad dispositivos de red (switches, routers y dispositivos de seguridad). En el contexto de los switches se refiere a la práctica de copiar tráfico de una o varias puertas y enviarlo a una puerta de destino, que normalmente es un dispositivo de análisis de red. Sin embargo, a diferencia del Port Span, Port Mirroring no se limita a los switches, ya que también puede implementarse en routers, firewalls, etc. Resumen Port Span – Port Mirroring Port Span se refiere específicamente a la característica de copiar el tráfico en switches de red, mientras que el Port Mirroring es un término más amplio que se aplica a la copia de tráfico en una variedad de dispositivos de red. La elección entre Port Span y Port Mirroring dependerá de las necesidades específicas de la red y de los dispositivos disponibles para implementar la monitorización. Miércoles 8 de Noviembre 2023 MODOS DE BALANCEO Mode 0 Round Robin: con esté modo, los paquetes de red enviados son rotados entre cada una de las tarjetas que forman la interfaz del bond. Mode 1 Active-Backup: una tarjeta funciona y otra está inactiva; si una se estropea pasa a funcionar la otra. Tolerancia a fallos. Mode 2 Balance XOR: decide porque interfaz de red transmite haciendo una operación XOR entr MAC Origen, MAC Destino y módulo con el nº de interfaces de red. Tolerancia a fallos y aumento del ancho de banda. Mode 3 Broadcast: envía todos los paquetes por todos los interfaces de red. Mode 4 802.3ad: es un estándar de agregación de enlace, o “port trunking”. Nos da más velocidad y alta disponibilidad. Mode 5 Balanceo de carga de transmisión adaptable (TLB): sólo hace balanceo en base a la carga de los interfaces de red. Mode 6 Balanceo de carga adaptable en envío y recepción (ALB): balanceo de carga tanto en el envío como en la recepción. DHCP Spoofing: Ataque de ettercap. Interceptamos la conexión de un cliente DHCP y como servidor nos ponemos como su default router. Se le pasa un rango de IPs que será el rango de máquinas que interceptamos. DHCP Snooping: Defensa de DHCP Spoofing. Si configuramos un conmutador como DHCP Snooping True, se bloquean los paquetes DHCP en los puertos que realmente no son DHCP. Port Security: por defecto, sólo permite una MAC. También se puede fijar la MAC. Por defecto se sigue la política shoutdown que lo que hace es un disable del puerto, es decir, lo deshabilita. 32 TAP (Test Access Ports): son dispositivos hardware. Dispositivos de sniffing o interceptación no detectables, normalmente se encuentran entre el router exterior a internet y el firewall de acceso a la empresa. También se puede ubicar entre la red de la empresa y el firewall. Normalmente tienen interconexión con los firewalls para tomar decisiones. SIEM: Sistemas de Gestión de Eventos. Big Data → Gestiona toda la información Por ejemplo: splunk, plelude, logrytm, arcsight... - Splunk: software para buscar, monitorizar y analizar macrodatos generados por máquinas de aplicaciones, sistemas e infraestructura IT a través de una interfaz web. SOC: Centro de Operaciones Seguridad Parte fundamental de la infraestructura de seguridad de una organización. Su función principal es supervisar y gestionar la seguridad de los sistemas y redes de la organización. Un aspecto importante dentro de un SOC es el EDR… EDR (Endpoint Detection and Response): se enfoca en la seguridad de los dispositivos finales; máquinas, servidores… Funciones principales de un SOC: - Monitoreo continuo - Detección de amenazas - Respuesta a incidentes - Análisis forense - Actualizaciones y parches - Gestión de amenazas ettercap: herramienta que se usa en auditorías de seguridad. Con ella podemos efectuar: - MITM - Fingerprinting positivo - Recolección de contraseñas - Terminar conexiones - Inyección de caracteres en una conexión - Filtrado/borrado de paquetes sslstrip: tipo de ciberataque que intenta hacerse con los datos de un usuario cuando accede a una dirección web protegida mediante el certificado SSL/TLS, es decir, cuando usamos HTTPS. Mete HTTP en claro, pero de forma que el cliente vea que se está usando HTTPS sslstrip2: versión mejorada, más eficiente y efectiva en la realización de ataques MITM en conexiones HTTPS ya que implementa técnicas adicionales para evitar que las víctimas se den cuenta de que sus conexiones seguras se han vuelto inseguras. Puede llevar a cabo ataques más avanzados para evadir medidas de seguridad como HSTS HSTS (HTTP Strict Transport Security): protocolo que obliga a que todas las comunicaciones funcionen sobre HTTPS. 33 Lunes 13 de Noviembre 2023 Bettercap: es un marco de trabajo de código abierto, integral y modular para ataques de red y evaluaciones de seguridad. Está diseñado para realizar diversas tareas relacionadas con la seguridad de redes, incluyendo ataques de hombre en el medio, monitoreo de redes, recolección de credenciales, entre otros. Bettercap proporciona una interfaz de línea de comandos y admite complementos, convirtiéndolo en una herramienta versátil para profesionales de la seguridad y hackers éticos para probar y mejorar la seguridad de sistemas en red. MITMF: es un marco de trabajo de prueba de seguridad que permite a profesionales de la seguridad y hackers éticos realizar ataques de hombre en el medio. Un ataque de hombre en el medio implica interceptar y posiblemente alterar las comunicaciones entre dos partes sin su conocimiento. MITMF proporciona un conjunto de herramientas y técnicas para explotar vulnerabilidades en protocolos de red, interceptar tráfico y manipular datos durante la transmisión. Se utiliza principalmente para evaluaciones de seguridad y pruebas de penetración para identificar y abordar vulnerabilidades en sistemas en red. Sidejacking: también conocido como secuestro de sesión. Es un tipo de ciberataque en el que un individuo no autorizado intercepta y roba información de sesión o credenciales de autenticación para obtener acceso no autorizado a la cuenta de un usuario. Esto ocurre típicamente en entornos de Wi-Fi no seguros u otras redes donde el atacante puede interceptar la comunicación entre un usuario y un sitio web o servicio en línea. Los ataques de sidejacking a menudo se dirigen a sesiones establecidas a través de HTTP en lugar del más seguro HTTPS. Los atacantes pueden utilizar la información de sesión robada para suplantar al usuario y acceder a datos sensibles o realizar acciones maliciosas en la cuenta comprometida. Implementar protocolos de comunicación seguros, como HTTPS, y utilizar métodos de autenticación fuertes ayudan a mitigar el riesgo de ataques de sidejacking. HTML5: define lo que es el WebStorage, que se divide en SessionStorage y LocalStorage. Las cookies dejan de tener un tamaño fijo. Tipos de cookies: - Cookie persistente - Supercookies - Zombiecookies - …cookies Existe un framework Evercookie que trabaja con las cookies persistentes. 34 TEMA 6: [D]DoS (Deny of Service) Es el típico ataque de interrupción, lo que busca es que un servicio deje de funcionar o que su rendimiento sea muy bajo. Los ataques DDoS suelen estar vinculados a bot nets. Tipos de DoS: - DoS a nivel lógico: producido por una vulnerabilidad, que ha sido explotada. Nos podemos proteger de ellos con el parche correspondiente a dicha vulnerabilidad. - DoS de malas configuraciones: nos protegemos de ellos con una buena configuración. - DoS por inundación: cuando le pones mucha carga al servicio y lo acabas tirando abajo. Hay herramientas como modsecurity para protegernos ante este tipo de ataque. Existen los ataques DoS por inundación distribuido, los cuales hacen uso de múltiples máquinas, lo que hace que sea mucho más difícil protegernos ante este ataque. Factor de Amplificación: parámetro relevante en los ataques por inundación. Este parámetro (FA) consiste en cuantas conexiones o paquetes le llegan a la máquina que queremos inundar. Directos: los que únicamente hacen uso de IP Origen e IP Destino, se podría hacer IP Spoofing. Reflectivos: hacen uso de “máquinas intermedias”. No solamente están la IP Origen y la IP Destino. Nos podemos proteger de este tipo de ataques con los firewall con control de estado. En UDP al no tener control de estado se puede hacer algo parecido, ya que tengo un proceso cliente que me abre una conexión a un proceso servidor, la única diferencia de que no hay SYN ni ACK. Por lo que la 1ª vez que ve una comunicación lo marca como un SYN, y a partir de ahí ACK’s. Herramientas de inyección de paquetes: - hping3 - scapy - packit SYN Flood: hace referencia a cuando te envían muchos SYN para tirar abajo tu máquina. Existe TCB (Transmision Control Block), que es una cola que, si la llegan a llenar, nuestra máquina queda inservible a nivel de red. tcp_max_syn_backlog: por defecto viene a 128. tcp_synack_netmen: es el timeout, por defecto viene a 5. tcp_syncookies: TCP SYN Cookies La idea de las SYN Cookies es aprovechar el número de secuencia para codificar los datos. Las 35 podemos activar con una variable: /proc/sys/net/ipv4/tcp_syncookies = 0 (por defecto) Las SYN Cookies permiten al servidor evitar el rechazo de nuevas conexiones cuando la cola SYN se llena. El servidor descarta la petición SYN original y crea un “SYN Cookie Challange”. Encapsula una parte de la solicitud original y se devuelve al cliente como un número de serie largo. Si el cliente responde, el servidor puede reconstruir la petición SYN original. SYN Proxy Si yo tengo toda mi organización, se ubica un SYN Proxy para que las conexiones se abran a través del SYN Proxy, en vez de como se abrirán normalmente en mi IP origen o IP destino. El SYN Proxy hace todo el handshake. De esta manera es como se evitan los ataques de SYN Flood. SYN Cache La idea de las SYN Cache es usar una estructura de datos independiente a la TCB, con un tamaño limitado y en la que se guarda solo un subconjunto de datos de los que se guardarían normalmente en la TCB. Si se completa el handshake y se recibe el ACK, estos datos se copian a la TCB. En la estructura de datos de la SYN Cache, se pueden reusar los slots más antiguos. Ataques por UDP: consisten en el envío masivo de paquetes a puertos UDP aleatorios. Una herramienta para este tipo de ataques es udpflood. Miércoles 15 de Noviembre 2023 Traffic Shaping: está relacionado con QoS (Quality of Service) - Controla el flujo general de datos en la red - Suaviza el tráfico para evitar congestiones - Garantiza un uso eficiente de los recursos y un ancho de banda equitativo Packet Shaping: está relacionado con QoS (Quality of Service) - Gestiona el tráfico a nivel de paquetes individuales - Controla el orden y la prioridad de los paquetes para mejorar la eficiencia - Optimiza el rendimiento de la red al priorizar cierto tipo de tráfico Reverse proxy: nos pueden ayudar frente a ataques DoS. Es como un proxy, pero al revés. Da acceso desde internet a nuestros servidores. Se trata de un servidor intermedio que gestiona el tráfico entre clientes y servidores de origen; a diferencia de un proxy convencional, recibe solicitudes de clientes y las redirige a servidores específicos. Sus funciones incluyen: balanceo de carga, caché, seguridad y optimización del rendimiento. Mejora la escalabilidad, disponibilidad y seguridad de las aplicaciones web al actuar como un intermediario eficiente. Herramientas para pruebas de carga/estrés: apache bench, jMeter… 36 Lunes 20 de Noviembre 2023 Private LAN: se refiere a una red local privada usada internamente por una organización. Está limitada a un área geográfica específica y no es directamente accesible desde el exterior sin medidas de seguridad. Los dispositivos dentro de esta red pueden comunicarse entre sí, y se pueden implementar medidas de control de acceso y seguridad para proteger los recursos y datos sensibles internos. Port Isolation: se basa en restringir la comunicación directa entre dispositivos en una red. Cada puerto o dispositivo tiene acceso limitado a recursos específicos, evitando la comunicación no autorizada entre ellos. Esto ayuda a prevenir la propagación de amenazas y ataques dentro de la red, mejorando así la seguridad. Se consigue mediante asignación de puertos dedicados, lista de control de acceso o el uso de VLANs. Se suele configurar en la DMZ. Ejemplos de comandos para usar inyectores de paquetes: # packit -b 0 -c0 -sR -d 10.11.48.100 -F S -S 1000 -D 80 --> fludeo directo (SYN Flood) # hping3 -s -p 80 --flood --runsource 10.11.48.100 # hping3 -s 10.11.48.100 -a 10.11.48.100 --> LAND Attack: envío paquetes IP origen y IP destino la misma, de esta manera la máquina se auto responde hasta que se inunda y peta. (pregunta examen) SEND (Secure Neighbor Discovery): Securiza el protocolo NDP, mediante sistemas PKI (Infraestructura de Clave Pública) PKI ---> RA ---> SLAAC. SLAAC (Stateless Address Autoconfiguration) es un protocolo utilizado en redes IPv6 para la configuración automática de direcciones. Es un método sin estado, lo que significa que no requiere la intervención de un servidor de configuración central para asignar direcciones a los dispositivos en una red. Una característica importante es el RA: - Router Advertisement (Anuncio de Enrutador): Los routers en la red envían mensajes de Anuncio de Enrutador (Router Advertisement, RA) periódicamente. Estos mensajes contienen información necesaria para que los dispositivos generen automáticamente sus direcciones IPv6. Redes Wifi de DoS: #airodump start wlan0 #airodump-ng mon0 poner la tarjeta wlan0 en modo monitor, y visualizamos información de los puntos de acceso de lo que intercepta. Aquí hay un ejemplo simplificado de lo que podría mostrar el comando: 37 CH 6 ][ Elapsed: 1 min ][ 2022-01-01 12:34 BSSID PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID 12:34:56:78:90:AB -50 23 1 0 6 54e WPA2 CCMP PSK MiRedWiFi 23:45:67:89:CD:EF -70 45 0 0 1 54e. WPA2 CCMP PSK OtraRed 34:56:78:90:12:34 -80 12 4 0 11 54e WPA2 CCMP PSK RedSegura Para hacer DoS, basta con hacer: #aireplay-ng -0 0 -a xx:....:xx (MAC del punto de acceso) ---> con este comando estaremos emitiendo continuamente tramas de autenticación con la MAC del punto de acceso #aireplay-ng -0 0 -a xx:....:xx (MAC de un punto de acceso) -c xx:...:xx (MAC de una IP concreta) Posibles soluciones para protegernos de estos ataques: - 802.11w --> Estándar que lo que hace es autenticar las tramas de autenticación y cifrarlas. - WIPS (Wireless Intrusion Prevention System): Son sistema de prevención de intrusiones a nivel de wifi. Ejemplos: o cisco adaptive wireless ips o open wips-ng Herramientas de monitorización: ACRILIE OWISAM: metodología de seguridad en redes Wifi's Usos de las WHITELIST: - Priorizado de tráfico - Balanceo de carga - Taps - Traffic scrubbing Ejemplos de Blacklist: - REAL TIME BL (Black List) - SPAMHAUS o SBL (Spamhaus Block List) 38 Miércoles 22 de Noviembre 2023 TEMA 7: Firewalling - Monitorización y filtrado Tema relacionado con el firewall, como configurar nuestro firewall y demás. Nos vamos a centrar en IPTABLES. - iptables es un firewall de filtrado de paquetes integrado en el kernel de Linux - iptables trabaja a nivel de kernel, intercepta toda la paquetería de red. - en iptables trabajamos en capa 3 (IP), pero también existe: o ip6tables: que es el que utilizamos para configurar a nivel de IPv6 o ebtables: que trabaja en capa 2, permite filtrar a nivel de MACs. o Ipset: nos permite definir grupo de direcciones. Tipos de reglas: Iptables permite establecer reglas en base a parámetros de un paquete (como la dirección IP origen/destino, el puerto origen/destino, el protocolo, etc.) y lo que hay que hacer con ese paquete (aceptarlo, rechazarlo, generar una respuesta, modificarlo, etc.) Vamos a definir reglas que se van a aplicar a toda la paquetería de red, en resumen, vamos a trabajar con reglas INPUT y OUTPUT: - INPUT: paquetes que entran a la máquina - OUTPUT: paquetes que salen de la máquina - FORWARD: no se ve en prácticas, pero son muy habituales. El fordward lo tenemos en un firewall de red. El forwarding lo que hace aplica las reglas cuando la paquetería que llega a tu máquina la IP destino no es tu máquina. - NAT: son reglas que cambian IPs, cambian puertos, es para hacer nating. - MANGLE: Se utilizan para modificar cosas, para modificar el tema del TTL, etc. Conceptos: - Cadena: son agrupaciones de reglas. Iptables usa chains o cadenas para controlar distintos flujos de tráfico: entrada, salida, entrada desde la red local, etc. o INPUT o OUTPUT o FORWARD o PREROUTING: se ejecuta antes de decidir el routing o POSTROUTING: se ejecuta después de decidir el routing Tengo mi interfaz de red (ens33, ens34), cuando llega un paquete: - Camino 1 (azul): Entra en la cadena PREROUTING, luego se va a ejecutar la cadena INPUT y luego pueden pasar dos cosa: primero que esos paquetes se dropeen y termina, o se aceptan y se remiten al proceso que atiende la conexión. 39 - Camino 2 (verde): Si cuando ha ejecutado las reglas en PREROUTING, la IP destino no es mi propia máquina, pasará a la regla FORWARD, procesa las reglas forward, luego procesa las reglas POSTROUTING, y se va por el interfaz de red. - Camino 3 (naranja): Finalmente, el proceso va a recibir un paquete, lo va a procesar y luego ese paquete de red va a responder con otro paquete de salida, va OUTPUT, se lo va a dar a la cadena de reglas de POSTROUTING y luego del INTERFACE RED para afuera. Tablas: las cadenas se agrupan en tablas. - MANGLE: (PREROUTING, INPUT, OUT, POST, FORW) - NAT: (PRER, OUTOUT, POSROUTING) - FILTER: (INPUT, FORWARD, OUTPUT) Me llega a la Interfaz de Red un paquete: - Camino 1 (azul): El paquete va a PREROUTING que tenemos MANGLE y NAT. Luego decidimos el ROUTING, si va a INPUT tenemos reglas MANGLE y FILTER y finalmente va al PROCESO. - Camino 2 (verde): Si en el ROUTING vamos a FORWARD, y dentro tenemos las tablas MANGLE y FILTER. y de forward vamos a POSTROUTING que tenemos MANGLE y NAT y finalmente sale por el interfaz de red. - Camino 3 (naranja): Finalmente, el proceso va a recibir un paquete, lo va a procesar y luego ese paquete de red va a responder con otro paquete de salida, va OUTPUT donde tenemos las tablas MANGLE, FILTER y NAT, luego lo va a dar a la cadena de reglas de POSTROUTING y luego del INTERFACE RED para afuera. Reglas IPTABLES (ejemplos): # iptbles -t [tabla] COMANDO CADENA CONDICIÓN ACCIÓN [OPCIONES] Por ejemplo: # iptables -t FILTER -A INPUT -p TCP --dport 123 -j DROP DROP → dropea el paquete ACCEPT → acepta el paquete REJECT → hace lo mismo que DROP, pero mi máquina se comporta como si fuera una máquina sin firewall #!/bin/sh iptables -F → borra reglas 40 iptables -X → borra cadenas (política por defecto: DROP; se definen con la opción -P) iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP iptables -A INPUT lo -j ACCEPT → estoy aceptando el localhost iptables -A OUTPUT lo -J ACCEPT ///SI NO ESPECIFICO LA TABLA, POR DEFECTO ES LA FILTER iptables -A INPUT -s 10.11.48.CLIENTE -d 10.11.48.MIA -p TCP --dport 514 -j ACCEPT iptables -A INPUT -s 10.11.48.CLIENTE -d 10.11.48.MIA -p UDP --dport 22 -j ACCEPT iptables -A OUTPUT -s 10.11.48.MIA -d 10.11.48.CLIENTE -p TCP --sport 514 -j ACCEPT Lunes 27 de Noviembre 2023 Estados: - NEW - ESTABLISHED - RELATED Firewall con control de estado (I) iptables -A INPUT -P TCP --dport 22 -s IP -d OtraIP -m contrack --estate NEW, ESTABLISHED -j ACCEPT Iptables -A OUTPUT -P TCP --sport 22 -s OtraIP -d IP -m contrack --estate ESTABLISHED, RELATED -j ACCEPT Firewall con control de estado (II Versión Nino) iptables -A INPUT -m contrack --estate NEW, ESTABLISHED -j ACCEPT iptables -A OUTPUT -m contrack --estate NEW, ESTABLISHED -j ACCEPT *si usamos está opción, en los INPUT sólo se harán los NEW’s UDP: sí tiene control o gestión de estado, lo que pasa es que es algo peculiar. En lugar de por defecto DROPEAR los paquetes (eso canta que tenemos un FW), podemos tener en nuestro firewall: iptables -A INPUT -P TCP -j REJECT --reject-with tcp-rnet iptables -A INPUT -P UDP -j REJECT --reject-with icmp-port-unreacheable En el mundo real el firewall debe de ser persistente, para ello podemos: 1. Crear un.service con AFTER=networking.service 41 2. Crear un.service pero en lugar de usar el AFTER anterior, poner la dirección del script en el fichero de configuración correspondiente, variable post-up dirScript 3. apt install iptables-persistent iptables-persistent > /etc/iptables/rules.v4 systemctl ____ iptables-persistent start stop restart … *en el script del firewall se pueden usar variables, por ejemplo: ipMia=x.x.x.x ipCompa=y.y.y.y … También hay ip6tables para IPv6. iptables -A INPUT -P TCP --dport 80 -m string string “/etc/passwd” -j LOG --log-ip-options --log- prefix “Access passwd” iptables -A INPUT -P TCP --dport 80 -m string string “/etc/passwd” -j DROP Con un LOG las reglas se siguen procesando, con DROP o REJECT no. Netfilter: framework que nos deja trabajar con nuestra paquetería de red; en este framework se incluye: - iptables - nftables: más actualizado que iptables Por ejemplo: iptables -t filter -A FORWARD -s IP -d OtraIP -p RP --dport 514 -m contrack --estate NEW -j ACCEPT nft add rule filter FORWARD ip saddrd IP daddrd OtraIP dport 514 ct state NEW ACCEPT psad: reglas que analizan los log’s para intentar detectar posibles ataques. GUI Fwbuilder: entorno gráfico para crear el firewall de manera más amigable (iptables, nftables…). 42