Foro de elhacker.net

Seguridad Informática => Hacking => Mensaje iniciado por: urcamana en 8 Mayo 2012, 06:02 am



Título: injectar paquete tcp en puerto utilizado por un proceso
Publicado por: urcamana en 8 Mayo 2012, 06:02 am
Hola, soy nuevo... Es mi primer pregunta espero que puedan ayudarme:
Estoy intentando mandar un paquete de datos por un puerto TCP (66378) con el "vsniffer portable" y este puerto esta siendo utilizado por un proceso en mi pc, pero no deberia cerrarlo, lo necesito en ejecucion... tampoco es la solucion cambiar el puerto a ninguno de los 2 programas (ni el vsniffer ni el otro proceso).
Mi idea es algo como una especie de injeccion de datos en ese puerto sin cerrar el proceso... ¿es posible? ¿se puede utilizar el mismo puerto para los 2 procesos simultaneamente? ¿o hay alguna forma?
por las dudas si no me explique bien:
un proceso en mi pc envia y recibe paquetes TCP con su servidor (y por lo que veo los paquetes no estan cifrados ya que puedo leer los caractereas ASCI con claridad y es algo legible) lo que me gustaria es mandar datos con el vsniffer haciendome pasar por este proceso. Siempre utilizando el puerto TCP (66378) en los 2 programas simultaneamente... ¿ALGUNA IDEA? estuve leyendo y averiguando mucho y no me salio nada hasta ahora
Desde ya muchas gracias!


Título: Re: injectar paquete tcp en puerto utilizado por un proceso
Publicado por: adastra en 8 Mayo 2012, 13:05 pm
Si, envialo utilizando Scapy.

>>>ans, unans=sr(IP(src="direccion-origen", dst="direccion-destino")/TCP(dport=<puerto-destino>, sport=66378));
>>>ans.show();

Con las lineas anteriores desde el interprete de Scapy, podras enviar tu paquete utilizando el puerto 66378 como origen, en realidad puedes especificar cualquier puerto, aunque dicho puerto este siendo utilizado en tu máquina local, el paquete es enviado por Scapy y el destinatario lo va a recibir con los campos que le incluyas.


Título: Re: injectar paquete tcp en puerto utilizado por un proceso
Publicado por: Breixo en 8 Mayo 2012, 15:04 pm
También puedes utilizar esta herramienta, es estilo scapy pero con interfaz gráfica. http://xonet.sourceforge.net/ (http://xonet.sourceforge.net/)


Título: Re: injectar paquete tcp en puerto utilizado por un proceso
Publicado por: adastra en 8 Mayo 2012, 15:28 pm
También puedes utilizar esta herramienta, es estilo scapy pero con interfaz gráfica. http://xonet.sourceforge.net/ (http://xonet.sourceforge.net/)
Si, tambien es otra muy buena opción.


Título: Re: injectar paquete tcp en puerto utilizado por un proceso
Publicado por: urcamana en 9 Mayo 2012, 00:21 am
MUCHISIMAS GRACIAS BREIXO Y ADASTRA POR SU RESPUESTA... VOY A VER QUE PASA... EN REALIDAD TENGO WINDOWS Y NECESITO HACERLO DESDE WINDOWS, Y ESOS PROGRAMAS SON DE LINUX PERO VEMOS QUE PASA... SI RESUELVO LES AVISO XD


Título: Re: injectar paquete tcp en puerto utilizado por un proceso
Publicado por: urcamana en 10 Mayo 2012, 01:05 am
no encontre forma de usar esos programas en windows... intente con "scapy" con "xonet" en windows usando estos programas "OPENLINA" y "ANDLINUX" no tuve ningun resultado al momento de mandar el paquete, no los manda...

Si alguien conoce un programa parecido al SCAPY o XONET pero que sean para windows (32 o 64 bits, no hay problema) como por ejemplo VSNIFER,  SMSNIFF, NSNIFER, WIRESHARK o ETHEREAL por favor que me diga! desde ya muchas gracias a todos!


Título: Re: injectar paquete tcp en puerto utilizado por un proceso
Publicado por: Breixo en 10 Mayo 2012, 01:48 am
Quizás puedas con hping http://www.hping.org/ (http://www.hping.org/), nunca lo he usado pero me suena que son las librerías que utiliza nmap para crear los paquetes.


Título: Re: injectar paquete tcp en puerto utilizado por un proceso
Publicado por: adastra en 10 Mayo 2012, 01:49 am
Tienes Python para windows. Seguro que funciona con scapy.


Título: Re: injectar paquete tcp en puerto utilizado por un proceso
Publicado por: toxeek en 10 Mayo 2012, 13:57 pm
Hmm..

