当前位置:   article > 正文

Logpaser分析-Windows系统日志_logparser

logparser

前言

本文重点在于用logparser收集windows日志中指定字段及语法,关于字段详细含义可参考

注:此文中命令为了方便阅读做了换行处理,请在powershell中执行,勿在cmd下执行。

目录

前言

日志服务重启及日志清除

日志服务重启

事件ID:7031 (System.Evtx)

日志清除

安全日志删除:(Security.Evtx 事件ID:1102)

其他日志删除:(Securit.Evtx 事件ID:104)

RDP端口检查

被远程记录检查

Security.Evtx

事件ID:4625(登录失败)

事件Id:4624(登录成功)

 Microsoft-Windows-TerminalServices-LocalSessionManager%4Operational.Evtx

事件Id:21(登录会话)

事件Id:22(Shell启动)

Microsoft-Windows-TerminalServices-RemoteConnectionManager%4Operational.Evtx

事件Id:1149(登录记录)

Microsoft-Windows-RemoteDesktopServices-RdpCoreTS%4Operational.Evtx

远程登录记录

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Terminal Server Client\Servers

Powershell执行记录

Windows PowerShell.Evtx

事件ID:400

Microsoft-Windows-PowerShell%4Operational.Evtx

事件ID:4103(正在执行管道)

进程启动及退出记录

 Security.Evtx 事件ID4688(进程启动)

 Security.Evtx 事件ID4689(进程退出)

 网络连接排查(Security.Evtx 事件ID 5156)

外对内网络连接请求

 内对外网络连接请求

 计划任务

已创建计划任务(事件ID:4698)

 已删除计划任务(事件ID:4699)

用户创建启用删除

用户创建(事件ID:4720)

 用户启用(事件ID:4722)

用户删除(事件ID:4726)

 用户属组变更(事件ID:4732)

Cobalt Strike排查(事件ID:1057)

开启日志记录

 排查:事件ID:1057

应用程序远程登录

MSSQL远程登录

事件ID:18456(登录失败)

事件ID:18454(登录成功)

事件ID:15457(查看Xp_cmdshell启用信息)


日志服务重启及日志清除

日志服务重启

事件ID:7031 (System.Evtx)

  1. LogParser.exe -i:evt -o:datagrid "
  2. SELECT TimeGenerated AS 时间, EXTRACT_TOKEN(Strings, 0, '|') AS 服务名
  3. , EXTRACT_TOKEN(Strings, 4, '|') AS 动作
  4. , Message AS 描述
  5. FROM System.evtx
  6. WHERE eventid = 7031
  7. AND 服务名 = 'Windows Event Log'
  8. "

日志清除

安全日志删除:(Security.Evtx 事件ID:1102)

  1. LogParser.exe -i:evt -o:datagrid "
  2. SELECT TimeGenerated AS 时间, Message AS 描述
  3. FROM Security.evtx
  4. WHERE eventid = 1102
  5. "

其他日志删除:(Securit.Evtx 事件ID:104)

  1. LogParser.exe -i:evt -o:datagrid "
  2. select TimeGenerated as 时间,EXTRACT_TOKEN(Strings,0,'|') as 用户,Message as 描述
  3. from system where eventid=104"

RDP端口检查

注册表:

HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp

  1. LogParser.exe -i:reg -o:datagrid "
  2. SELECT LastWriteTime AS 最后写入时间, Value AS 远程端口
  3. FROM 'HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-Tcp'
  4. WHERE ValueName LIKE 'PortNumber'
  5. "

被远程记录检查

Security.Evtx

事件ID:4625(登录失败)

  1. LogParser -i:EVT -o:DATAGRID "
  2. SELECT TimeGenerated AS 登录时间, EXTRACT_TOKEN(Strings, 5, '|') AS 用户名
  3. , EXTRACT_TOKEN(Strings, 13, '|') AS 计算机名
  4. , EXTRACT_TOKEN(Strings, 10, '|') AS 登录类型
  5. , EXTRACT_TOKEN(Strings, 19, '|') AS 源IP
  6. , EXTRACT_TOKEN(Strings, 17, '|') AS 请求进程ID
  7. , EXTRACT_TOKEN(Strings, 18, '|') AS 请求进程名
  8. FROM yours.evtx
  9. WHERE eventid = 4625
  10. AND 用户名 NOT LIKE '%$'
  11. "

