前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >etl-parser:基于纯Python开发的事件追踪日志文件解析工具

etl-parser:基于纯Python开发的事件追踪日志文件解析工具

作者头像
FB客服
发布于 2022-02-23 12:20:57
发布于 2022-02-23 12:20:57
1.4K00
代码可运行
举报
文章被收录于专栏:FreeBufFreeBuf
运行总次数:0
代码可运行

关于etl-parser

etl-parser是一款基于纯Python开发的事件追踪日志文件读取和解析工具。该工具基于纯Python 3 ETL Windows日志文件解析库实现其功能,而ETL则是ETW以及内核日志工具的默认格式。

ETL是Windows系统程序员大量使用的一种日志工具/格式,比如说:

C:\Windows\System32\WDI\LogFiles\BootPerfDiagLogger.etl C:\Windows\System32\WDI\LogFiles\ShutdownPerfDiagLogger.etl NetTrace.etl(netsh) C:\Windows\System32\WDI\<GUID>\<GUID>\snapshot.etl 其他...

很多新型的API都基于ETW实现,比如说Tracelogging或WPP等,而这些API都是微软开发者会经常使用的。

etl-parser不需要任何系统依赖,支持在Windows和Linux系统上运行。

etl-parser可以通过引入下列日志格式解析器来帮助广大研究人员解决各种问题:

ETW manifest base provider TraceLogging MOF for kernel log

工具下载&安装

广大研究人员可以直接使用下列命令将该项目源码克隆至本地

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git clone https://github.com/airbus-cert/etl-parser.git

然后切换至项目目录中,并运行setup.py脚本进行工具安装:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git clone https://github.com/airbus-cert/etl-parser.git

cd etl-parser

pip install -e .

除此之外,我们也可以直接通过pip命令来安装etl-parser:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pip install etl-parser

工具使用

etl-parser提供了两个功能脚本,第一个脚本为etl2xml,该脚本可以将所有已知的ETL事件转换为XML格式的数据:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
etl2xml -i example.etl -o example.xml

第二个脚本为etl2pcap,该脚本负责将那些通过netsh创建的网络数据包转换为pcap文件格式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
netsh start trace capture=yes
netsh stop trace
 
etl2pcap -i NetTrace.etl -o NetTrace.pcap

以代码库的形式使用

当然了,你也可以将etl-parser以代码库的形式使用:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from etl.etl import IEtlFileObserver, build_from_stream

from etl.system import SystemTraceRecord

from etl.perf import PerfInfo

from etl.event import Event

from etl.trace import Trace

from etl.wintrace import WinTrace

 

class EtlFileLogger(IEtlFileObserver):

    def on_system_trace(self, event: SystemTraceRecord):

        """Mof kernel message with Process Id and Thread Id"""

        mof = event.get_mof() # Invoke MOF parser

 

    def on_perfinfo_trace(self, event: PerfInfo):

        """Mof kernel message with timestamp"""

        mof = event.get_mof() # Invoke MOF parser

 

    def on_trace_record(self, event: Trace):

        """unknown"""

 

    def on_event_record(self, event: Event):

        """ETW event this is what you search"""

        # Choose the "parse_" function which corresponds to your event

        message = event.parse_tracelogging() # Invoke TraceLogging parser

        message = event.parse_etw() # Invoke Manifest based parser

 

    def on_win_trace(self, event: WinTrace):

        """unknown"""

        etw = event.parse_etw()

 

with open("example.etl", "rb") as etl_file:

    etl_reader = build_from_stream(etl_file.read())

    etl_reader.parse(EtlFileLogger())

许可证协议

本项目的开发与发布遵循Apache v2.0开源许可证协议。

项目地址

https://github.com/airbus-cert/etl-parser

参考资料

https://docs.microsoft.com/en-us/windows/win32/etw/event-tracing-portal

https://www.geoffchappell.com/

