必须捕获域控制器安全日志中事件ID为4624、4625、4776且LogonType为3/8/10的记录,通过启用审核策略、XML过滤、PowerShell分析及任务计划归档实现精准监控。

要监控域环境下用户登录行为,必须捕获并解析域控制器上的安全日志事件,重点聚焦4624(成功登录)、4625(失败登录)和4776(凭据验证)三类事件,同时排除本地登录干扰——仅筛选Logon Type为3(网络登录)、8(交互式网络登录)或10(远程桌面登录)的记录,否则会混入大量工作站本地会话噪声。
启用域控制器安全审计策略
在域控制器上打开“组策略管理”,编辑默认域策略或新建GPO,导航至【计算机配置→策略→Windows设置→安全设置→本地策略→审核策略】→启用【审核登录事件】,勾选“成功”和“失败”。
该策略需强制刷新:在域控制器命令行执行 gpupdate /force,否则新策略不会生效。未执行此步将导致后续日志为空。
注意:此项配置影响全域,无需在每台客户端单独设置。
导出并过滤关键登录事件
打开域控制器上的“事件查看器”→展开【Windows日志】→右键【安全】→选择“筛选当前日志”。
在“事件ID”栏输入 4624,4625,4776,点击确定;再点击“XML”选项卡→勾选“按XML编辑查询”,在
这一步过滤掉LogonType=2(本地控制台登录)和LogonType=5(服务登录),避免淹没真实域登录线索。
用PowerShell自动提取高危登录模式
方法一:检测非工作时间登录
在域控制器上以管理员身份运行PowerShell,执行:
Get-WinEvent -FilterHashtable @{LogName='Security'; ID=4624; StartTime=(Get-Date).AddHours(-24)} | Where-Object {($_.TimeCreated.Hour -lt 7) -or ($_.TimeCreated.Hour -gt 19)} | Select-Object TimeCreated, @{Name='User';Expression={$_.Properties[5].Value}}, @{Name='SourceIP';Expression={$_.Properties[18].Value}} | Export-Csv C:\logs\night_login.csv -NoTypeInformation
让 Windows 桌面程序在开机时静默自启并隐藏到系统托盘。特别适用于 Flutter、Electron 等无视 VBS/ProcessStartInfo 窗口样式、难以隐藏的顽固应用。提供「VBS 启动器 + Python ctypes/Win32 API」的隐藏窗口方案,可稳定把窗口收进托盘且不闪控制台。
方法二:识别高频失败后成功登录链
第一步:提取过去2小时内所有4625事件,按IP分组计数;
第二步:对计数≥5的IP,检查其后30分钟内是否出现对应4624事件;
第三步:若存在,则输出该IP、用户名、首次失败时间、成功时间,写入alert_login.txt。
这一步能直接定位暴力破解后的横向渗透起点,无需人工翻查。
配置任务计划程序每日归档登录摘要
① 新建批处理文件login_summary.bat,内容为:
wevtutil qe Security /q:"*[System[(EventID=4624 or EventID=4625) and TimeCreated[timediff(@SystemTime) C:\logs\login_%date:~0,4%%date:~5,2%%date:~8,2%.log
② 打开“任务计划程序”→创建基本任务→名称填“Daily Login Summary”,触发器设为每天凌晨2:00,操作选“启动程序”,程序路径指向login_summary.bat。
③ 在“常规”选项卡中勾选【不管用户是否登录都要运行】和【不存储密码】,否则任务将在无人登录时失败。
④ 点击完成,立即右键该任务→“运行”测试一次,确认C:\logs\下生成带日期的log文件。

















