Beagle是一款功能强大的图形化事件响应与数字取证安全分析工具,支持FireEye HX Triages、Windows EVTX文件、SysMon日志以及Windows内存源镜像等多种数据源。导出的图形化分析结果可以发送至类似Neo4J和DGraph这样的图形化数据库,或者直接以Python NetworkX对象存储在本地。
Beagle能够以Python库的形式使用,或者直接在Web接口中调用:
2.png
库可以直接通过函数调用序列来调用:
>>>from beagle.datasources import SysmonEVTX
>>>graph = SysmonEVTX("malicious.evtx").to_graph()
>>>graph
<networkx.classes.multidigraph.MultiDiGraphat 0x12700ee10>
或严格按照图形处理过程中调用数据源的每一个分析步骤来进行调用:
>>>from beagle.backends import NetworkX
>>>from beagle.datasources import SysmonEVTX
>>>from beagle.transformers import SysmonTransformer
>>>datasource = SysmonEVTX("malicious.evtx")
#Transformers take a datasource, and transform each event
#into a tuple of one or more nodes.
>>>transformer = SysmonTransformer(datasource=datasource)
>>>nodes = transformer.run()
#Transformers output an array of nodes.
[
(<SysMonProc>process_guid="{0ad3e319-0c16-59c8-0000-0010d47d0000}"),
(<File>host="DESKTOP-2C3IQHO"full_path="C:\Windows\System32\services.exe"),
...
]
#Backends take the nodes, and transform them into graphs
>>>backend = NetworkX(nodes=nodes)
>>>G = backend.graph()
<networkx.classes.multidigraph.MultiDiGraphat 0x126b887f0>
图形化输出位于每一个分析进程的中间位置,可以帮助研究人员快速了解目标主机中的详细状态。
工具安装
Docker
Beagle能够直接以Docker文件来安装使用:
docker pull yampelo/beagle
mkdir -p data/beagle
docker run -v "$PWD/data/beagle":"/data/beagle" -p 8000:8000yampelo/beagle
Python包
Beagle还能够以Python库的形式使用。
注意:目前Beagle仅支持Python 3.6+。
安装完成后,使用下列命令安装Rekall:
pip install pybeagle[rekall]