Para el post contaremos con 3 máquinas, la que enviará el paquete
con la dirección origen spoofeada (atacante), la máquina objetivo y una que servirá de
intermediaria (la que contesta), las direcciones son:
- IP a spoofear: 192.16.0.199
- IP intermediaria: 192.168.0.195
- IP atacante: 192.168.0.194
La IP a spoofear no es una IP local, fíjate bien en la dirección, a la fecha de escribir el post respondía.
Nosotros mandaremos el paquete a la "IP intermediaria", y está contestará a la "IP a spoofear", el código es el siguiente (Python 3.X):
Nosotros mandaremos el paquete a la "IP intermediaria", y está contestará a la "IP a spoofear", el código es el siguiente (Python 3.X):
El código
crea un paquete usando scapy, ICMP se queda por defecto, ya que así nos vale,
es de tipo ICMP echo request.
Si antes de
lanzar el código, ponemos un sniffer, en este caso Wireshark, podremos ver los
paquetes, aquí para verlo más claro se filtra por tipo ICMP, a continuación se
puede ver la captura:
Se puede
observar cómo el paquete tiene como origen la IP del objetivo, en realidad el
paquete se manda desde la IP local 192.168.0.194. Aquí queda demostrado lo fácil que es falsificar una dirección.
Podemos hacer que estos paquetes se vayan mandando constantemente, para ello, podremos generar un bucle infinito:
send(packet, loop=1, inter=0.1)
En la línea
anterior indica que es un bucle el loop=1, y el inter es el tiempo que pasa entre el envío de un paquete y otro (en segundos).
Esto puede servirnos para realizar un ataque de denegación de servicio (DoS), por ejemplo un ataque de amplificación, donde podemos hacer envíos con la dirección IP origen de nuestra víctima y los servicios contestar con paquetes mucho más grandes, un ejemplo de ello: el ataque Smurf.
Josué...error en línea 4 es "src_" en lugar de "srcp_"
ResponderEliminarCierto Héctor, meti una p de más. Gracias por el aviso!
EliminarInteresante la entrada, me gusto tu blog - me seguiré pasando
ResponderEliminar