Anthropic-Cybersecurity-Skills 实战:基于 Windows Security Event Logs 与 python-evtx 检测 RDP 暴力破解攻击

发布时间:2026/9/13 8:53:55
Anthropic-Cybersecurity-Skills 实战:基于 Windows Security Event Logs 与 python-evtx 检测 RDP 暴力破解攻击 Anthropic-Cybersecurity-Skills 实战基于 Windows Security Event Logs 与 python-evtx 检测 RDP 暴力破解攻击【免费下载链接】Anthropic-Cybersecurity-Skills817 structured cybersecurity skills for AI agents · Mapped to 6 frameworks: MITRE ATTCK, NIST CSF 2.0, MITRE ATLAS, D3FEND, NIST AI RMF MITRE F3 (Fight Fraud) · agentskills.io standard · Works with Claude Code, GitHub Copilot, Codex CLI, Cursor, Gemini CLI 20 platforms · 29 security domains · Apache 2.0项目地址: https://gitcode.com/GitHub_Trending/an/Anthropic-Cybersecurity-Skills导读本文围绕 detecting-rdp-brute-force-attacks 技能的 API 参考文档展开系统讲解如何通过解析 Windows 安全事件日志EVTX 文件检测针对 RDP远程桌面协议端点的暴力破解攻击。你将掌握 Event ID 4625/4624 等核心事件的含义、RDP 登录类型Logon Type 3/10与失败子状态码的判读、wevtutil 与 python-evtx 的取证级解析方法以及基于阈值模型的暴力破解 / 密码喷洒 / 账户沦陷三类检测模式并可直接复用仓库中 agent.py 的完整检测实现生成 JSON 检测报告。为什么检测 RDP 暴力破解攻击面与检测原点RDP 是暴露在互联网上的 Windows 端点最常见的攻击面之一。攻击者通过对 RDP 服务进行高频凭据猜测对应 MITRE ATTCK 技术 T1110Brute Force尝试撞库进入内网成功后即获得远程交互式会话为横向移动与后续提权如 T1078 Valid Accounts、T1021.001 Remote Services: Remote Desktop Protocol铺路。Windows 原生会将每一次登录尝试写入安全事件日志这构成了检测的天然数据源。检测的核心思路是捕获Event ID 4625登录失败事件且仅关注 Logon Type 为 10RemoteInteractive或 3NetworkNLA 启用时的预认证阶段的记录——这两类才真正对应 RDP 场景按源 IP 统计失败频率与目标用户分布识别暴力破解与密码喷洒模式将失败事件与后续的Event ID 4624登录成功做关联判断是否已有账户在暴力破解后沦陷。该技能在仓库中映射了 NIST CSF 2.0 的 DE.CM-01、DE.AE-02、DE.AE-06、ID.RA-05 以及 MITRE ATTCK 的 T1021.001、T1110.001、T1110.003、T1078见 SKILL.md 的 frontmatter适用于事件调查、SIEM 检测规则编写与安全监控覆盖验证三类场景。Windows 安全事件 ID 速查表检测的全部语义都建立在以下四个核心事件 ID 之上。解析 EVTX 日志时System节中的EventID决定事件类型EventData节中的字段则提供攻击者的来源与目标信息。Event ID含义关键字段4625登录失败Failed logon attemptTargetUserName、IpAddress、SubStatus、LogonType4624登录成功Successful logonTargetUserName、IpAddress、LogonType4776NTLM 凭据验证Credential validationTargetUserName、Workstation、Status4771Kerberos 预认证失败Pre-auth failedTargetUserName、IpAddress、Status需要说明4625/4624 是 RDP 暴力破解检测的主干事件4776 用于覆盖 NTLM 认证路径例如针对 SMB/凭据验证的猜测4771 用于覆盖 Kerberos 预认证失败。在 agent.py 的_extract_event_data实现中正是从事件 XML 的System/EventID与System/TimeCreated节点提取事件编号与时间戳再通过遍历EventData下所有带Name属性的Data节点把TargetUserName、IpAddress、SubStatus、LogonType等字段统一装配成字典供后续分析消费。RDP 登录类型Logon Type判定日志字段中的LogonType是区分这是不是 RDP 登录的第一道过滤器。攻击者流量与正常管理操作在登录类型上有明确区别误把本地控制台登录Type 2或服务登录Type 5当作 RDP 会造成大量误报。Type名称出现场景3Network启用 NLA网络级别认证时的 RDP 预认证阶段10RemoteInteractiveNLA 通过后的 RDP 远程交互式会话在 agent.py 中检测器用RDP_LOGON_TYPES {3, 10}直接定义了关注集合并在解析循环中仅将LogonType命中该集合的 4625 事件记入failed_logons、4624 事件记入successful_logons其余登录类型一律忽略。这意味着你可以在不改动任何检测逻辑的情况下通过修改这个集合来扩展或收窄监控范围。失败子状态码Sub-Status判读4625 事件的SubStatus字段揭示了攻击者失败的具体原因是区分撞库无效用户名密码错误账户已被锁定/禁用等不同攻击阶段的关键依据。Sub-Status含义0xC0000064用户不存在0xC000006A密码错误0xC0000234账户已锁定0xC0000072账户已禁用0xC0000193账户已过期0xC0000071密码已过期仓库实现更进一步 agent.py 内置了FAILURE_SUBSTATUS映射表在 0xC0000064/0x6A/0x72/0x6F/0x70/0x71/0x234/0x193 之外还补充了 0xC000006F非登录时段登录与 0xC0000070工作站限制把十六进制状态码归一化为user_does_not_exist、wrong_password、account_locked、account_disabled等可读标签。分析阶段会对全部失败事件的子状态码做Counter统计使报告能直接给出失败原因分布例如某次攻击中wrong_password占比 92%、夹杂少量user_does_not_exist即可推断攻击者在用有效用户名列表试密码而非盲目撞库。日志导出wevtutil 命令行操作获取 EVTX 文件是检测的起点。既可以在目标主机的 Windows 事件查看器中手动导出 Security 日志也可以在命令行用wevtutil完成导出、筛选与计数。# 导出 Security 日志为 EVTX 文件 wevtutil epl Security C:\logs\security.evtx # 查询 RDP 登录失败事件EventID4625 且 LogonType10 wevtutil qe Security /q:*[System[(EventID4625)] and EventData[Data[NameLogonType]10]] /f:text # 统计最近 100 条登录失败事件按时间倒序 wevtutil qe Security /q:*[System[(EventID4625)]] /c:100 /rd:true /f:text三条命令各有分工eplExport Log把完整 Security 日志固化为 EVTX 取证副本适合离线分析qeQuery Events配合 XPath 过滤器直接在目标机上做实时研判/c:100限制返回条数、/rd:true表示按时间倒序最新的在前/f:text输出人类可读文本。在企业环境中EVTX 文件通常由 WEFWindows Event Forwarding集中收集后统一离线分析这与 python-evtx 的离线解析路径完全吻合。EVTX 离线解析python-evtx 库用法拿到 EVTX 文件后Python 侧使用python-evtx逐条还原事件记录为 XML再抽取结构化字段import Evtx.Evtx as evtx with evtx.Evtx(Security.evtx) as log: for record in log.records(): xml_str record.xml()安装依赖pip install python-evtx lxmllxml用于后续 XML 解析。从源码实现看agent.py 的parse_events方法将这段基本用法封装成了健壮的解析循环逐条调用record.xml()并用try/except跳过无法解析的损坏记录随后通过_extract_event_data抽取EventID、SystemTime与全部EventData字段最终按事件类型分别进入failed_logons与successful_logons两个列表。若环境中未安装 python-evtx检测器会在构造阶段抛出明确的RuntimeError提示安装命令避免静默失败。检测阈值模型与三类攻击模式api-reference.md 给出了开箱即用的阈值模型它们与 agent.py 的参数默认值一一对应模式阈值指示的攻击行为暴力破解Brute force单个 IP 在 15 分钟内失败次数 10针对单一目标的凭据猜测密码喷洒Password spray单个 IP 尝试的用户数 5多用户单密码的低慢攻击账户沦陷Compromise同一 IP 先出现 4625 后出现 4624暴力破解已成功在代码层面这三类模式分别对应analyze方法中的三段逻辑agent.py暴力破解对failed_logons按源 IP 做Counter统计失败数 ≥threshold默认 10可通过命令行--threshold调整且非-占位值的 IP 被标记为brute_force_ips。注意代码注释与默认值均将时间窗口预设为 15 分钟而当前实现以整份日志为统计范围因此 15 分钟窗口适合在 SIEM 侧用流式查询实现离线批处理可理解为日志覆盖周期内每 IP 失败 ≥ 10 次。密码喷洒以源 IP 为键收集去重后的目标用户集合用户数 ≥ 5 的 IP 被标记为spray_ips——这一指标在低慢型喷洒攻击中尤其有效因为喷洒攻击的单用户失败次数通常很低无法触发暴力破解阈值。账户沦陷取brute_force_ips与成功登录 IP 集合的交集并回溯该 IP 的成功登录用户产出potential_compromises列表包含 IP、沦陷用户、失败次数直接对应4625 之后出现 4624的关联规则。端到端检测流程综合 SKILL.md 的四步工作流与 API 参考文档完整检测链路如下Step 1导出安全事件日志。使用wevtutil epl Security C:\logs\security.evtx或事件查看器将 Security 日志固化为 EVTX 文件。Step 2解析失败登录事件。用 python-evtx 解析 Event ID 4625提取源 IP、目标用户名、失败原因SubStatus与登录类型字段。Step 3分析攻击模式。按时间窗口统计每个源 IP 的失败次数检测单 IP 多用户的用户名喷洒将 4625 失败与同一 IP 后续的 4624 成功登录做关联。Step 4生成检测报告。输出 JSON 报告包含 Top 攻击 IP、被针对的账户、基于时间维度的分析与沦陷指示器。运行仓库检测器仓库提供了开箱即用的命令行入口无需二次开发即可完成上述四步python scripts/agent.py /path/to/Security.evtx --threshold 10 --output-dir ./rdp_brute_force_report参数说明evtx_file必填为 Security.evtx 路径--threshold为标记暴力破解的最小失败次数默认 10--output-dir为报告输出目录默认./rdp_brute_force_report。执行后检测器会解析日志、执行分析将完整报告打印到终端并写入rdp_brute_force_report.json。检测报告结构解读报告的 JSON 骨架在 agent.py 与generate_report方法agent.py中定义包含以下区块元信息report_dateUTC 生成时间、evtx_file数据来源、detection_threshold所用阈值总量指标total_failed_logons、total_successful_logons、unique_source_ips攻击者视角top_attacking_ips按失败次数排名的 Top 20 源 IP、targeted_users被针对的 Top 20 用户名、failure_reasons子状态码分布攻击模式brute_force_ips命中暴力破解阈值的 IP、password_spray_ips命中喷洒阈值的 IP沦陷指示potential_compromises暴力破解后出现成功登录的 IP 与账户列表。这份报告既可用于 SOC 告警研判也可作为 SIEM 检测规则的离线验证基准——将规则跑在同一份 EVTX 上比对命中 IP 是否与报告的brute_force_ips一致。前置条件与适用边界环境Python 3.9安装python-evtx与lxml需要 Windows Security EVTX 日志文件事件查看器导出或 WEF 集中收集。知识准备理解 Windows 认证事件 ID4624/4625/4776熟悉 RDP 登录类型NLA 对应 Type 3、RemoteInteractive 对应 Type 10。场景边界该方案基于端点安全日志的离线/集中分析适用于蓝队监控、事件响应与 SIEM 规则建设在线实时告警需要将同样的事件筛选逻辑下沉到 SIEM 查询如 Splunk/Elastic或 WEF 管道中并叠加 15 分钟时间窗口的流式统计。合规说明仓库以 Apache-2.0 授权见 LICENSEagent.py 明确标注仅供授权的安全监控与蓝队使用。小结RDP 暴力破解检测的本质是把 Windows 原生安全日志转化为可量化、可关联的攻击画像用LogonType 3/10锁定 RDP 流量用SubStatus还原失败原因用源 IP 频率识别暴力破解与密码喷洒用 4625→4624 的时序关联定位已沦陷账户。本文所引用的 API 参考、技能流程 与 检测实现 三份文件相互印证构成了一个从日志采集、离线解析、模式识别到报告产出的完整可运行闭环可直接应用于 SIEM 规则编写、事件调查与监控覆盖验证。【免费下载链接】Anthropic-Cybersecurity-Skills817 structured cybersecurity skills for AI agents · Mapped to 6 frameworks: MITRE ATTCK, NIST CSF 2.0, MITRE ATLAS, D3FEND, NIST AI RMF MITRE F3 (Fight Fraud) · agentskills.io standard · Works with Claude Code, GitHub Copilot, Codex CLI, Cursor, Gemini CLI 20 platforms · 29 security domains · Apache 2.0项目地址: https://gitcode.com/GitHub_Trending/an/Anthropic-Cybersecurity-Skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询