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
pywintrace — Wrapper de Python ctypes para Event Tracing for Windows (ETW) que permite el control de sesiones, la captura de eventos y callbacks personalizados para monitorización de seguridad y análisis forense. | Kitploit
Herramientas/GitHubGitHub/fireeye/pywintrace
Herramientas DefensivasForensia DigitalInteligencia de AmenazasRespuesta a IncidentesAnálisis de Registros
GitHubfireeye/pywintrace

pywintrace

Wrapper de Python ctypes para Event Tracing for Windows (ETW) que permite el control de sesiones, la captura de eventos y callbacks personalizados para monitorización de seguridad y análisis forense.

Ver Repositorio
30361hace 3 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

ETW (Event Tracing for Windows)

ETW es una facilidad de rastreo que permite a un usuario registrar eventos en un archivo o búfer. Una descripción general de ETW se puede encontrar aquí. La arquitectura básica incluye un Proveedor, un Controlador y un Consumidor. El controlador define y controla una sesión de captura. Esto incluye qué proveedores están en la sesión, así como iniciar y detener la sesión. El proveedor, especificado mediante un GUID (Identificador Único Global), registra eventos en una serie de búferes. El Consumidor recibe mensajes ya sea de un búfer o de un archivo y los procesa en orden cronológico.

Este módulo es un envoltorio ctypes completamente basado en Python alrededor de las API de Win32 necesarias para controlar sesiones de ETW y procesar datos de mensajes. El módulo es muy flexible y puede establecer filtros de captura previos o posteriores.

Uso

Para usar este módulo, importa etw y crea una instancia de la clase ETW pasando una lista de instancias de ProviderInfo para el/los proveedor(es) de los cuales deseas capturar datos. Para procesar los datos devueltos por ETW, necesitarás especificar una devolución de llamada.

root@kitploit:~

import etw


def some_func():
    # define capture provider info
    providers = [etw.ProviderInfo('Some Provider', etw.GUID("{11111111-1111-1111-1111-111111111111}"))]

    # create instance of ETW and start capture
    with etw.ETW(providers=providers, event_callback=etw.on_event_callback):
        # run capture
        etw.run('etw')

A continuación se muestra un ejemplo que usa el módulo para realizar una captura con una devolución de llamada personalizada.

root@kitploit:~

import time
import etw


def some_func():
    # define capture provider info
    providers = [etw.ProviderInfo('Some Provider', etw.GUID("{11111111-1111-1111-1111-111111111111}"))]
    # create instance of ETW class
    job = etw.ETW(providers=providers, event_callback=lambda x: print(x))
    # start capture
    job.start()

    # wait some time
    time.sleep(5)

    # stop capture
    job.stop()

La subclasificación es otra forma práctica de definir clases de captura de ETW.

root@kitploit:~

import time
import etw


class MyETW(etw.ETW):

    def __init__(self, event_callback):
        # define capture provider info
        providers = [etw.ProviderInfo('Some Provider', etw.GUID("{11111111-1111-1111-1111-111111111111}"))]
        super().__init__(providers=providers, event_callback=event_callback)

    def start(self):
        # do pre-capture setup
        self.do_capture_setup()
        super().start()

    def stop(self):
        super().stop()
        # do post-capture teardown
        self.do_capture_teardown()

    def do_capture_setup(self):
        # do whatever setup for capture here
        pass

    def do_capture_teardown(self):
        # do whatever for capture teardown here
        pass


def my_capture():
    # instantiate class
    capture = MyETW(lambda x: print(x))
    # start capture
    capture.start()
    # wait some time to capture data
    time.sleep(5)
    # stop capture
    capture.stop()

Para más ejemplos, consulta ejemplos.

Descargar herramienta