0% encontró este documento útil (0 votos)
92 vistas8 páginas

F2 Sesion06

El documento presenta un laboratorio sobre ataques de Denegación de Servicio (DoS) y Distribuidos (DDoS), incluyendo objetivos, fundamentos, herramientas de simulación y estrategias de mitigación. Se abordan conceptos teóricos y prácticos, como la programación de herramientas para realizar ataques y la implementación de mecanismos de protección. Además, se incluyen ejercicios y un cuestionario para evaluar la comprensión de los temas tratados.

Cargado por

ricardo bolivarr
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
92 vistas8 páginas

F2 Sesion06

El documento presenta un laboratorio sobre ataques de Denegación de Servicio (DoS) y Distribuidos (DDoS), incluyendo objetivos, fundamentos, herramientas de simulación y estrategias de mitigación. Se abordan conceptos teóricos y prácticos, como la programación de herramientas para realizar ataques y la implementación de mecanismos de protección. Además, se incluyen ejercicios y un cuestionario para evaluar la comprensión de los temas tratados.

Cargado por

ricardo bolivarr
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

INFRAESTRUCTURA DE TECNOLOGÍAS DE INFORMACIÓN Página: 1

UNIVERSIDAD CATÓLICA DE SANTA MARÍA


ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS

Laboratorio N°6

Denegación de servicio, uso y desarrollo de herramientas.

OBJETIVOS

➢ Conceptualización y Análisis de Ataques de Denegación de Servicio


➢ Aplicación de Herramientas y Técnicas en Simulaciones de DoS/DDoS
➢ Desarrollo y Evaluación de Mecanismos de Protección Contra
DoS/DDoS

II

TEMAS A TRATAR

➢ Fundamentos de Ataques de Denegación de Servicio (DoS) y Distribuidos (DDoS)


➢ Herramientas de Simulación y Análisis de Ataques DoS/DDoS
➢ Estrategias y Soluciones para la Mitigación de Ataques DoS/DDoS

III

MARCO TEÓRICO

Denegación de Servicio
Conceptos de Denegación de Servicio (DoS) y Ataques Distribuidos (DDoS)
• Definición y Clasificación:
• DoS: Un ataque de Denegación de Servicio (DoS) busca hacer un recurso
informático o red no disponible para sus usuarios previstos, inundando el sitio
con tráfico más allá de lo que el servidor o la red es capaz de manejar.

Ing. Toshiro Nagata, Ing. Ana Lucia Velazco Lab. 08


INFRAESTRUCTURA DE TECNOLOGÍAS DE INFORMACIÓN Página: 2

• DDoS: Un Ataque Distribuido de Denegación de Servicio (DDoS) se realiza


desde múltiples puntos de origen, lo que lo hace más difícil de mitigar ya que
el tráfico maligno proviene de múltiples fuentes.
• Metodología de Ataque:
• Volumétricos: Buscan saturar el ancho de banda de la red.
• De agotamiento de estado: Intentan consumir los recursos del servidor.
• De aplicación: Se enfocan en las solicitudes específicas de una aplicación que
son costosas en términos de servidor.
• Efectos en Sistemas y Redes:
• Interrupción del acceso legítimo a recursos.
• Pérdida de confianza de los usuarios y clientes.
• Potencial daño a la reputación y pérdidas económicas.
2. Herramientas y Simulación de Ataques DoS/DDoS
• Herramientas de Simulación:
• LOIC: Usado para realizar pruebas de estrés en redes. Este software envía una
gran cantidad de solicitudes HTTP, UDP o TCP al servidor objetivo.
• Ejemplo de Uso:

Ilustración 1: Código en Python para herramienta de DOS

Este es un ejemplo simplificado de cómo se podría escribir una herramienta


similar a LOIC usando Python. El código intenta establecer una conexión y
enviar solicitudes HTTP continuamente al servidor objetivo.
• Análisis de Ataques:
• Wireshark: Capturador y analizador de paquetes de red que permite
inspeccionar el tráfico durante un ataque.

Ing. Toshiro Nagata, Ing. Ana Lucia Velazco Lab. 08


INFRAESTRUCTURA DE TECNOLOGÍAS DE INFORMACIÓN Página: 3

