Durante la fase de post-explotación en una intrusión, tras conseguir una shell en un equipo, uno de los pasos para seguir ganando acceso a otras máquinas o dispositivos de networking es esnifar tráfico. Simplemente escuchando el tráfico que pasa por dicha máquina, aunque la misma se encuentre en un entorno conmutado, puede darnos información muy útil sobre la topología de red en la que se encuentra o las posibles vulnerabilidades que podremos explotar más adelante: nombres netbios, users/passwords en claro, paquetes ARP, CDP, DHCP, HSRP, VRRP, etc.
Para escuchar tráfico desde una shell, sin embargo, tendremos que hacer uso de herramientas externas que deberemos descargar y ejecutar en el equipo comprometido. Una buena elección es rawcap la cual permite capturar paquetes sin apoyarse en drivers de captura como WinPcap (librería libpcap para Windows utilizada por multitud de herramientas de análisis de tráfico).
Otra opción es utilizar Meterpreter desde donde podremos apoyarnos en módulos de captura sin necesidad de tocar disco. Meterpreter cuenta para ello con la extensión sniffer o el módulo packetrecorder de @Carlos_Perez aka Darkoperator, los cuales permiten generar y guardar en local el fichero pcap con el tráfico capturado.
Como una alternativa más a estas dos opciones, he creado un pequeño módulo (rpcapd_start) que permite activar el servicio rpcapd para poder capturar tráfico remotamente. No es extraño encontrarse con equipos de usuario, incluso servidores Windows, que tengan instalado WinPcap así que, que mejor forma de obtener tráfico que utilizando dicho servicio de forma remota. Como ventaja adicional no dependeremos de la sesión de meterpreter, ya que una vez activado, podremos capturar tráfico con cualquier software que soporte rpcap.
La instalación de WinPcap creará un nuevo servicio llamado rpcapd aunque el mismo se encuentra inactivo por defecto.
El módulo únicamente activará rpcapd, especificando el puerto y el modo de funcionamiento (activo o pasivo). Podremos elegir también si queremos autenticación o no.
Ya que lo más probable es que el equipo esté nateado tras un router o firewall, en la práctica, el modo más útil será el activo, en donde la máquina comprometida será la que se conecte a nosotros.
Tras levantar el servicio y en el caso de utilizar una conexión pasiva (como en el ejemplo) se añadirá una nueva regla en el Firewall de Windows bajo el nombre “Windows Service” para permitir el tráfico entrante.
Posteriormente podremos conectarnos a la máquina desde cualquier herramienta que soporte rpcap y empezar a capturar tráfico.
El módulo está ya incluido en Metasploit así que bastará con actualizarlo para su descarga