PDA

Ver la versión completa : GetMSNIPs: Obtener dirección IP de contactos Messenger



LUK
24-10-2011, 12:07
El mes pasado, nuestro compañero del SOCtano Thor publicó una herramienta destinada a obtener la dirección IP de los contactos que uno tiene añadidos al Messenger (http://el-blog-de-thor.blogspot.com/2011/09/como-conseguir-la-ip-de-tus-contactos.html) sin necesidad de enviar o recibir un fichero, tal y como se dice en muchos foros.

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".


http://1.bp.blogspot.com/-p4RD9X4Up-8/TqUPAc7QYHI/AAAAAAAAIq4/lW7EnFRceGY/s1600/GetMSNIPs_1.png (http://1.bp.blogspot.com/-p4RD9X4Up-8/TqUPAc7QYHI/AAAAAAAAIq4/lW7EnFRceGY/s1600/GetMSNIPs_1.png)
Figura 1: Análisis de conexiones de wlcomm al inicio

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.


http://3.bp.blogspot.com/-phC6G6WQJK0/TqUPA5_2rLI/AAAAAAAAIq8/zRSIBwABcBQ/s1600/GetMSNIPs_2.png (http://3.bp.blogspot.com/-phC6G6WQJK0/TqUPA5_2rLI/AAAAAAAAIq8/zRSIBwABcBQ/s1600/GetMSNIPs_2.png)
Figura 2: Análisis de conexiones en una conversación

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.


http://1.bp.blogspot.com/-zmd3rlGkQ34/TqUPBbc8JWI/AAAAAAAAIrI/mpSucanGAgc/s1600/GetMSNIPs_3.png (http://1.bp.blogspot.com/-zmd3rlGkQ34/TqUPBbc8JWI/AAAAAAAAIrI/mpSucanGAgc/s1600/GetMSNIPs_3.png)
Figura 3: Paquetes filtrados con msnms en Wireshark

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.


http://1.bp.blogspot.com/-_x4-RftKKcs/TqUPB9cPd3I/AAAAAAAAIrM/Bqfg7JfU8Kg/s1600/GetMSNIPs_4.png (http://1.bp.blogspot.com/-_x4-RftKKcs/TqUPB9cPd3I/AAAAAAAAIrM/Bqfg7JfU8Kg/s1600/GetMSNIPs_4.png)
Figura 4: Direcciones IP de la conversación en el paquete de red

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.

Con toda esta información es posible hacer un filtro en Wireshark para descubrir los contactos y sus direcciones internas y externas en un momento dado de la conexión, y es esa info la que ha automatizado nuestro amigo Thor en la herramienta GetMSNIPs.

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.


http://2.bp.blogspot.com/-nSiuuIsxOW4/TqUPC6q5zkI/AAAAAAAAIrY/yuIVjpEfoF4/s1600/GetMSNIPs_5.png (http://2.bp.blogspot.com/-nSiuuIsxOW4/TqUPC6q5zkI/AAAAAAAAIrY/yuIVjpEfoF4/s1600/GetMSNIPs_5.png)
Figura 5: Salida por pantalla de GetMSNIPs

Puedes descargar la herramienta y el código fuente directamente desde el siguiente enlace: GetMSNIPs (http://www.multiupload.com/MNEN41A8RQ)

Saludos Malignos! @ http://www.elladodelmal.com/2011/10/getmsnips-obtener-direccion-ip-de.html

4v7n42
24-10-2011, 16:40
Habrá que probarlo :D

Eureka
25-10-2011, 04:45
ya alguien lo probo?

4v7n42
25-10-2011, 05:30
ya alguien lo probo?

Si, hasta ahora sin éxito, con la ultima versión de Winpcap. Mañana me fijo bien que pasa y de ultima lo hago del modo manual a ver que falla.