01 junio, 2012

Capturar tráfico de red con Wireshark dirigido a un equipo remoto de una misma red (rpcapd)

Si estamos en una red local y queremos capturar y analizar todo el tráfico de datos que vaya dirigido a otro equipo de nuestra red, lo podremos hacer de manera remota.
Con la utilidad de rpcapd.exe (documento de ayuda rpcapd) que está incorporado en las librerías de WinPcap y que nos permitirá capturar tráfico remoto que vaya dirigidos a otros hosts de la red. 

Lo primero que hay que hacer es instalar WinPcap en el equipo remoto. Desgraciadamente no existe una forma "silenciosa" para instalar esto de forma subyacente al usuario final. Y desde la Web oficial los desarrolladores comentan en que no habrá opción para esta tarea por problemas de compatibilidades de software. Por lo que tendremos que instalarlo manualmente en el equipo remoto con la GUI de instalación de WinPcap.

Después, haciendo uso de PsExec inlcuido en la suite de PsTools.
Ejecutamos una CMD remota, escribiendo esto desde nuestra CMD local:
psexec \\EquipoRemoto -u UserAdmin -p Password cmd.exe
Donde:
EquipoRemoto: es el nombre o IP del equipo remoto al que nos queremos conectar.
UserAdmin: sería un usuario con privilegios de administrador.
Password: es la contraseña del usuario UserAdmin.

En el PC remoto en el que queremos capturar el tráfico de datos que va dirigido hacia este, tendremos que activar el servicio rpcapd. Para ello abrimos una shell de Windows, nos vamos al path donde está instalado WinPcap y escribimos:
rpcapd.exe -n -p 30000
Elegí el puerto 30000, pero podría ser otro cualquiera el cual sepamos que está libre y a que, por estandar, no sea de uso específico de algún protocolo.

Figura 1: Redirigiendo el tráfico al puerto 30000 para el servicio rpcapd de WinPcap.

Con rpcapd corriendo sobre el equipo en el que queremos capturar su tráfico, iniciamos Wireshark en el equipo que queremos ver el tráfico capturado.

En Wireshark configuramos nuestro adaptador de red para ello, nos vamos a: Capture -> Options
Seleccionamos la interface y la podremos en modo "Remote...". a continuación, se nos abrirá otra ventana en la que indicaremos la dirección IP y el puerto lógico donde queramos establecer la conexión (en este caso era el 30000).
Seguro que en el equipo remoto nos preguntará si queremos abrir este puerto en el Firewall de Windows, logicamente lo desbloqueamos para abrir dicho puerto.


Figura 2: Interface en remote para escuchar el tráfico por el puerto 30000 al host remoto.

Pulsamos en OK y Start y listo. Ahora recebiremos todo el tráfico que vaya dirigido hacia el host: 10.0.0.4
Esto es válido tanto para redes cableadas como para señales Wireless.

Podremos comprobar en el equipo remoto que realmente el puerto 30000 está establecido "Established".
Simplemente comprobando el estado de puertos con: netstat -a
En este caso se muestra un Windows XP, entre las pruebas que realizé, pero esto no influye sea un Windows XP/Vista o 7.


Figura 3: Comprobamos que la conexión entre puertos está establecida entre el host remoto y mi equipo local.

Saludos!

No hay comentarios:

Publicar un comentario

Entradas Relacionadas