Esta práctica te permitirá comprender mejor las técnicas de suplantación y DoS, así como sus efectos en un entorno web.
Por @rosinni y otros colaboradores en 4Geeks Academy
Estas instrucciones están disponibles en inglés
¡Te necesitamos! Estos ejercicios son construidos y mantenidos en colaboración con contribuyentes como tú. Si encuentras algún error o falta de ortografía, por favor contribuye y/o repórtalo.
No clones este ni ningún repositorio, sigue las instrucciones a continuación:
Para esta práctica específica de Spoofing y DoS, es mejor configurar la red como una Red Interna. Esto se debe a varias razones:
-
Aislamiento Completo: Asegura que las actividades de ataque y prueba no interfieran con la red de producción ni con otras redes externas. Esto previene cualquier posible impacto no deseado en otros sistemas.
-
Entorno Controlado: Permite un control completo sobre el entorno de la red, facilitando el monitoreo y análisis del tráfico de red generado durante las pruebas.
-
Simulación Realista: Aunque está aislada, una red interna puede simular efectivamente un entorno de red real para las prácticas de Spoofing y DoS.
- Oracle VirtualBox
- Máquina virtual con Kali Linux (Atacante)
- Máquina virtual con Debian (Servidor Web): Donde tenemos el servidor Apache y el sitio de WordPress alojado.
- Herramientas de Spoofing y DoS instaladas en las máquinas virtuales.
- Un entorno de red aislado.
- Herramientas necesarias: arpspoof, hping3, wireshark
- Abre VirtualBox.
- Selecciona tu máquina virtual Debian y haz clic en "Configuración".
- Ve a la sección "Red".
- Configura el "Adaptador 1" como "Red Interna".
- En el campo "Nombre", ingresa un nombre para la red interna, por ejemplo, "LabNetwork".
- Inicia la máquina y verifica la interfaz de red disponible y su configuración actual usando el siguiente comando en la terminal:
ip addr show
Generalmente encontrarás líneas etiquetadas como eth0, enp0s3, wlan0, etc. La que esté activa y tenga una dirección IP asignada será la interfaz que estás utilizando.
- Configuración manual de IP para usar la red interna en el archivo
/etc/network/interfaces
con el siguiente comando:
sudo nano /etc/network/interfaces
- Agrega lo siguiente al archivo que se abre:
auto enp0s3
iface enp0s3 inet static
address 192.168.1.10
netmask 255.255.255.0
gateway 192.168.1.1
- Guarda los cambios y cierra la ventana de configuración.
Ejemplo de configuración para ambos archivos (Kali y Debian), puede contener más comandos de los que se muestran, pero agrega cualquier comando faltante de la configuración proporcionada previamente, ya que serán necesarios.
- Reinicia el servicio de red:
sudo systemctl restart networking
- Usa nuevamente el comando ip addr show y verifica que tu dirección IP sea la que configuraste.
- Selecciona tu máquina virtual Kali Linux y haz clic en "Configuración".
- Ve a la sección "Red".
- Configura el "Adaptador 1" como "Red Interna".
- En el campo "Nombre", selecciona el mismo nombre de red interna que usaste para la máquina Debian ("LabNetwork").
- Inicia la máquina y verifica la interfaz de red disponible y su configuración actual usando el siguiente comando en la terminal:
ip addr show
Generalmente encontrarás líneas etiquetadas como eth0, enp0s3, wlan0, etc. La que esté activa y tenga una dirección IP asignada será la interfaz que estás utilizando.
- Configuración manual de IP para usar la red interna en el archivo
/etc/network/interfaces
con el siguiente comando:
sudo nano /etc/network/interfaces
- Agrega lo siguiente al archivo que se abre:
auto eth0
iface eth0 inet static
address 192.168.1.11
netmask 255.255.255.0
gateway 192.168.1.1
- Guarda los cambios y cierra la ventana de configuración.
- Reinicia el servicio de red:
sudo systemctl restart networking
- Usa nuevamente el comando ip addr show y verifica que tu dirección IP sea la que configuraste.
- Abre una terminal y haz un ping a la máquina Debian para verificar la conexión:
$ ping <IP_debian>
Reemplaza <IP_debian> con la dirección IP que obtuviste para la máquina Debian.
- Abre una terminal y haz un ping a la máquina Kali Linux para verificar la conexión:
$ ping <IP_kali>
Reemplaza <IP_kali> con la dirección IP que obtuviste para la máquina Kali.
Ejemplo gráfico de cómo se ven los pings cuando están conectados
Para realizar esta práctica, utilizaremos arpspoof. Esta herramienta se usa para enviar paquetes ARP falsificados a la red, haciendo que un dispositivo (como la máquina Debian) crea que la dirección MAC del atacante (Kali Linux) es la dirección MAC del gateway (router). Esto se puede verificar observando las tablas ARP en la máquina Debian antes y después de ejecutar arpspoof.
- Instalar arpspoof:
sudo apt update
sudo apt install dsniff
Nota: arpspoof es parte del paquete dsniff..
- Verifica si arpspoof está instalado:
sudo arpspoof -h
- Ejecuta arpspoof para envenenar las tablas ARP de la máquina Debian y el gateway:
sudo arpspoof -i <interfaz_kali> -t <IP_debian> <gateway>
- -i <interfaz_kali>: Especifica la interfaz de red desde la cual se enviarán los paquetes ARP, por ejemplo, eth0.
- -t <IP_debian>: Especifica la dirección IP de la víctima (la máquina Debian en este caso).
- : Especifica la dirección IP del gateway. (inicialmente configurado en el archivo /etc/network/interfaces, es el mismo para ambas máquinas)
Wireshark es ideal para analizar el tráfico de red, identificar posibles ataques y monitorear la seguridad en un entorno de red.
- Instalar Wireshark:
sudo apt update
sudo apt install wireshark
Durante la instalación, es posible que te pregunten si los usuarios no root deberían poder capturar paquetes. Selecciona "Sí". Si completaste la instalación sin esta configuración, puedes configurarlo más tarde con:
sudo dpkg-reconfigure wireshark-common
- Agrega tu usuario al grupo de Wireshark:
sudo usermod -aG wireshark $USER
NOTA: $USER es el nombre de usuario que usas en la máquina virtual Debian.
Una vez completada la instalación, cierra sesión y vuelve a iniciarla para aplicar los cambios de grupo. Puedes iniciar Wireshark ejecutando:
sudo wireshark
- Con Wireshark abierto, pulse el botón «play» para empezar a capturar paquetes.
- Aplica filtros para centrarte en tipos específicos de tráfico, como ARP, TCP, UDP, etc.
Para realizar un ataque de inundación ICMP (ping flood) desde Kali a Debian, puede utilizar el siguiente comando:
sudo hping3 -1 <IP_debian> -I eth0
- hping3: Una herramienta de línea de comandos para generar paquetes TCP/IP que pueden usarse para varias pruebas de red, incluyendo escaneo de puertos, pruebas de cortafuegos y pruebas de rendimiento de red. -1: Indica que se deben enviar paquetes ICMP tipo 1 (ICMP Echo Request), que son los paquetes utilizados por el comando ping.
- -I eth0: Especifica la interfaz de red a utilizar para enviar los paquetes. En este caso, eth0 es la interfaz de red de la máquina atacante.
- Con Wireshark abierto, haz clic en el botón «play» para empezar a capturar paquetes.
- Mientras hping3 se está ejecutando, puedes aplicar un filtro para ver sólo el tráfico ICMP. El filtro es icmp.
- Guiar a los estudiantes sobre las herramientas de monitorización disponibles en Kali Linux, como
htop
, para observar el impacto del ataque DoS en el servidor WordPress. - Los estudiantes deben monitorizar la capacidad de respuesta del servidor WordPress, la tasa de errores y el uso de recursos del sistema durante el ataque.
- Debate sobre las estrategias de mitigación (10 minutos):
- Cubrir posibles medidas defensivas, como el uso de firewalls (cortafuegos).
- Concluir con las mejores prácticas para proteger un sitio WordPress contra ataques DoS y spoofing en el mundo real.
Gracias a estas personas maravillosas (emoji key):
-
Rosinni Rodríguez (rosinni) contribución: (build-tutorial) ✅, (documentación) 📖
-
Alejandro Sanchez (alesanchezr), contribución: (detector bugs) 🐛
-
Lorena Gubaira (lorenagubaira), contribution: (detector bugs) 🐛, contribution: (editor), (tranducción) 🌎
Este proyecto sigue la especificación all-contributors. ¡Todas las contribuciones son bienvenidas!
Este y otros ejercicios son usados para aprender a programar por parte de los alumnos de 4Geeks Academy Coding Bootcamp realizado por Alejandro Sánchez y muchos otros contribuyentes. Conoce más sobre nuestros Cursos de Programación para convertirte en Full Stack Developer, o nuestro Data Science Bootcamp.Tambien puedes adentrarte al mundo de ciberseguridad con nuestro Bootcamp de ciberseguridad.