Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Winshark — Un plugin de Wireshark para instrumentar ETW | Kitploit
Herramientas/GitHubGitHub/airbus-cert/winshark
Sniffing y Análisis de PaquetesAnálisis ForenseSeguridad de RedesAnálisis de Registros
GitHubairbus-cert/winshark

Winshark

Un plugin de Wireshark para instrumentar ETW

Ver Repositorio
59360hace 4 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Winshark

Wireshark plugin para trabajar con Event Tracing for Windows

Microsoft Message Analyzer está siendo retirado y sus paquetes de descarga fueron eliminados de los sitios microsoft.com el 25 de noviembre de 2019. Wireshark ha construido una enorme biblioteca de disectores de protocolos de red. La mejor herramienta para Windows sería aquella que pueda recopilar y mezclar todo tipo de registros...

¡¡¡Bienvenido Winshark!!!

Winshark se basa en un backend libpcap para capturar ETW (Event Tracing for Windows), y un generador que producirá todos los disectores para los proveedores ETW conocidos en su máquina. Hemos añadido soporte para Tracelogging para cubrir casi todas las técnicas de registro en el sistema operativo Windows.

Con Winshark y el poder de Windows, ahora podemos capturar registros de red y eventos en la misma herramienta. Windows expone muchos proveedores ETW, en particular uno para captura de red ;-) Ya no es necesario un controlador NDIS externo.

Esto es una gran mejora en términos de uso:

  • Permite mezclar todo tipo de eventos (sistema y red)
  • Permite usar el filtrado de Wireshark en los registros de eventos
  • Permite rastrear registros de red y sistema por ID de proceso!!!
  • Permite capturar registros de Windows y trazas de red en un único archivo pcap!!!
  • Captura NamedPipe a través del controlador de filtro del sistema de archivos NpEtw

Si quieres:

  • Capturar tráfico de red con Winshark
  • Filtrar por ID de proceso
  • Capturar tráfico NamedPipe

Instalación

Por favor, instala Wireshark antes. Luego simplemente instala Winshark.

Actualmente, tienes que pedirle a Wireshark que interprete el DLT_USER 147 como ETW. Esto se debe a que aún no tienes un valor real de libpcap para nuestro nuevo enlace de datos. Realizamos una solicitud de extracción para tener un valor DLT dedicado; todavía está pendiente. Para hacerlo, debes abrir la pestaña Preferencias bajo el panel Editar. Selecciona DLT_USER bajo Protocolos y Editar la tabla de encapsulaciones:

DLT_USER configuration

Y configura winshark para DLT = 147 :

DLT 147 set to ETW protocol

¡Disfruta!

Compilación

Winshark funciona con cmake:

root@kitploit:~
git clone https://github.com/airbus-cert/winshark --recursive
mkdir build_winshark
cd build_winshark
cmake ..\Winshark
cmake --build . --target package --config release

Cómo funciona

Para entender mejor cómo funciona Winshark, primero debemos entender cómo funciona ETW.

ETW se divide en tres partes:

  • Un proveedor que emitirá registros y se identifica por un ID único
  • Una sesión que mezclará uno o más proveedores
  • Un consumidor que leerá los registros emitidos por una sesión

Proveedor

Hay muchos tipos diferentes de proveedores. Los más comunes y utilizables son los proveedores registrados. Un proveedor registrado, o proveedor basado en manifiesto, se registra bajo la clave de registro HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Publishers. Esto establece el vínculo entre un ID de proveedor y un dll. El manifiesto está incluido en el dll asociado en un recurso llamado WEVT_TEMPLATE.

Puedes listar todos los proveedores registrados en tu máquina usando logman:

root@kitploit:~
logman query providers

También puedes listar todos los proveedores vinculados a un proceso particular:

root@kitploit:~
logman query providers -pid 1234

Algunos de ellos pueden aparecer sin nombre; estos tipos de proveedores pueden producir registros WPP o TraceLogging.

Sesión

Las sesiones se crean para recopilar registros de más de un proveedor. Puedes crear tu propia sesión usando logman:

root@kitploit:~
logman start Mysession -p "Microsoft-Windows-RemoteDesktopServices-RdpCoreTS" -ets -rt
logman update MySession -p "Microsoft-Windows-NDIS-PacketCapture" -ets -rt

Puedes listar todas las sesiones activas desde una línea de comandos de administrador:

root@kitploit:~
logman query -ets