事件Id:4624(登录成功)

  1. LogParser -i:EVT -o:DATAGRID "
  2. SELECT TimeGenerated AS 登录时间, EXTRACT_TOKEN(Strings, 5, '|') AS 用户名
  3. , EXTRACT_TOKEN(Strings, 11, '|') AS 计算机名
  4. , EXTRACT_TOKEN(Strings, 8, '|') AS 登录类型
  5. , EXTRACT_TOKEN(Strings, 18, '|') AS 登录源IP
  6. , EXTRACT_TOKEN(Strings, 16, '|') AS 请求进程ID
  7. , EXTRACT_TOKEN(Strings, 17, '|') AS 请求进程名
  8. FROM yours.evtx
  9. WHERE eventid = 4624
  10. AND 用户名 NOT LIKE '%$'
  11. "

 Microsoft-Windows-TerminalServices-LocalSessionManager%4Operational.Evtx

事件Id:21(登录会话)

  1. logparser -i:evt -o:datagrid "
  2. SELECT TimeGenerated AS 登录时间, ComputerName AS 计算机名
  3. , EXTRACT_TOKEN(Strings, 0, '|') AS 登录用户名
  4. , EXTRACT_TOKEN(Strings, 2, '|') AS 登录源
  5. FROM your.evtx
  6. WHERE EventID = 21
  7. "

事件Id:22(Shell启动)

  1. logparser -i:evt -o:datagrid "
  2. SELECT TimeGenerated AS 登录时间, ComputerName AS 计算机名
  3. , EXTRACT_TOKEN(Strings, 0, '|') AS 登录用户名
  4. , EXTRACT_TOKEN(Strings, 2, '|') AS 登录源
  5. FROM your.evtx
  6. WHERE EventID = 22
  7. "

Microsoft-Windows-TerminalServices-RemoteConnectionManager%4Operational.Evtx

事件Id:1149(登录记录)

  1. logparser -i:evt -o:datagrid "
  2. SELECT TimeGenerated AS 登录时间, ComputerName AS 计算机名
  3. , EXTRACT_TOKEN(Strings, 0, '|') AS 登录用户名
  4. , EXTRACT_TOKEN(Strings, 2, '|') AS 登录源
  5. FROM your.evtx
  6. WHERE EventID = 1149
  7. "

Microsoft-Windows-RemoteDesktopServices-RdpCoreTS%4Operational.Evtx

ps:这里提供一些额外的日志(131,140等),这里会记录RDP连接的源IP,但是该日志默认最大大小为1M,记录信息有限,有需要可手动调整日志大小。

  1. LogParser.exe -i:evt -o:datagrid "SELECT TimeGenerated AS 时间, EXTRACT_TOKEN(Strings, 1, '|') AS 登录源
  2. FROM Microsoft - Windows - RemoteDesktopServices - RdpCoreTS % 4Operational.evtx
  3. WHERE eventid = 131"

远程登录记录

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Terminal Server Client\Servers

远程登录记录需要通过查询注册表获取

查询登录的IP,时间,用户名

  1. LogParser.exe -i:reg -o:datagrid "
  2. select LastWriteTime as 最后登录时间,KeyName as 远程IP,Value as 用户名
  3. from 'HKEY_CURRENT_USER\SOFTWARE\Microsoft\Terminal Server Client\Servers'
  4. "

Powershell执行记录

Windows PowerShell.Evtx

在powershell日志中,执行一个powershell命令会产生6条日志,其中2条引擎生命周期日志(EventID:400启用;EvnetID:403停止),6条程序生命周期日志(EventID:600)(Registry、Alias、Environment、FileSystem、Function、Variable的启动)

事件ID:400

  1. logparser.exe -i:evt -o:datagrid "
  2. SELECT TimeGenerated AS 时间
  3. , EXTRACT_TOKEN(EXTRACT_TOKEN(Strings, 1, 'Host Application = '), 0, 'Engine Version') AS 数据
  4. FROM your.evtx
  5. WHERE eventid = 4103
  6. "

