JPCERTCC/LogonTracer

GitHub: JPCERTCC/LogonTracer

一款通过图数据库可视化分析 Windows Active Directory 登录事件日志,帮助安全团队快速调查恶意登录行为的工具。

Stars: 3145 | Forks: 486

[![Arsenal](https://rawgit.com/toolswatch/badges/master/arsenal/usa/2018.svg)](https://www.toolswatch.org/2018/05/black-hat-arsenal-usa-2018-the-w0w-lineup/) [![Version](https://img.shields.io/github/v/release/JPCERTCC/LogonTracer)](https://github.com/JPCERTCC/LogonTracer/releases) [![Docker pull](https://img.shields.io/docker/pulls/jpcertcc/docker-logontracer)](https://hub.docker.com/r/jpcertcc/docker-logontracer/) [![test](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/f44ce9e41e104221.svg)](https://github.com/JPCERTCC/LogonTracer/actions/workflows/logontracer-test.yml) ## 概念 **LogonTracer** 是一款通过对 Windows Active Directory 事件日志进行可视化与分析来调查恶意登录的工具。该工具会将登录相关事件中发现的主机名(或 IP 地址)和账户名进行关联,并将其以图表形式展示。通过这种方式,可以直观地查看哪个账户发生了登录尝试,以及使用了哪台主机。 该工具可以基于[这项研究](https://www.first.org/resources/papers/conf2016/FIRST-2016-105.pdf),将与 Windows 登录相关的以下事件 ID 可视化。 * **4624**: 成功登录 * **4625**: 登录失败 * **4768**: Kerberos 身份验证 (TGT 请求) * **4769**: Kerberos 服务票据 (ST 请求) * **4776**: NTLM 身份验证 * **4672**: 分配特殊权限 更多详细信息请参阅以下文档: * [Visualise Event Logs to Identify Compromised Accounts - LogonTracer -](https://blogs.jpcert.or.jp/en/2017/11/visualise-event-logs-to-identify-compromised-accounts---logontracer-.html) * [イベントログを可視化して不正使用されたアカウントを調査](https://blogs.jpcert.or.jp/ja/2017/11/logontracer.html) (日文) ![LogonTracer sample](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/e982ec4d4a104224.png) ## 额外分析 LogonTracer 使用 [PageRank](https://en.wikipedia.org/wiki/PageRank)、[Hidden Markov model](https://en.wikipedia.org/wiki/Hidden_Markov_model) 和 [ChangeFinder](https://pdfs.semanticscholar.org/c5bc/7ca31914d3cdfe1b2932cbc779875e645bbb.pdf) 从事件日志中检测恶意主机和账户。 ![PageRank List](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/2ea23a60ab104227.png) 使用 LogonTracer,还可以按时间顺序显示事件日志。 ![Timeline](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/06197052ba104228.png) ## 使用 LogonTracer 要使用 LogonTracer,您可以: * [安装](https://github.com/JPCERTCC/LogonTracer/wiki/how-to-install) * [使用 docker](https://github.com/JPCERTCC/LogonTracer/wiki/jump-start-with-docker) ## 文档 如果您想了解更多详情,请查阅 [LogonTracer wiki](https://github.com/JPCERTCC/LogonTracer/wiki)。 ## 演示 以下 [YouTube 视频](https://www.youtube.com/watch?v=aX-vTd7-moY) 展示了如何使用 LogonTracer。 [![LogonTracer_Demonstration](https://img.youtube.com/vi/aX-vTd7-moY/0.jpg)](https://www.youtube.com/watch?v=aX-vTd7-moY) ## 架构 LogonTracer 使用 Python 编写,并使用 Neo4j 作为数据库。使用了以下工具: * Python 3 * [Neo4j](https://neo4j.com) 作为图数据库。 * [Neo4j JavaScript driver](https://github.com/neo4j/neo4j-javascript-driver) 用于通过二进制协议连接到 Neo4j。 * [Cytoscape](http://www.cytoscape.org/) 用于可视化图形网络。 * [Flask](http://flask.pocoo.org/) 是一个 Python 微框架。
标签:Active Directory, Conpot, JPCERT, Neo4j, NTLM, PageRank, Plaso, Python, Web可视化, Windows安全, 事件日志分析, 协议分析, 可视化分析, 安全调查, 库, 应急响应, 恶意登录检测, 数字取证, 数据可视化, 数据库接管, 无后门, 日志分析工具, 权限提升, 模拟器, 系统防御, 红队检测, 网络图形分析, 自动化脚本, 请求拦截, 隐马尔可夫模型, 零信任架构, 黑客攻击检测