y que pasa con los sequence numbers?! No viene mal leer algo sobre como TCP maneja el flow de datos ! si TCP ve un paquete que no pertenece a la conexion actual lo descartara?



Título: Re: injectar paquete tcp en puerto utilizado por un proceso
Publicado por: adastra en 10 Mayo 2012, 15:32 pm
Hmm..

y que pasa con los sequence numbers?! No viene mal leer algo sobre como TCP maneja el flow de datos ! si TCP ve un paquete que no pertenece a la conexion actual lo descartara?


En el caso de que en una misma sesión entre un emisor y un destinatario, el emisor reciba un paquete cuyo sequence number no corresponde con el esperado, el destinatario responderá con un paquete RST (reset). Los sequence numbers existen para ayudar a "garantizar" la integridad, la consistencia y sobre todo el orden de los paquetes intercambiados en una sesión determinada (ademas de ser vitales cuando se utiliza fragmentación de paquetes) , en este caso concreto no se habla de inyectar paquetes en una sesión existe, sino de crear una nueva, solamente que desde el emisor se utiliza el mismo sport, pero en el modelo de referencia TCP, se identifican como dos sesiones distintas.
Si, tienes razón, no viene mal leer sobre como funciona TCP/IP.  :laugh: :laugh: :laugh:


Título: Re: injectar paquete tcp en puerto utilizado por un proceso
Publicado por: toxeek en 10 Mayo 2012, 16:04 pm
El termino enyeccion no es apropiado entonces amigo?

De todas maneras saludos gente !!


Título: Re: injectar paquete tcp en puerto utilizado por un proceso
Publicado por: toxeek en 10 Mayo 2012, 17:54 pm
Aunque podria tomarse como inyeccion en la Red o algo ..

Hmm .. Siempre utilizando el puerto TCP (66378) ?

yo crei que eran 16 bits ??! 65535 .. ?


Título: Re: injectar paquete tcp en puerto utilizado por un proceso
Publicado por: adastra en 10 Mayo 2012, 20:53 pm
Aunque podria tomarse como inyeccion en la Red o algo ..

Hmm .. Siempre utilizando el puerto TCP (66378) ?

yo crei que eran 16 bits ??! 65535 .. ?
Si, seguramente se le habra ido un numero de más...  :silbar:


Título: Re: injectar paquete tcp en puerto utilizado por un proceso
Publicado por: urcamana en 11 Mayo 2012, 10:15 am
Quizás puedas con hping http://www.hping.org/ (http://www.hping.org/), nunca lo he usado pero me suena que son las librerías que utiliza nmap para crear los paquetes.
encontre un programa para editar paquetes... se llama CAPSA 7  tambien tiene para enviar los paquetes... muy bueno. GRACIAS POR LA DATA LO VOY A REVISAR A VER QUE TAL ES ESE!

Hmm..

y que pasa con los sequence numbers?! No viene mal leer algo sobre como TCP maneja el flow de datos ! si TCP ve un paquete que no pertenece a la conexion actual lo descartara?


este programa o el wireshark te dan datos sobre los sequence number XD es cuestion de interpretarlos un poco y ver si funciona, que se yo... uno de los dos (aunque no recuerdo cual dice "next sequence number" en el paquete que se recibe... XD yo hasta ahora estoy probando con los flags y todos esos datos... es cuestion de armar correctamente el paquete :D

Aunque podria tomarse como inyeccion en la Red o algo ..

Hmm .. Siempre utilizando el puerto TCP (66378) ?

yo crei que eran 16 bits ??! 65535 .. ?

sisi perdon es otro puerto (encima me equivoque mas de una vez) pero de vez en cuando me lo cambia de numero al puerto y pone otro... al parecer es aleatorio el que usa el proceso cada vez q lo reinicio... asi q el puerto no tiene importancia.



-----------------------------------------------

Bueno Gracias por las respuestas a todos, encontre miles de programas en el camino  pero a mi parecer me quedo con una compilacion de estos para interpretar  los datos de manera mas facil para mi...
los que use son...

- SMARTSNIFF
- VSNIFF
- WIRESHARK
- CAPSA 7 ENTERPRISE (que incluye dentro del mismo "COLASOFT PACKET BUILDER" y "COLASOFT PACKET PLAYER")

ASI QUE GRACIAS A TODOS! PUDE LOGRAR LO QUE NECESITABA AHORA SOLO EXPLORARE UN PAR DE COSAS MAS CON ESTO DE LA INJECCION DE PAQUETES...
AL FIN PUDE MANDAR UN PAQUETE Y OBTUVE RESPUESTA XD
GRACIAS!