这里未使用表格格式输出,因为有长度限制。

主要关注hostApplication的值。

Microsoft-Windows-PowerShell%4Operational.Evtx

事件ID:4103(正在执行管道)

  1. logparser.exe -i:evt "
  2. SELECT TimeGenerated AS 时间, ComputerName AS 计算机名, Sid
  3. , EXTRACT_TOKEN(EXTRACT_TOKEN(Strings, 1, 'Host Application = '), 0, 'Engine Version') AS 数据
  4. FROM winpowershell.evtx
  5. WHERE eventid = 4103
  6. "

进程启动及退出记录

注:此功能需要开启一条审核策略:secpol.msc进入本地安全策略–本地策略–审核策略–审核进程跟踪

 

 Security.Evtx 事件ID4688(进程启动)

  1. LogParser.exe -i:EVT "
  2. SELECT TimeGenerated AS 时间, EXTRACT_TOKEN(Strings, 1, '|') AS 用户名
  3. , EXTRACT_TOKEN(Strings, 4, '|') AS 进程pid
  4. , EXTRACT_TOKEN(Strings, 5, '|') AS 进程名
  5. , EXTRACT_TOKEN(Strings, 7, '|') AS 父进程ppid
  6. , EXTRACT_TOKEN(Strings, 13, '|') AS 父进程名
  7. , EXTRACT_TOKEN(Strings, 8, '|') AS 命令行
  8. FROM Security.evtx
  9. WHERE EventID = 4688
  10. "

 Security.Evtx 事件ID4689(进程退出)

  1. LogParser.exe -i:EVT -o:datagrid "
  2. select TimeGenerated As 时间,
  3. extract_token(Strings,1,'|') As 用户名,
  4. extract_token(Strings,5,'|') as 进程id,
  5. extract_token(Strings,6,'|') as 进程名,
  6. extract_token(Strings,4,'|') as 状态
  7. from Security.evtx where eventid=4689
  8. "

 网络连接排查(Security.Evtx 事件ID 5156)

注:此功能需要开启一条审核策略:secpol.msc进入本地安全策略–本地策略–审核策略–审核对象访问

外对内网络连接请求

  1. LogParser.exe -i:EVT -o:datagrid "
  2. select TimeGenerated As 时间,extract_token(Strings,1,'|') As 应用程序名
  3. ,extract_token(Strings,0,'|') as 进程id
  4. ,extract_token(Strings,2,'|') as 方向
  5. ,extract_token(Strings,3,'|') as 源IP
  6. ,extract_token(Strings,4,'|') as 源端口
  7. ,extract_token(Strings,5,'|') as 目的IP
  8. ,extract_token(Strings,6,'|') as 目的端口
  9. ,extract_token(Strings,7,'|') as 协议号
  10. from Security.evtx where eventid=5156 and 方向='%%14593'
  11. "

 内对外网络连接请求

  1. LogParser.exe -i:EVT -o:datagrid "
  2. select TimeGenerated As 时间,extract_token(Strings,1,'|') As 应用程序名
  3. ,extract_token(Strings,0,'|') as 进程id
  4. ,extract_token(Strings,2,'|') as 方向
  5. ,extract_token(Strings,3,'|') as 源IP
  6. ,extract_token(Strings,4,'|') as 源端口
  7. ,extract_token(Strings,5,'|') as 目的IP
  8. ,extract_token(Strings,6,'|') as 目的端口
  9. ,extract_token(Strings,7,'|') as 协议号
  10. from Security.evtx where eventid=5156 and 方向='%%14592'
  11. "

 计划任务

已创建计划任务(事件ID:4698)

  1. .\LogParser.exe -i:EVT -o:datagrid "
  2. select TimeWritten as 创建时间
  3. ,extract_token(Strings,1,'|') as 创建者
  4. ,extract_token(Strings,4,'|') as 计划任务名称
  5. ,extract_token(Strings,1,'Exec>') as 执行命令
  6. ,extract_token(Strings,1,'Enabled>') as 是否启用
  7. from Security where eventid=4698
  8. "

 已删除计划任务(事件ID:4699)

  1. .\LogParser.exe -i:EVT -o:datagrid "
  2. select TimeGenerated as 删除时间
  3. ,extract_token(Strings,1,'|') as 删除者
  4. ,extract_token(Strings,4,'|') as 计划任务名称
  5. from Security where eventid=4699
  6. "

 

