No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Encapsulado de paquetes con Scapy

14/33
Recursos

Aportes 10

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Para los que se preguntan como prevenir estos ataques:
-Configurar Passive interfaces en Routers (Permite decirle al protocolo de enrutamiento que evite enviar actualizaciones a determinada interfaz de red)
-Configuración de Autenticación de Protocolos (Permite que un determinado Router participe a compartir sus rutas por medio de una llave cifrada que solo los Administradores de Red deberían saber)

Aquí se puede ver claramente que estamos jugando con 3 capas del modelo OSI en Scapy
Enlace de datos

a = Ether() -> una trama ethernet
Red

b = IP (dir orgien (maquina), dir destino (broadcast rip),ttl(saltos al progarse(always 1))) -> un paquete IP
Transporte

c = UPD(puerto origen rip ,puerto destino rip 520) -> protocolo UDP capa de transporte
construir el encapsulado

packet = a/b/c
Se agrupa el contenido de la trama Ethernet

packet
<Ecabezado | Paquete IP | Payload del paquete IP>

sendp(packet,iface=‘eth0’) -> enviar el paquete por medio de la interface eth0

Encapsulado de paquetes con Scapy

Es una herramienta de bajo nivel construida con Python que nos permite hacer un encapsulado de paquetes y cambiar los parámetros de estos paquetes por aquellos que nosotros deseemos.

Para esto debemos tomar como referente el protocolo RIP (Routing Information Protocol) quien es el encargado de determinar la mejor ruta a seguir para la transmisión de paquetes.

  • Validar en Wireshark el protocolo RIP para encontrar: puertos, ips, broadcast ip, entre otra información que usaremos para construir los paquetes.

  • Accedemos a la herramienta Scapy por medio de la consola:

    scapy
    
  • Ahora, vamos a empezar con la configuración de los paquetes UDP:

    a = Ether()
    b = IP(src="192.168.10.101" , dst="224.0.0.9", ttl=1)
    c = UDP(sport=520,dport=520)
    packet = a/b/c
    sendp(packet,iface="eth0")
    
  • Validamos la aparición de un paquete UPD en el tráfico con Wireshark.

Scapy es un poderoso programa interactivo de manipulación de paquetes. Es capaz de falsificar o decodificar paquetes de una gran cantidad de protocolos, enviarlos por cable, capturarlos, emparejar solicitudes y respuestas, y mucho más. Puede manejar fácilmente la mayoría de las tareas clásicas como escanear, trazar rutas, probar, pruebas unitarias, ataques o descubrimiento de redes (puede reemplazar hping, 85% de nmap, arpspoof, arp-sk, arping, tcpdump, tshark, p0f, etc.). También funciona muy bien en muchas otras tareas específicas que la mayoría de las otras herramientas no pueden manejar, como enviar marcos no válidos, inyectar sus propios marcos 802.11, combinar técnicas (salto de VLAN + envenenamiento de caché ARP, decodificación de VOIP en canal encriptado WEP, … ), etc.

eso quiere decir que tambien se pueden modificar los protocolos tcp y modificar las banderas manualmente?

Por si alguien no le sale nigún paquete de RIP en Wireshark en Kali Linux, deben instalarlo con el comando: sudo apt install frr frr-pythontools. PD: Deben tener uno de los Adaptadores de red en su MV de Kali a NAT para poder instalarlo. PD2: Cuando apagan la máquina para poder agregar un segundo adaptado de Red en Kali es muy probable que el archivo resolv.conf se borre y deban poner de nuevo lo siguiente: ![](https://static.platzi.com/media/user_upload/image-999a3bbd-c9aa-4695-824e-c377149bece5.jpg) Guardamos los cambios con CTRL + X --->y-->enter
El encapsulado de paquetes con **Scapy** proporciona una herramienta poderosa para la creación, manipulación y análisis de paquetes de red. Esto es útil para tareas de prueba de seguridad, análisis de tráfico de red y diagnóstico de problemas de red. La flexibilidad y capacidad de Scapy para interactuar con múltiples capas del modelo OSI lo convierte en una herramienta esencial para profesionales de la red y la seguridad.

Hola. Al parecer hay un error con una de las librerías de Python 3.9 y Scapy. Aparece el error: “FileNotFoundError: [Errno 2] No such file or directory: b’liblibc.a’”.

Posible solución: ejecutar en tu máquina Kali los siguientes comandos…

# cd /usr/lib/x86_64-linux-gnu/
# ln -s -f libc.a liblibc.a

Listo! Ahora intenta ejecutar nuevamente el comando scapy

Muy bien, excelente bibliografía.