Data Collector Set                      Type                          Status
-------------------------------------------------------------------------------
...
EventLog-Application                    Trace                         Running
EventLog-Microsoft-Windows-Sysmon-Operational Trace                         Running
EventLog-System                         Trace                         Running
...
The command completed successfully.

Puedes ver aquí algunas sesiones interesantes utilizadas por el registrador de eventos para capturar registros de las sesiones de Aplicación y Sistema y de Sysmon.

Consumidor

Un consumidor es un programa simple que leerá registros de una sesión. Los consumidores más conocidos son:

  • Registrador de eventos
  • logman
  • netsh
  • tracert

Y ahora Winshark!!! Winshark es un simple consumidor ETW. El consumidor real subyacente es libpcap, (wpcap.dll para Windows) que es usado por dumpcap.exe, que es el proceso encargado de la captura de paquetes.

Wireshark

Wireshark se divide en tres partes (sí, él también):

  • Wireshark.exe que se encarga de analizar y disecar protocolos
  • dumpcap.exe que se encarga de capturar paquetes
  • libpcap (wpcap.dll) que se encarga de la interfaz entre dumpcap.exe y el sistema operativo

Winshark tiene lugar en la primera y última parte. Implementa un backend para libpcap para capturar eventos ETW. Winshark funciona sobre sesiones ETW, por eso puedes seleccionar una sesión ETW en lugar de la interfaz de red al inicio de la captura. Luego Winshark genera disectores lua para cada proveedor basado en manifiesto registrado en tu computadora, durante el paso de instalación. Winshark también es capaz de analizar proveedores basados en tracelogging.

Capturar tráfico de red

Para capturar tráfico de red usando Winshark, puedes usar dos formas simples:

pktmon (Monitor de paquetes)

pktmon es una herramienta de diagnóstico de red integrada y entre componentes para Windows. Se puede usar para captura de paquetes, detección de pérdida de paquetes, filtrado y conteo de paquetes (compatible desde RS5)

(https://docs.microsoft.com/en-us/windows-server/networking/technologies/pktmon/pktmon)

root@kitploit:~
pktmon start -c -m real-mode

puedes ejecutar pktmon -h para más opciones (como administrador)

Por ejemplo: Agregar un filtro para paquetes

root@kitploit:~
pktmon filter add -t icmp
pktmon filter add -t tcp -p 80

Luego lanza Wireshark con privilegios de administrador y selecciona la interfaz Pktmon: ETW interface selection

Eso iniciará la captura de paquetes:

ETW packet capture

netsh trace

root@kitploit:~
netsh.exe trace start capture=yes report=no correlation=no

Y luego crea una sesión ETW asociada con el proveedor Microsoft-Windows-NDIS-PacketCapture:

root@kitploit:~
logman start Winshark-PacketCapture -p "Microsoft-Windows-NDIS-PacketCapture" -rt -ets

Luego lanza Wireshark con privilegios de administrador y selecciona la interfaz Winshark-PacketCapture:

ETW interface selection

Eso iniciará la captura de paquetes:

ETW packet capture

Filtrar por ID de proceso

ETW marca cada paquete con un encabezado que establece algunos metadatos sobre el remitente. Uno de estos es el ID de proceso del emisor. Esta es una gran mejora respecto a una captura clásica de paquetes desde un controlador NDIS. Simplemente llena el campo de filtro de Wireshark con la siguiente expresión:

root@kitploit:~
winshark.header.ProcessId == 1234

ETW packet capture

Capturar NamedPipe

@kobykahane proporciona un controlador de filtro del sistema de archivos que emite un ETW por cada acción realizada en un NamedPipe.

Instalación

  • Pasar la verificación de firma del controlador en modo de prueba
root@kitploit:~
bcdedit /set testsigning on
  • Instalar NpEtwSetup.msi
  • Reiniciar
  • Actualizar el disector de Winshark haciendo doble clic en C:\Program Files\Wireshark\WinsharkUpdate.bat con derechos de Administrador

Captura

  • Abrir cmd.exe en modo Administrador
  • Iniciar el controlador
root@kitploit:~
sc start NpEtw
  • Crear una sesión ETW
root@kitploit:~
logman start namedpipe -p NpEtw -ets -rt
  • Iniciar Wireshark y seleccionar la sesión namedpipe. ¡Disfruta!

ETW namedpipe capture

SSTIC (Symposium sobre seguridad de las tecnologías de la información y las comunicaciones)

Este proyecto es parte de una presentación realizada para SSTIC

Descargar herramienta