LogonTracer:可视化事件日志识别被攻击账户

栏目: 数据库 · 发布时间: 5年前

内容简介:事件日志分析是安全事件调查中极其重要的一环。如果网络由Active Directory管理(以下称为AD),则可以通过分析AD事件日志来识别。对于此类调查,直接在AD事件查看器中进行详细分析十分的困难; 常见的方法是将日志导出为文本格式或将其导入SIEM /日志管理系统。但是,由于事件日志的数量、体积可能很大,导入时间受限于环境,这对分析师来说可能是一个难题。JPCERT开发并发布了一个支持此类事件日志分析的工具“LogonTracer”。本文介绍了它的工作原理以及如何使用。LogonTracer将登录相

前言

事件日志分析是安全事件调查中极其重要的一环。如果网络由Active Directory管理(以下称为AD),则可以通过分析AD事件日志来识别。对于此类调查,直接在AD事件查看器中进行详细分析十分的困难; 常见的方法是将日志导出为文本格式或将其导入SIEM /日志管理系统。但是,由于事件日志的数量、体积可能很大,导入时间受限于环境,这对分析师来说可能是一个难题。

JPCERT开发并发布了一个支持此类事件日志分析的工具“LogonTracer”。本文介绍了它的工作原理以及如何使用。

事件日志可视化

LogonTracer将登录相关事件中的主机名(或IP地址)和帐户名关联起来,并将其可视化。这样,就可以看到哪个帐户尝试登陆以及登陆哪个主机。下图是LogonTracer创建的可视化图表,显示了一些IP地址和帐户的关系。

LogonTracer:可视化事件日志识别被攻击账户

对于每个节点,链接到主机(绿点)并带有一行账户信息(红/蓝)表示已使用主机登陆。

红色 :SYSTEM权限帐户

蓝色 :标准用户帐户

绿色 :主机/ IP地址

即使对于一个没有详细了解过事件日志的新手,这种可视化也使日志分析变得简单。

提取更多重要帐户和主机

除了事件日志可视化之外,LogonTracer还能够通过排名显示可能的杠杆帐户/主机。图2是帐户和主机的重要性等级的示例。

LogonTracer:可视化事件日志识别被攻击账户

对于此排名,LogonTracer会对事件日志图执行网络分析,并根据每个节点的“中心性”创建排名。中心性是指示每个节点与网络中心的接近度的索引。为了计算中心性,应用了PageRank 算法。在该算法中,与许多其他节点连接的节点位于图的中心,因此具有更高的中心性。

由于被攻击帐户用于对许多主机执行登录尝试,因此它们往往具有更高的中心性。因此,通过比较中心性,可以识别可能受影响的帐户/主机。

事件日志的时间顺序显示

使用LogonTracer,还可以按时间顺序显示事件日志。图3显示了时间序列中每个帐户的事件日志数。

LogonTracer:可视化事件日志识别被攻击账户

通过检查一段时间内的日志数量,可以发现在短时间内或工作时间之外的未经授权的登录尝试。

事件日志的急剧增加会自动突出显示。为了检测异常登陆的计数增加,异常检测模式主要应用了变换查找器(详情可查看 http://ieeexplore.ieee.org/document/1599387/ )。

如何安装LogonTracer

工具 可以在GitHub上找到。您可以从以下网页下载:

JPCERTCC GitHub – LogonTracer

https://github.com/JPCERTCC/LogonTracer

以下是有关如何使用LogonTracer的说明。该工具在 Linux 环境中进行了测试。

1. 获取并安装Neo4j社区版

从以下网站下载Neo4j社区版并安装:

https://neo4j.com/download/other-releases/#releases

2. 下载LogonTracer

从以下网页下载并将其部署在一个文件夹中。

https://github.com/JPCERTCC/LogonTracer

3. 安装Neo4j JavaScript驱动程序

在LogonTracer的静态文件夹中安装Neo4j JavaScript驱动程序。

$ cd LogonTracer/static
$ npm install neo4j-driver

4. 安装 Python 模块

为LogonTracer安装Python模块

$ pip install -r requirements.txt

*如果statsmodels安装失败,请先安装numpy。

5. 运行Neo4j

通过GUI或命令行启动Neo4j。

如何使用LogonTracer

使用以下选项启动LogonTracer:

``
$ python3 logontracer.py -r -o [PORT] -u [USERNAME] -p [PASSWORD] -s [IP Address]
```
- -r:启动Web服务器
- -o:Web服务器运行的端口号(例如:8080)
- -u:Neo4j用户名(默认为“neo4j”)
- -p:Neo4j密码
- -s:Web服务器运行的地址(例如:localhost)

下面是执行LogonTracer的示例。

LogonTracer:可视化事件日志识别被攻击账户

要访问Web界面,请从浏览器转到以下URL。(在此环境中,LogonTracer安装在本地环境中并在端口8080上运行)。

*要导入日志,您可以上传EVTX格式。

LogonTracer:可视化事件日志识别被攻击账户

如何使用 Docker 镜像

Docker Hub上提供了LogOnTracer的Docker镜像。

https://hub.docker.com/r/jpcertcc/docker-logontracer/

如果使用Docker,可以通过以下命令启动映像:

$ docker run \
--detach \
--publish=7474:7474 --publish=7687:7687 --publish=8080:8080 \
-e LTHOSTNAME=[IP Address] \
jpcertcc/docker-logontracer

LogonTracer可以分析的事件日志和注意事项

研究表明,监控以下事件对于调查未经授权的登录是有效的。基于此,LogonTracer还可以显示以下事件ID以进行可视化:

事件ID 4624:登录成功

事件ID 4625:登录失败

事件ID 4768:Kerberos身份验证(TGT请求)

事件ID 4769:Kerberos身份验证(ST请求)

事件ID 4776:NTLM身份验证

事件ID 4672:权限分配

由于并非所有上述事件ID都使用默认设置进行记录,因此需要启用审核策略以保留此类日志。我们建议启用审核策略。有关配置的详细说明,请参阅LogonTracer的“自述文件”,也可在GitHub上找到。

结语

虽然事件日志分析在事件调查中至关重要,但如果您不知道要分析什么以及从何处开始,则可能是一个耗时的过程。此工具通过可视化帐户和主机之间的关系提供简单的事件日志分析。我们希望您尝试使用此工具来准备实际事件调查。

我们将尽快更新有关如何使用此工具进行实际分析的更多信息。

谢谢你的阅读。

*本文作者:PikuYoake,转载请注明来自FreeBuf.COM


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

计算机算法基础

计算机算法基础

沈孝钧 / 机械工业出版社 / 2013-11 / 45.00元

计算机算法是计算机科学的一个重要分支,也是一个难点。本书作者根据自己20多年在国内、国外的教学与科研实践,系统地总结了计算机算法的设计与分析方法,覆盖了大部分最主要的算法技术,包括:分治法、贪心法、动态规划、图的遍历技术、穷举搜索等,涉及一系列重要的算法问题,包括排序问题、选择问题、最小生成树问题、最短路径问题、网络流问题、二分图的匹配问题、字符串的匹配问题和几何算法问题等,还介绍了问题本身的计算......一起来看看 《计算机算法基础》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

在线进制转换器
在线进制转换器

各进制数互转换器

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换