Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
LogHound — 用于BloodHound映射的后渗透EVTX分析器 | Kitploit
工具/GitHubGitHub/rnb-team/loghound
侦察取证分析信息收集后渗透利用数字取证渗透测试身份验证红队日志分析
GitHubrnb-team/loghound

LogHound

用于BloodHound映射的后渗透EVTX分析器

查看仓库
1113个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

LogHound

587193175-819ba1ad-8551-4b58-bb54-56ce1f410187

用于 BloodHound 映射的后利用 EVTX 分析器

LogHound 收集并解析 Windows 安全事件日志(.evtx),提取身份验证事件、会话数据和登录元数据,以便导入 BloodHound 并提供更深入的对抗性遥测信息。

设计理念与概述

LogHound 的构建是为了解决红队和网络渗透测试人员的一个特定问题:如何在不牺牲操作安全性的前提下,高效追踪横向移动目标、识别活跃用户会话并确定机器的最终归属。

Active Directory 域控制器上的安全事件日志文件(Security.evtx)可能达到数 GB。传统的加载技术常常会耗尽系统内存或导致崩溃,并留下明显的痕迹。LogHound 通过采用基于块的流式解析范式,并依托强大的 Impacket 框架,解决了这个问题。

它可以映射网络结构,根据登录频率确定机器的实际“所有者”,计算精确的工作时间以识别非工作时间(夜猫子)操作,并将这些情报无缝地导入 BloodHound CE(v5+)中。

安装步骤

LogHound 依赖于 Python 3 和 Impacket。强烈建议使用虚拟环境。

root@kitploit:~
# 1. 克隆仓库
git clone https://github.com/LogHound/LogHound.git
cd LogHound

# 2. (可选但推荐)创建 Python 虚拟环境
python3 -m venv venv
source venv/bin/activate

# 3. 安装所需的依赖
pip install -r requirements.txt

CLI 参数说明

LogHound 的 CLI 与标准的 Impacket 模块(如 secretsdump.py)交互方式相同,需要您指定一个明确的运行模式(--local 或 --remote)。

root@kitploit:~
python loghound.py [[domain/]username[:password]@]<targetName or address> [options]

运行模式(必选)

  • --local EVTX_FILE:解析本地已存在的 .evtx 文件。
  • --remote:使用提供的凭据从远程目标系统下载 Security.evtx。

身份验证与连接

  • -hashes LMHASH:NTHASH:使用 NTLM 哈希进行 Pass-The-Hash 身份验证。
  • -k:使用 Kerberos 身份验证。通过 KRB5CCNAME 环境变量指定的 .ccache 文件获取凭据。
  • -aesKey hex_key:使用特定的 AES 密钥(128 或 256 位)进行 Kerberos 身份验证。
  • -no-pass:不交互式提示输入密码。
  • -keytab KEYTAB_FILE:使用 Kerberos keytab 文件进行身份验证。
  • -dc-ip IP:显式指定域控制器的 IP 地址。
  • -target-ip IP:显式指定目标机器的 IP 地址(绕过 NetBIOS 名称解析失败)。

输出格式

  • -format {json,csv,md,all}:指定文本输出格式。注意:交互式 HTML 报告和 BloodHound JSON 文件将始终生成。默认值为 json。
  • -outputfile BASENAME:生成的输出报告在子目录中的名称前缀。

性能

  • -threads N:并行运行的解析线程数量(默认值:4)。
  • -chunk-size N:每个解析块包含的日志记录数量。较低的值可减少 RAM 开销,较高的值解析速度稍快(默认值:1000)。

示例

  • Bloodhound 边。
截图 2026-04-08 195058
  • HTML 报告。
截图 2026-04-08 193914

架构与数据流

LogHound 采用高度解耦、内存高效的分析流水线:

  1. 采集 (core/collector.py):通过 SMB 连接到目标,然后通过 WMI 执行 wevtutil epl Security 将安全事件日志导出到目标上的临时文件。导出的文件随后通过 SMB 下载到 loot/YYYY-MM-DD_<target>_Security.evtx,以避免覆盖。
  2. 解析 (core/parser.py):一个多线程的块解析器对原始 .evtx 二进制文件进行流式处理,并持续将解析出的事件发射到临时 JSON Lines 缓冲区(jsonl/loghound_dump.jsonl)。如果中断,它可以从精确的检查点恢复。
  3. 分析 (core/analyzer.py):逐行迭代 .jsonl 流,以保持较低的 RAM 占用。它计算中间状态字典(会话跟踪、所有权评分、逻辑跟踪)。
  4. 导出 (core/exporter.py 和 core/exporter_bloodhound.py):将分析的 RAM 状态动态刷新为最终的 html/ 和 json/ 导出格式。

有关深层架构逻辑以及之前解决的导入错误,请参考内部文档 ARCHITECTURE.md。

节点、属性与指标说明

LogHound 原生过滤六种特定的 Windows 安全事件 ID:4624、4634、4648、4768、4769、4776。

利用这些事件,LogHound 通过 Properties 块将以下自定义属性直接绑定到生成的 User 节点上,从而增强 BloodHound CE:

BloodHound CE 合并架构

  • ObjectIdentifier SIDs:LogHound 确保 ObjectIdentifier 映射与现有的 SharpHound 导入结果完美对齐。AD 域用户保留其原生 Windows SID(S-1-5-21-...)。为防止 BloodHound 节点撕裂,本地机器帐户正确地维护了回退标准 USER@HOSTNAME。
  • 计算机会话:生成的 computers.json 使用精确的原生 SessionAPIResult 数据结构来绘制机器与用户之间的真实“HasSession”边。

自定义 LogHound 用户指标

分析引擎根据跟踪的登录/注销事件计算工作操作时间,同时排除异常(如跨越数天的会话)。

机器所有权指标

分析通过统计最频繁的交互式登录来确定任何工作站或 IP 地址的明确所有者。这将一个主要的 Owner 绑定到原始节点,并附带一个次要 Other Users 数组。

免责声明

本软件仅用于教育、授权渗透测试和取证调查目的。请不要将其用于您未获得明确操作许可的网络。

许可证

本项目根据 Apache License 2.0 许可 - 请参阅 LICENSE 文件。

致谢

  • 由 https://github.com/Nelkmen 创建
  • 灵感来源于 https://github.com/specterops/bloodhound、https://github.com/fortra/impacket
下载工具
Property NameTypeMetric Description
loghound_avg_start_timeString计算用户在所有有效观察日中记录的首次登录(00:00 HH:MM)的平均值。
loghound_avg_end_timeString计算每天记录的最后活动(注销或最后操作)的平均时间。
loghound_active_daysInteger用于计算平均时间数组的有效天数(至少有一个正常会话)的总数。
loghound_outside_hoursBoolean真/假。专门用于识别夜猫子。如果用户计算出的活动开始到结束时间窗口与 22:00 至 06:00 的夜间范围重叠,则评估为 True。
Avg Hours per DayFloat内部计算为用户 average start time 与 average end time 之间的精确时间差。(在文本/HTML 报告中显示)。