• Ejemplo de Uso: Se configura un filtro para mostrar solo los paquetes


relacionados con el ataque, como aquellos con un volumen
inusualmente alto de solicitudes SYN a un puerto específico.
3. Mitigación y Respuestas a Ataques DoS/DDoS
• Estrategias Defensivas:
• Configuración de Firewall: Reglas para filtrar tráfico sospechoso.
• Balanceadores de Carga: Distribución de tráfico para minimizar el impacto en
un solo punto.
• Redes de Entrega de Contenidos (CDNs): Dispersan el tráfico para reducir
carga en servidores individuales.
• Soluciones de Mitigación:
• Cloudflare: Proporciona un proxy inverso para proteger contra ataques DDoS.
• Snort: Sistema de prevención de intrusiones que puede identificar patrones de
tráfico anómalos.
• Implementación de Soluciones:
• Uso de CDN:
• Implementación de Cloudflare para proteger un sitio web de ejemplo.
• Monitoreo del tráfico y reacción ante picos no característicos.
• Configuración de Snort:
• Creación de reglas específicas para identificar y bloquear ataques de
inundación SYN.
• Análisis de alertas y ajustes de las reglas según las amenazas
detectadas.

IV

ACTIVIDADES

A continuación, se desarrollará una herramienta básica sobre el flujo de un ataque de denegación

de servicio, primero es importante explicar teóricamente el uso de ciertas librerías como se observa

a continuación.

Importación de Librerías

• import socket: Esta librería proporciona los métodos necesarios para crear conexiones de red.

Los sockets son fundamentales para enviar y recibir datos a través de la red.

Ing. Toshiro Nagata, Ing. Ana Lucia Velazco Lab. 08


INFRAESTRUCTURA DE TECNOLOGÍAS DE INFORMACIÓN Página: 4

• import sys: Esta librería se utiliza para interactuar con el sistema, en este caso, para recibir

argumentos de la línea de comandos.

Verificación de Argumentos

• sys.argv: Es una lista en Python que contiene los argumentos de la línea de comandos.

sys.argv[1] y sys.argv[2] se usan para obtener la dirección IP y el puerto objetivo

respectivamente. El script verifica si se han proporcionado ambos argumentos antes de

proceder.

Creación del Socket

• socket.socket(): Crea un nuevo socket utilizando socket.AF_INET y

socket.SOCK_STREAM como argumentos. socket.AF_INET se refiere a la familia de

direcciones de protocolos IPv4. socket.SOCK_STREAM indica que se trata de un socket

TCP, que es orientado a la conexión.

Manejo de Excepciones

• Se manejan posibles errores al crear el socket o al intentar conectarlo al servidor objetivo,

proporcionando retroalimentación al usuario si ocurren errores y finalizando el programa con

sys.exit(1).

Establecimiento de Conexión

• s.connect(): Este método intenta establecer la conexión al servidor objetivo utilizando la

dirección IP y el puerto proporcionados.

Bucle Infinito para Simular Ataque DoS

• Dentro de un try block, el código entra en un bucle infinito donde se construye y envía una

petición HTTP básica utilizando s.sendto(). La petición se codifica en UTF-8, que es la

codificación de caracteres estándar para la web.

• message: Es un string que simula una petición HTTP GET. La petición incluye un

header Host, que es obligatorio en HTTP/1.1.

• while True: Es un bucle infinito que continuará enviando la petición simulada al servidor hasta

que el programa se interrumpa manualmente.

Ing. Toshiro Nagata, Ing. Ana Lucia Velazco Lab. 08


INFRAESTRUCTURA DE TECNOLOGÍAS DE INFORMACIÓN Página: 5

Manejo de Interrupciones

• except KeyboardInterrupt: Captura la interrupción por parte del usuario (generalmente con

Ctrl+C) para cerrar el socket con s.close() y finalizar el programa de manera controlada.

Manejo de Errores de Socket

• Si ocurre un error al enviar la petición debido a problemas de red o porque el servidor no

responde, se maneja la excepción, se informa al usuario, y se cierra el socket y el programa.

Importancia de las Bibliotecas y Funciones

