Foro de elhacker.net

Seguridad Informática => Hacking => Mensaje iniciado por: ameise_1987 en 21 Noviembre 2012, 19:58 pm



Título: problemas al inyectar paquetes con scapy en una conexion UDP
Publicado por: ameise_1987 en 21 Noviembre 2012, 19:58 pm
hola, estoy intentando realizar unas pruebas de concepto en local con netcat y con scapy, el escenario es el siguiente.

pongo el netcat a la escucha en el puerto 34098 esperando paquetes UDP.

nc -vv -l -u 34098

ahora con scapy creo un paquete ip y otro udp

capa_ip=IP(src='127.0.0.1',dst='127.0.0.1')
capa_udp=UDP(sport=20343,dport=34098)
datos="esto es una prueba!!"
send(capa_ip/capa_udp/datos)


envio el paquete generado por scapy y no pasa nada, netcat al parecer no lo toma en cuenta, ya que he revizado el paquete con 'ngrep' y envia los datos correctamente, tambien he echo la prueba con 2 netcat uno a la escucha y el otro conectandose, y resulta que antes de entablar una conexion el cliente envia 5 paquetes con el caracter 'X' y luego aparece conectado, entonces intente emular esta accion con scapy y aun asi no pasa nada.

alguien tiene alguna idea de lo que podria ser??


Título: Re: problemas al inyectar paquetes con scapy en una conexion UDP
Publicado por: soyloqbuskas en 22 Noviembre 2012, 23:42 pm
¡Buenas ameise_1987!

Creo que tu problema esta en esta linea:
Citar
send(capa_ip/capa_udp/datos)

Por lo que he leido en esta web: http://crysol.org/es/node/540 (http://crysol.org/es/node/540) la funcion send() envia paquetes de la capa de transporte, y deberias usar la funcion sendp() para enviar los datos de la capa de enlace.

Un saludo.


Título: Re: problemas al inyectar paquetes con scapy en una conexion UDP
Publicado por: ameise_1987 en 23 Noviembre 2012, 05:18 am
¡Buenas ameise_1987!

Creo que tu problema esta en esta linea:
Por lo que he leido en esta web: http://crysol.org/es/node/540 (http://crysol.org/es/node/540) la funcion send() envia paquetes de la capa de transporte, y deberias usar la funcion sendp() para enviar los datos de la capa de enlace.

Un saludo.

gracias por la respuesta y por el tutorial, pero al parece no es es el problema, ya que estoy trabajando con la capa 3 y 4 de modelo osi , red y transporte respectivamente, por ende no necesito la capa de enlace que en realidad la genera scapy :p , quizas exista una proteccion en el kernel que me impida inyectar trafico, desconozco completamente si es asi.

tengo la version 3.4.9 del kernel(como han avanzado  ;-)  ;-)  ;-) ), nose si exista lo que dije anteriormente, de todos modos gracias :D .



Título: Re: problemas al inyectar paquetes con scapy en una conexion UDP
Publicado por: Forest-Mortum en 11 Enero 2013, 19:46 pm
hola.
mira has lo siguiente
---------------------------------
nc -vv -u -l -p 34098  // te falto el -p  indica el puerto a abrir

//crear paquete

capa_ip=IP(dst="127.0.0.1") // no es necesario el src
capa_udp=UDP(sport=20343,dport=34098)
datos="esto es una prueba!!"
paquete=capa_ip/capa_udp/datos  // aca unes todos los paquetes con "/"
send(paquete)  // de esta forma queda mas ordenado


Saludos.


Título: Re: problemas al inyectar paquetes con scapy en una conexion UDP
Publicado por: ameise_1987 en 11 Enero 2013, 20:33 pm
gracias man, pero ese no es el problema creo que hay otras cosas que debemos tomar en cuenta como el IPID y además que el netcat si te fijas con tcpdump, genera mal el checksum, por lo menos eso pasa en el "nc.traditional", y quizás que otras cosillas mas debemos tomar en cuenta.