Improving Osquery Visibility with Windows ETW
Marcos Oviedo
Agenda
About Me
Marcos Oviedo - @marcosd4h
�Infosec Nerd based on Argentina
�I love OS internals and native applications. I’ve been working as a Windows Endpoint Engineer for the last few years.
�I also presented open-source tools and security research at different cons. ��I’m quite new to Osquery, so please bear with me :)
Why improving visibility on Windows
An idea to approach this problem
ETW Overview
Target Usecases
New Table Name: etw_process_events
�Goal: Track process related events ��Target Usecases:
�Provider Name:
Table Information��ProcessID�Timestamp�Parent ProcessID�SessionID
Command Line�Image Name
Current Directory�LogonID�Integrity Level
Process Access Type
Process Token Elevation�Process Token Elevation Type�Process Token Mandatory Label�
Target Usecases (contd)
New Table Name: etw_pe_image_events
�Goal: Track DLL and Drivers related events ��Target Usecases:
�Provider Name:
Table Information��ProcessID�Timestamp
Image Name�Image Size�Image Base�Image Load Status
���
Target Usecases (contd)
New Table Name: etw_file_events
�Goal: Track file related events ��Target Usecases:
Provider Name:
Table Information��ProcessID�Timestamp�File Name
File Create Options
File Attributes Create
Info Class
Target File (rename)��
Target Usecases (contd)
New Table Name: etw_registry_events
�Goal: Track registry related events ��Target Usecases:
Provider Name:
Table Information��ProcessID�Timestamp�Base Key Name
Base Key Value
Info Class�Target Key Name (rename)�Target Key Value (rename)��
Target Usecases (contd)
New Table Name: etw_network_connection_events
�Goal: Track network related events ��Target Usecases:
Provider Name:
Table Information��ProcessID�Timestamp�User�Protocol�Source IP�Target IP�Source Port�Target Port�Connection ID�
Target Usecases (contd)
New Table Name: etw_dns_events
�Goal: Track DNS related events ��Target Usecases:
Provider Name:
Table Information��ProcessID�Timestamp�Query Name�Query Status�Query Results�Image�
Target Usecases (contd)
New Table Name: etw_smb_events
�Goal: Track SMB related events ��Target Usecases:
Provider Name:
Table Information��ProcessID�Timestamp�Source IP�Target IP�Pipe Name�Target Path��
Interesting ETW Providers
Interesting ETW Providers (contd)
Osquery Integration
Challenges
Questions?�Thanks!
ETW OS Providers on Windows