Log Parser 2.2 实战:5条SQL命令批量提取Windows SMB/RDP攻击日志 Log Parser 2.2 实战5条SQL命令批量提取Windows SMB/RDP攻击日志在Windows安全事件响应中SMB和RDP协议相关的日志往往是攻击者活动的关键证据。传统的手动筛选方式需要逐个检查事件查看器面对GB级别的日志文件时效率极低。微软官方提供的Log Parser工具能通过类SQL语法实现日志的批量化分析本文将分享5条实战验证过的查询命令帮助安全团队快速定位异常登录行为。1. 环境准备与工具配置Log Parser 2.2是微软免费提供的命令行工具支持从EVTX日志文件中提取结构化数据。建议按以下步骤配置分析环境下载安装# 官方下载地址需替换为实际微软下载中心链接 Invoke-WebRequest -Uri https://download.microsoft.com/... -OutFile LogParser.msi日志文件准备# 复制系统日志到工作目录需管理员权限 Copy-Item C:\Windows\System32\winevt\Logs\Security.evtx -Destination D:\Forensics\基础查询验证LogParser.exe -i:EVT SELECT COUNT(*) FROM Security.evtx注意分析RDP相关日志时需同时检查以下通道Microsoft-Windows-TerminalServices-RemoteConnectionManager/OperationalMicrosoft-Windows-TerminalServices-LocalSessionManager/Operational2. SMB暴力破解检测针对SMB协议的网络登录行为登录类型3以下命令可提取所有失败登录尝试LogParser.exe -i:EVT -o:CSV SELECT TimeGenerated as 时间, EXTRACT_TOKEN(Strings,5,|) as 用户名, EXTRACT_TOKEN(Strings,19,|) as 源IP, EXTRACT_TOKEN(Strings,17,|) as 进程ID FROM Security.evtx WHERE EventID4625 AND LogonType3 smb_failed_logins.csv关键参数说明LogonType3筛选网络登录类型EventID4625登录失败事件Strings字段提取索引对应关系索引字段内容5目标用户名19源IP地址17调用进程ID3. RDP登录成功记录当安全日志被清除时可从TerminalServices日志中恢复RDP连接记录LogParser.exe -i:EVT -o:DATAGRID SELECT TimeGenerated as 连接时间, EXTRACT_TOKEN(Strings,0,|) as 用户名, EXTRACT_TOKEN(Strings,2,|) as 源IP, EventID FROM Microsoft-Windows-TerminalServices-RemoteConnectionManager%4Operational.evtx WHERE EventID IN (1149,261,260) 典型事件ID说明1149用户认证成功260RDP连接建立261RDP连接断开4. 异常登录时间检测结合工作时间表识别非工作时间段的登录行为LogParser.exe -i:EVT SELECT QUANTIZE(TO_TIMESTAMP(TimeGenerated, yyyy-MM-dd hh:mm:ss), 3600) as 时间段, COUNT(*) as 登录次数, EXTRACT_TOKEN(Strings,5,|) as 用户名 FROM Security.evtx WHERE EventID4624 AND (TO_HOUR(TO_TIMESTAMP(TimeGenerated, yyyy-MM-dd hh:mm:ss)) NOT BETWEEN 8 AND 18) GROUP BY 时间段, 用户名 HAVING COUNT(*) 3 ORDER BY 登录次数 DESC -o:Chart5. 登录源地理分析通过IP地理位置关联分析需配合IP库LogParser.exe -i:EVT SELECT EXTRACT_TOKEN(Strings,19,|) as IP, COUNT(*) as 尝试次数, LAST(TimeGenerated) as 最后尝试时间 FROM Security.evtx WHERE EventID4625 GROUP BY IP ORDER BY 尝试次数 DESC -o:CSV geo_analysis.csv6. 登录行为关联分析通过进程ID关联登录事件与进程创建事件LogParser.exe -i:EVT SELECT a.TimeGenerated as 登录时间, a.EventID as 登录事件, b.TimeGenerated as 进程创建时间, EXTRACT_TOKEN(b.Strings,0,|) as 进程路径 FROM Security.evtx a, Security.evtx b WHERE a.EventID4624 AND b.EventID4688 AND EXTRACT_TOKEN(a.Strings,16,|) EXTRACT_TOKEN(b.Strings,3,|) -o:TABLE结果可视化技巧Log Parser支持多种输出格式推荐以下组合使用方式时间轴分析LogParser.exe -file:query.sql -iCheckPoint:on -o:Timeline地理热力图LogParser.exe -i:CSV SELECT * FROM geo_analysis.csv -o:Map自定义报表/* 保存为report.sql文件 */ SELECT * INTO report.html FROM ( SELECT * FROM smb_failed_logins.csv UNION ALL SELECT * FROM rdp_success_logins.csv ) USING STYLE td { border: 1px solid #ccc; padding: 5px; } th { background-color: #f2f2f2; }实际案例中某次应急响应通过上述方法在15分钟内定位到攻击者使用的爆破工具路径C:\Temp\hydra\hydra.exe -l administrator -P passlist.txt smb://192.168.1.100