freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

EVTX:一款针对Windows EVTX事件日志的快速安全解析工具
Alpha_h4ck 2024-11-03 23:17:25 110122
所属地 广西

关于EVTX

EVTX是一款针对Windows XML 事件日志 (EVTX) 格式的快速安全解析工具,该工具拥有跨平台特性,可以在多个平台上实现对Windows XML EventLog 格式日志的解析任务。

功能介绍

1、使用 100% 安全的 Rust 实现,并且适用于 Rust 支持的所有平台(具有 stdlib)。

2、运行速度非常快,它同类工具实现都快几个数量级。

3、支持多线程任务执行。

4、支持 XML 和 JSON 输出,均直接从令牌树构建并且彼此独立(不执行 xml2json 转换)。

5、支持一些丢失记录/块的基本恢复。

工具要求

Rust

Python

工具安装

由于该工具基于Rust开发,因此我们首先需要在本地设备上安装并配置好最新版本的Rust环境。

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

git clone https://github.com/omerbenamram/evtx.git

Cargo安装

cargo install evtx

发布版安装

我们还可以直接访问该项目的【Releases页面】下载针对 Windows、macOS 和 Linux 的自动构建版本。(仅限 64 位可执行文件)。

工具使用

此包提供的主要二进制实用程序是evtx_dump,它提供了一种将.evtx文件转换为不同输出格式的快速方法。

命令样例:

evtx_dump <evtx_file>:将把 evtx 记录的内容转储为 xml。

evtx_dump -o json <evtx_file>:将把 evtx 记录的内容转储为 JSON。

evtx_dump -f <output_file> -o json <input_file>:将会把 evtx 记录的内容以 JSON 形式转储到给定文件中。

除此之外,evtx_dump还可以和fd结合,方便批量处理文件:

fd -e evtx -x evtx_dump -o jsonl:将扫描一个文件夹并将所有 evtx 文件转储到单个 jsonlines 文件中。

fd -e evtx -x evtx_dump '{}' -f '{.}.xml:将在每个 evtx 文件旁边创建一个 xml 文件,以递归方式为文件夹中的所有文件创建一个 xml 文件。

如果需要将文件的来源添加到json,xargs(或者gxargs)和jq中,可以使用下列方法:

fd -a -e evtx | xargs -I input sh -c "evtx_dump -o jsonl input | jq --arg path "input" '. + {path: \$path}'"

注意:默认情况下,evtx_dump将尝试使用多线程,这意味着记录可能会无序返回。

使用示例(作为代码库使用)

use evtx::EvtxParser;

use std::path::PathBuf;

 

// Change this to a path of your .evtx sample.

let fp = PathBuf::from(format!("{}/samples/security.evtx", std::env::var("CARGO_MANIFEST_DIR").unwrap()));

 

let mut parser = EvtxParser::from_path(fp).unwrap();

for record in parser.records() {

    match record {

        Ok(r) => println!("Record {}\n{}", r.event_record_id, r.data),

        Err(e) => eprintln!("{}", e),

    }

}

使用“多线程”功能进行编译时,会启用并行版本(默认启用)。

许可证协议

本项目的开发与发布遵循MIT开源许可协议。

项目地址

EVTX:【GitHub传送门

参考资料

https://github.com/omerbenamram/pyevtx-rs

https://pypi.org/project/evtx/

# 日志分析 # 安全日志分析 # 日志审计 # windows日志分析
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 Alpha_h4ck 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
Alpha_h4ck LV.10
好好学习,天天向上
  • 2359 文章数
  • 1020 关注者
Tetragon:一款基于eBPF的运行时环境安全监控工具
2025-01-21
DroneXtract:一款针对无人机的网络安全数字取证工具
2025-01-21
CNAPPgoat:一款针对云环境的安全实践靶场
2025-01-21
文章目录