jueves, 8 de marzo de 2012

Ver IP de nuestros contactos del messenger

¿Como obtener el IP de nuestros contactos añadidos en el messenger?
La idea es hacer uso de la negociación de las condiciones de red, tales como direcciones IP, arquitectura de conexión (NAT, UPnP, etc..) que se utilizan en la negociación del protocolo P2P que usa MSN.
Si se analizan todas las conversaciones que se producen, se verá que no es necesario iniciar la transferencia de ficheros, ya que, por ejemplo, el envío de avatares, imágenes e incluso las conversaciones en algunos entornos, funcionan con conexiones directas entre los contactos.




Explicación manual de la idea

Así, manualmente, uno puede monitorizar el proceso de comunicación que utiliza Messenger, que se llama wlcomm.exe y ver con quién establece las comunicaciones. Así, en un rápido ejemplo, primero se localiza el ID del proceso en nuestro sistema (con el administrador de tareas) y luego miramos qué conexiones de red están activas con él. En este caso, se hace nada más inicar una sesión Messenger, con lo que solo estará la conexión con los servidores Microsoft.

Para ello se hace uso del comando

 tasklist | find "wlcomm.exe"

 que permite encontrar el PID del proceso y luego se filtra con él la salida de netstat para ver solo las conexiones que realiza dicho proceso (requiere permisos de administrador):

  netstat -nabo | find "PID_ENCONTRADO"




Ahora, si se hace uso del truco de enviar un emoticono personalizado a un contacto, se estará forzando el  envío de un fichero por debajo, lo que lanzará que el sistema negocie la conexión P2P entre ambos clientes, permitiendo descubrir la dirección IP del contacto. Para ser menos sospechoso, un emoticono con un gif transparente y listo. Si repetimos el proceso aparece la IP del contacto.





Análisis con Wireshark


Sí el tráfico generado en la conversación se graba con Wireshark y se analiza con el filtro que ofrece esta herramienta para el protocolo de Messenger, que se llama msnms, se pueden ver los paquetes generados en la transferencia del avatar.


Viendo el contenido de ellos, es posible descubrir las direcciones IP de la conexión y el nombre del contacto que se encuentra en el extremo de la conexión, ya que se aparece en el campo FROM.





Lo curioso es que en ese paquete también aparece la dirección interna del cliente de Messenger. ¿Por qué? Pues porque si dos contactos comparten la misma dirección externa y están en el mismo segmento de red, la negociación P2P se intenta hacer directamente por la LAN, sin pasar por Internet, lo que alguna vez generaba errores de conexión en situaciones en las que había conversaciones múltiples con contactos locales y remotos.

Descubrir las direcciones IP de todos tus contactos conectados con GetMSNIPs

El funcionamiento es sencillo, pero requiere la instalación previa de WinPcap.

Una vez instalado, se arranca GetMSNIPs para luego iniciar una conversación con Messenger.

Entonces se debe poner un nuevo avatar, distinto, que no haya sido utilizado antes.

Después, esperar o forzar el inicio de una conversación con algún contacto que interese. El resto se irá viendo por pantalla.


Herramientas
****************************************************************
****************************************************************

0 comentarios:

Publicar un comentario

Ahora estamos en www.adminpc.org

Twitter Delicious Facebook Digg Stumbleupon Favorites More