https://www.trusted-introducer.org/directory/teams/ai-cert.html

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-01-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Winshark:一款用于控制ETW的Wireshark插件
Winshark Winshark是一款用于控制ETW的Wireshark插件,ETW(Event Tracing for Windows)提供了一种对用户层应用程序和内核层驱动创建的事件对象的跟踪记录机制。为开发者提供了一套快速、可靠、通用的一系列事件跟踪特性。Microsoft Message Analyzer早就已经过时了,而且它的下载包早在2019年11月25日也被微软从其官网上移除了。Wireshark建立了一个庞大的网络协议剖析器工具库,为了帮助广大研究人员更好地收集和分析各种类型的网络日志,W
FB客服
2023/04/26
1.1K0
Winshark:一款用于控制ETW的Wireshark插件
利用Winrm.vbs绕过白名单限制执行任意代码
winrm.vbs(一个位于system32目录下的具有Windows签名的脚本文件)可以被用来调用用户定义的XSL文件,从而导致任意的、没有签名的代码执行。当用户向winrm.vbs提供'-format:pretty'或者'-format:text'参数时,winrm.vbs将从cscript.exe所在目录读取WsmPty.xsl或Wsmtxt.xsl文件。这意味着若将cscript.exe拷贝到攻击者可以控制的目录下,并将恶意的XSL文件也置于相同路径中,攻击者将可以绕过签名保护而执行任意代码。这个攻击手段和Casey Smith的wmic.exe技术很相像。
FB客服
2018/07/31
1.7K0
ETW - 事件提供者(Event Provider)
官方示例:Eventdrv - Code Samples | Microsoft Learn
lealc
2024/01/12
7590
ETW - 事件提供者(Event Provider)
QQ浏览器性能提升之路——windows性能分析工具篇
对普通用户而言,评判一款浏览器是否优秀,最直观的体验就是速度,但随着新功能的迭代,不断的开始有用户反馈浏览器开始变慢,这时候就需要进行性能优化了。而在Windows上面做性能相关的工作,WPT是个必备的神器。WPT的全名是Windows Performance Toolkit,是Windows下用来进行性能分析的一套工具,它的功能非常强大,你可以使用它来监控CPU,内存,磁盘和网络等等的活动,从而来确定当前系统的性能瓶颈。 WPT由两个独立的工具组成: Windows Performance Record
腾讯移动品质中心TMQ
2018/02/05
5.2K2
QQ浏览器性能提升之路——windows性能分析工具篇
渗透测试与开发技巧
https://github.com/3gstudent/Pentest-and-Development-Tips
天钧
2021/01/05
4.7K0
ICMP/DNS 隧道处置方法 | Windows 应急响应
大家好,我们是 NOP Team,书接上回,我们给大家讲述了如何在 Linux 上找到 ICMP/DNS 隧道,但是现在工具都是全平台的,只有 Linux 似乎还不足以帮助蓝队兄弟们全面地解决问题
意大利的猫
2024/07/01
6431
ICMP/DNS 隧道处置方法 | Windows 应急响应
【解析向】腾讯云的Windows Server日志配置收集工具是个什么鬼?(2)
继上一篇,上一篇重点介绍了腾讯云Windows Server日志收集工具的“场景”功能,那么场景功能究竟是以什么标准来分级的呢?
StatLee
2018/06/14
1.8K0
技术分享-持久性-WMI事件订阅
Windows Management Instrumentation (WMI) 使系统管理员能够在本地和远程执行任务。从红队的角度来看,WMI 可用于执行多种活动,例如横向移动、持久性、态势感知、代码执行以及作为命令和控制(C2)。WMI 是几乎所有 Windows 操作系统(Windows 98-Windows 10)中都存在的 Windows 的一部分,这一事实使这些攻击性活动远离蓝队的雷达。
亿人安全
2022/06/30
3K0
技术分享-持久性-WMI事件订阅
Windows系统日志分析工具– Log Parser「建议收藏」
可参考文章:日志分析工具 LogParser 学习笔记_Memetali_ss的博客-CSDN博客 写完才看见。吐了
全栈程序员站长
2022/10/04
5K0
Windows系统日志分析工具– Log Parser「建议收藏」
安全研究 | YARA规则阻止Windows事件日志记录
事件日志搭配Windows事件转发和Sysmon,将会成为一个非常强大的安全防御方案,可以帮助研究人员检测攻击者在目标设备上的每一步非法操作。很明显,这是攻击者需要解决的问题。如果不能实现提权的话,攻击者能绕过事件日志的方式还是有限的,一旦实现提权,那结果可就不同了。
FB客服
2020/10/27
1K0
安全研究 | YARA规则阻止Windows事件日志记录
[红队专用]如何使用Phant0m在红队活动中关闭Windows事件日志工具
Phant0m是一款针对红队研究人员设计的安全测试工具,在该工具的帮助下,广大红队研究人员可以在渗透测试活动中轻松关闭Windows事件日志工具。
FB客服
2022/04/12
1.1K0
[红队专用]如何使用Phant0m在红队活动中关闭Windows事件日志工具
日志攻防初探之windows篇(iis日志介绍)
萌生出再写一系列文章的想法,虽然有一些系列还没完成,或者说完成的很基础。但还是想着写出来分享~ 因为这是我的乐趣,并不是想为这个行业做多少贡献,为多少爱好者提供帮助,而是做自己喜欢的事。不是什么客,也不是什么帽子~ 1 iis日志初探 作为一名安全人员,除了前阶段的渗透攻击,后阶段的日志清除、分析然后做出安全响应也是及其重要的。到后面的阶段,熟练掌握日志的分析不止可以帮助你溯源甚至你还能搭建一个蜜罐诱捕猎物。 首先要了解iis日志的路径 2003下,路径为:C:\WINDOWS\system32\Log
lonelyvaf
2018/06/07
3.9K0
[ffffffff0x] 安全蓝队 : windows日志检索和分析
在运维工作过程中,如若windows服务器被入侵,往往需要检索和分析相应的安全日志。除了安全设备,系统自带的日志就是取证的关键材料,但是此类日志数量庞大,需要高效分析windows安全日志,提取出我们想要的有用信息,就显得尤为关键。
r0fus0d
2021/01/06
3.3K0
[ffffffff0x] 安全蓝队 : windows日志检索和分析
各种日志分析方式汇总
Windows 系统日志是记录系统中硬件、软件和系统问题的信息,同时还可以监视系统中发生的事件。用户可以通过它来检查错误发生的原因,或者寻找受到攻击时攻击者留下的痕迹。
信安之路
2019/07/05
6.2K0
各种日志分析方式汇总
权限维持方法小结
WinlogonHack 是一款用来劫取远程3389登录密码的工具,在 WinlogonHack 之前有一个 Gina 木马主要用来截取 Windows 2000下的密码,WinlogonHack 主要用于截取 Windows XP 以及 Windows 2003 Server
中龙技术
2022/09/29
3.5K0
权限维持方法小结
[转载] python 解析xml 文件
首先新建一个xml文件,countries.xml。内容是在python官网上看到的。
py3study
2020/01/19
1.5K0
3-网站日志分析案例-MapReduce执行日志清洗
Linux环境 Windows环境 均做了调试 本文代码是基于window开发,因为数据量较大时,相比虚拟机,本地运行更顺畅些,还不是没钱买服务器。。。
IT从业者张某某
2022/11/12
5990
3-网站日志分析案例-MapReduce执行日志清洗
操作日志追踪记录之MDC入门
MDC(Mapped Diagnostic Context,映射调试上下文)是 log4j 和 logback 提供的一种方便在多线程条件下记录日志的功能。某些应用程序采用多线程的方式来处理多个用户的请求。在一个用户的使用过程中,可能有多个不同的线程来进行处理。典型的例子是 Web 应用服务器。当用户访问某个页面时,应用服务器可能会创建一个新的线程来处理该请求,也可能从线程池中复用已有的线程。在一个用户的会话存续期间,可能有多个线程处理过该用户的请求。这使得比较难以区分不同用户所对应的日志。当需要追踪某个用户在系统中的相关日志记录时,就会变得很麻烦。
lyb-geek
2018/07/26
7.8K0
netsh命令解析与实例使用
描述:netsh 在本地或者远程显示与修改当前正在运行的计算机的网络配置,为了存档、备份或者配置其他服务器, netsh也可以将配置脚本保存在文本文件中。 他们通过一个或者多个服务,实用程序或协议提供配置和监视支持来扩展Netsh的功能,并提供脚本功能,IP地址、网关、DNS、MAC地址,Context(上下文)是特定于网络组件一组命令。
全栈工程师修炼指南
2020/10/26
7.7K0
netsh命令解析与实例使用
Log4j2 Demos(基础/时间&大小回滚/定期删除/日志脱敏)「建议收藏」
本文所用的Demo皆可在我的git项目 https://github.com/SeanYanxml/log4j-demos 内找到。(如果觉得项目写的不错,不妨给我一个star)
全栈程序员站长
2022/08/23
1.1K0
推荐阅读
相关推荐
Winshark:一款用于控制ETW的Wireshark插件
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档