Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Winshark — Um plugin do Wireshark para instrumentar ETW | Kitploit
Ferramentas/GitHubGitHub/airbus-cert/winshark
Sniffing e Análise de PacotesAnálise ForenseSegurança de RedeAnálise de Logs
GitHubairbus-cert/winshark

Winshark

Um plugin do Wireshark para instrumentar ETW

Ver Repositório
59360há 4 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Winshark

Plugin Wireshark para trabalhar com Event Tracing for Windows

Microsoft Message Analyzer está sendo aposentado e seus pacotes de download foram removidos dos sites da microsoft.com em 25 de novembro de 2019. O Wireshark construiu uma enorme biblioteca de dissecadores de protocolos de rede. A melhor ferramenta para Windows seria aquela que pudesse coletar e misturar todos os tipos de logs...

Bem-vindo Winshark!!!

Winshark é baseado em um backend libpcap para capturar ETW (Event Tracing for Windows) e um gerador que produzirá todos os dissecadores para provedores ETW conhecidos em sua máquina. Adicionamos suporte a Tracelogging para cobrir quase todas as técnicas de log no Sistema Operacional Windows.

Com o Winshark e o poder do Windows, agora podemos capturar logs de Rede e Eventos na mesma ferramenta. O Windows expõe muitos provedores ETW, em particular um para captura de rede ;-) Não há mais necessidade de um driver NDIS externo.

Esta é uma enorme melhoria em termos de uso:

  • Permite misturar todos os tipos de eventos (sistema e rede)
  • Permite usar a filtragem do Wireshark no log de eventos
  • Permite rastrear logs de rede e sistema por ID do Processo!!!
  • Permite capturar log do Windows e rastreio de rede em um único arquivo pcap!!!
  • Capturar NamedPipe através do driver de filtro do sistema de arquivos NpEtw

Se você quiser:

  • Capturar Tráfego de Rede Usando Winshark
  • Filtrar por ID do Processo
  • Capturar Tráfego NamedPipe

Instalar

Por favor, instale o Wireshark antes. Depois, instale o Winshark.

Atualmente, você precisa pedir ao Wireshark para interpretar o DLT_USER 147 como ETW. Isso porque você ainda não tem um valor verdadeiro do libpcap para nosso novo Data Link. Enviamos um pull request para ter um valor DLT dedicado; ainda está pendente. Para fazer isso, você precisa abrir a aba Preferences no painel Edit. Selecione DLT_USER em Protocols e Edit a tabela de encapsulamentos:

Configuração DLT_USER

E defina winshark para DLT = 147:

DLT 147 definido para protocolo ETW

Aproveite!

Compilar

Winshark é alimentado por 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

Como funciona

Para entender melhor como o Winshark funciona, precisamos primeiro entender como o ETW funciona.

ETW é dividido em três partes:

  • Um Provider que emitirá logs e é identificado por um ID único
  • Uma Session que misturará um ou mais providers
  • Um Consumer que lerá os logs emitidos por uma session

Provider

Existem muitos tipos diferentes de providers. Os mais comuns e utilizáveis são os providers registrados. Um provider registrado, ou provider baseado em manifesto, é registrado na chave de registro HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Publishers. Isso faz a ligação entre um provider ID e uma dll. O manifesto está contido na dll associada em um recurso chamado WEVT_TEMPLATE.

Você pode listar todos os providers registrados em sua máquina usando logman:

root@kitploit:~
logman query providers

Você também pode listar todos os providers vinculados a um processo específico:

root@kitploit:~
logman query providers -pid 1234

Alguns deles podem aparecer sem nome; esses tipos de providers podem produzir logs WPP ou TraceLogging.

Session

Sessões são criadas para coletar logs de mais de um provider. Você pode criar sua própria sessão usando logman:

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

Você pode listar todas as sessões ativas a partir de uma linha de comando 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.

Você pode ver aqui algumas sessões interessantes usadas pelo registrador de eventos para capturar logs das sessões Application e System e do Sysmon.

Consumer

Um consumer é um programa simples que lerá logs de uma sessão. Consumers conhecidos são:

  • Event Logger
  • logman
  • netsh
  • tracert

E agora Winshark!!! Winshark é um consumidor ETW simples. O consumidor subjacente real é libpcap, (wpcap.dll para Windows), que é usado pelo dumpcap.exe, que é o processo responsável pela captura de pacotes.

Wireshark

Wireshark é dividido em três partes (sim, ele também):

  • Wireshark.exe que é responsável por analisar e dissecar protocolos
  • dumpcap.exe que é responsável por capturar pacotes
  • libpcap (wpcap.dll) que é responsável pela interface entre dumpcap.exe e o Sistema Operacional

Winshark atua na primeira e na última partes. Ele implementa um backend para libpcap capturar eventos ETW. Winshark funciona em sessões ETW, é por isso que você pode selecionar uma sessão ETW no lugar da interface de rede no início da captura. Em seguida, Winshark gera dissecadores lua para cada provider baseado em manifesto registrado em seu computador, durante a etapa de instalação. Winshark também é capaz de analisar providers baseados em tracelogging.

Capturar tráfego de rede

Para capturar tráfego de rede usando Winshark, você pode usar duas maneiras simples:

pktmon (Monitor de Pacotes)

pktmon é uma ferramenta de diagnóstico de rede integrada e entre componentes para Windows. Pode ser usada para captura de pacotes, detecção de queda de pacotes, filtragem e contagem de pacotes (suportado a partir do RS5)

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

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

você pode executar pktmon -h para mais opções (como administrador)

Por exemplo: Adicione um filtro para pacotes

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

Então inicie o Wireshark com privilégios de administrador e selecione a interface Pktmon: Seleção de interface ETW

Isso iniciará a captura de pacotes:

Captura de pacotes ETW

netsh trace

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

E então crie uma sessão ETW associada ao provider Microsoft-Windows-NDIS-PacketCapture:

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

Então inicie o Wireshark com privilégios de administrador e selecione a interface Winshark-PacketCapture:

Seleção de interface ETW

Isso iniciará a captura de pacotes:

Captura de pacotes ETW

Filtrando por ID do processo

ETW marca cada pacote com um cabeçalho que define alguns metadados sobre o remetente. Um deles é o ID do Processo do emissor. Esta é uma enorme melhoria em relação a uma captura de pacotes clássica de um driver NDIS. Simplesmente preencha o campo de filtro do Wireshark com a seguinte expressão:

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

Captura de pacotes ETW

Capturando NamedPipe

@kobykahane fornece um driver de filtro do sistema de arquivos que emite um ETW para cada ação realizada em um NamedPipe.

Instalar

  • Passar na verificação de assinatura do driver no modo de teste
root@kitploit:~
bcdedit /set testsigning on
  • Instale NpEtwSetup.msi
  • Reiniciar
  • Atualize o dissecador do Winshark clicando duas vezes em C:\Program Files\Wireshark\WinsharkUpdate.bat com direitos de Admin

Capturar

  • Abra um cmd.exe em Modo Administrador
  • Inicie o driver
root@kitploit:~
sc start NpEtw
  • Crie uma Sessão ETW
root@kitploit:~
logman start namedpipe -p NpEtw -ets -rt
  • Inicie o Wireshark e selecione a sessão namedpipe. Aproveite!

Captura namedpipe ETW

SSTIC (Symposium sur la sécurité des technologies de l'information et des communications)

Este projeto faz parte de uma apresentação feita para o SSTIC

Baixar ferramenta