用户创建启用删除

用户创建(事件ID:4720)

  1. .\LogParser.exe -i:EVT -o:datagrid "
  2. select TimeGenerated as 创建时间
  3. ,extract_token(Strings,0,'|') as 被创建用户名
  4. ,extract_token(Strings,4,'|') as 创建者
  5. from Security where eventid=4720
  6. "

 用户启用(事件ID:4722)

  1. .\LogParser.exe -i:EVT -o:datagrid "
  2. select TimeGenerated as 启用时间
  3. ,extract_token(Strings,0,'|') as 被启用用户名
  4. ,extract_token(Strings,4,'|') as 启用者
  5. from Security where eventid=4722
  6. "

用户删除(事件ID:4726)

  1. .\LogParser.exe -i:EVT -o:datagrid "
  2. select TimeGenerated as 删除时间
  3. ,extract_token(Strings,0,'|') as 被删除用户名
  4. ,extract_token(Strings,4,'|') as 删除者
  5. from Security where eventid=4726
  6. "

 用户属组变更(事件ID:4732)

  1. .\LogParser.exe -i:EVT -o:datagrid "
  2. select TimeGenerated as 操作时间
  3. ,extract_token(Strings,0,'|') as 被变更用户名
  4. ,extract_token(Strings,2,'|') as 变更组
  5. ,extract_token(Strings,6,'|') as 操作者
  6. from Security where eventid=4732
  7. "

Cobalt Strike排查(事件ID:1057)

开启日志记录

1、图形化操作

此事件需要开启 ”应用程序日志“ ——“Microsoft“ —— ” Windows“ ——”Microsoft-Windows-WinINet/UsageLog“

2、命令行操作

  1. PS C:\Windows\system32> wevtutil sl Microsoft-Windows-WinINet/UsageLog /e:true
  2. **** 警告: 启用此类型日志会将其清除。是否要启用并
  3. 清除此日志? [y/n]:
  4. y

 排查:事件ID:1057

查看事件ID 1057即可

 注意事项

应用程序远程登录

此处主要针对Application.evtx做分析,主要针对不同的应用程序

MSSQL远程登录

事件ID:18456(登录失败)

  1. logparser.exe -i:evt -o:datagrid "
  2. SELECT TimeGenerated AS 时间, SourceName AS 来源, ComputerName AS 计算机名
  3. , EXTRACT_TOKEN(Strings, 0, '|') AS 登录名
  4. , EXTRACT_TOKEN(Strings, 1, '|') AS 原因
  5. , EXTRACT_TOKEN(Strings, 2, '|') AS 源IP
  6. FROM Application.evtx
  7. WHERE EventID = 18456
  8. "

事件ID:18454(登录成功)

  1. logparser.exe -i:evt -o:datagrid "
  2. select TimeGenerated as 时间,SourceName as 来源,ComputerName as 计算机名,EXTRACT_TOKEN(Strings,0,'|') as username as 登录名,EXTRACT_TOKEN(Strings,1,'|') as 原因,EXTRACT_TOKEN(Strings,2,'|') as 源IP from Application.evtx where EventID=18454
  3. "

事件ID:15457(查看Xp_cmdshell启用信息)

状态为1表示启用

  1. .\logparser.exe -i:evt -o:datagrid "
  2. SELECT TimeGenerated AS 时间, SourceName AS 来源, ComputerName AS 计算机名
  3. , EXTRACT_TOKEN(Strings, 0, '|') AS 方法
  4. , EXTRACT_TOKEN(Strings, 1, '|') AS 状态1
  5. , EXTRACT_TOKEN(Strings, 2, '|') AS 状态2
  6. FROM Application.evtx
  7. WHERE EventID = 15457
  8. AND 方法 = 'xp_cmdshell'
  9. "

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/191315
推荐阅读
相关标签
  

闽ICP备14008679号