El uso de la biblioteca socket es crucial ya que proporciona los métodos para interactuar a bajo

nivel con la red, lo cual es necesario para simular un ataque DoS. La biblioteca sys es importante

para obtener los parámetros de entrada del usuario, lo que hace que la herramienta sea dinámica y

se pueda utilizar con diferentes objetivos.

Ing. Toshiro Nagata, Ing. Ana Lucia Velazco Lab. 08


INFRAESTRUCTURA DE TECNOLOGÍAS DE INFORMACIÓN Página: 6

Ilustración 2: Herramienta básica de DOS

EJERCICIOS
Objetivo del Ejercicio:
Desarrollar una comprensión práctica de cómo se pueden programar herramientas
para la realización de ataques de Denegación de Servicio (DoS), aplicando conceptos
de redes y programación.
Instrucciones:
1. Elija un lenguaje de programación con el que se sienta cómodo. Algunas opciones pueden
ser Python, Go,Java, C++, o incluso Bash scripting.
2. Utilizando su conocimiento de sockets y conexiones de red, diseñe y programe una
herramienta básica que pueda realizar un ataque DoS a un servidor de prueba. Asegúrese

Ing. Toshiro Nagata, Ing. Ana Lucia Velazco Lab. 08


INFRAESTRUCTURA DE TECNOLOGÍAS DE INFORMACIÓN Página: 7

de tener permiso para atacar este servidor o utilice un entorno controlado diseñado para
pruebas de penetración.
3. La herramienta debe:
• Tomar como entrada la dirección IP y el puerto del objetivo.
• Establecer una conexión al objetivo.
• Enviar solicitudes de forma continua hasta que se detenga manualmente.
4. Implemente manejo de errores y excepciones para asegurarse de que su herramienta puede
manejar situaciones como la entrada incorrecta y problemas de red.
5. Comente su código extensamente, explicando cada parte de la herramienta y por qué es
necesaria.
6. Importante: Asegúrese de cumplir con todas las regulaciones éticas y legales. Este
ejercicio es solo para fines educativos y no debe usarse contra servidores que no han dado
su consentimiento explícito para ser probados.
Criterios de Evaluación:
• Funcionalidad: La herramienta debe funcionar según lo especificado.
• Robustez: La herramienta debe manejar errores y entradas inválidas adecuadamente.
• Legibilidad del Código: El código debe estar bien comentado y seguir las convenciones de
nomenclatura y estilo del lenguaje elegido.

VI

CUESTIONARIO
1. ¿Qué es un ataque de Denegación de Servicio (DoS) y cómo difiere de un ataque de

Denegación de Servicio Distribuido (DDoS)?

2. ¿Qué es un socket en términos de programación de redes y por qué es fundamental en

la creación de herramientas de DoS?

3. En el contexto de un ataque DoS, ¿cuál es el propósito de un bucle infinito dentro del

código de la herramienta?

4. ¿Cómo se pueden implementar mecanismos para prevenir o mitigar un ataque DoS?

5. ¿Cuáles son las implicaciones legales y éticas de realizar un ataque DoS?

6. ¿Qué técnicas de manejo de errores podrían ser cruciales cuando se desarrolla una

herramienta de ataque DoS y por qué?

Ing. Toshiro Nagata, Ing. Ana Lucia Velazco Lab. 08


INFRAESTRUCTURA DE TECNOLOGÍAS DE INFORMACIÓN Página: 8

7. Proporcione un ejemplo de cómo podrían los sistemas de detección de intrusos (IDS)

y los sistemas de prevención de intrusos (IPS) identificar y bloquear un ataque DoS.

VII

BIBLIOGRAFÍA Y MATERIAL DE REFERENCIA

• “Docker Deep Dive” por Nigel Poulton (2020)


• “The Practical DevOps Guide to Docker and Kubernetes” por Twain Taylor en
DigitalOcean (2019)
• “Docker Up & Running: Shipping Reliable Containers in Production” por Karl
Matthias y Sean Kane (2021)
• “Docker in Action” por Jeff Nickoloff y Stephen Kuenzli (2019)

Ing. Toshiro Nagata, Ing. Ana Lucia Velazco Lab. 08

También podría gustarte