当前位置: 首页 > news >正文

Windows 主机侧日志排查

0x00 背景

应急响应时,有些日志在主机侧没有收集到日志平台,需要上主机快速排查日志定位问题。

0x01 powershell 日志排查

1. 查询 Security 日志的 EventID 4624(成功登录事件),并列出所有字段

Get-WinEvent -LogName Security -FilterXPath "*[System[EventID=4624]]" -MaxEvents 1 | ForEach-Object { $xml = [xml]$_.ToXml()$xml.Event.EventData.Data | Select-Object Name, "#text" | Format-Table -AutoSize}

Name                      #text
-----                          -----
SubjectUserSid            S-1-5-18
SubjectUserName           W01Server0111$
SubjectDomainName         yourdomain
SubjectLogonId            0x3e7
TargetUserSid             S-1-5-21-1xxxxxxxx-xxxxxxxxxx-xxxxxxxxxx-1003
TargetUserName            XXXX
TargetDomainName          W01Server0111
TargetLogonId             0x3xxxxxxxx
LogonType                 10
LogonProcessName          User32
AuthenticationPackageName Negotiate
WorkstationName           W01Server0111
LogonGuid                 {00000000-0000-0000-0000-000000000000}
TransmittedServices       -
LmPackageName             -
KeyLength                 0
ProcessId                 0x58
ProcessName               C:\Windows\System32\svchost.exe
IpAddress                 10.111.1.100
IpPort                    0
ImpersonationLevel        %%1833
RestrictedAdminMode       %%1843
TargetOutboundUserName    -
TargetOutboundDomainName  -
VirtualAccount            %%1843
TargetLinkedLogonId       0x3e4cdeb1e
ElevatedToken             %%1843

2. 查询 Security 日志的 EventID 4624(成功登录事件),并过滤特定字段

Get-WinEvent -LogName Security -FilterXPath "*[System[EventID=4624]]" -MaxEvents 1 | ForEach-Object { $xml = [xml]$_.ToXml(); $xml.Event.EventData.Data | Where-Object { $_.Name -in "TargetUserName", "IpAddress" } | Select-Object Name, "#text"}

Name                      #text
-----                          -----
TargetUserName    XXXX
IpAddress               10.111.1.100

3. 查询 Security 日志的 EventID 4688(进程创建事件),并列出所有字段

Get-WinEvent -LogName Security -FilterXPath "*[System[EventID=4688]]" -MaxEvents 1 | ForEach-Object { $xml = [xml]$_.ToXml()$xml.Event.EventData.Data | Select-Object Name, "#text" | Format-Table -AutoSize}

 Name               #text
----               -----
SubjectUserSid     S-1-5-18
SubjectUserName    W01Server0111$
SubjectDomainName  yourdomain
SubjectLogonId     0x3e8
NewProcessId       0x1688
NewProcessName     C:\Program Files\TitanAgent\titan_guard.exe
TokenElevationType %%1936
ProcessId          0x24dc
CommandLine        titan_guard.exe  --log
TargetUserSid      S-1-0-0
TargetUserName     -
TargetDomainName   -
TargetLogonId      0x0
ParentProcessName  C:\Windows\System32\cmd.exe
MandatoryLabel     S-1-16-16384

4. 获取时间字段

Get-WinEvent -LogName Security -FilterXPath "*[System[EventID=4688]]" -MaxEvents 2 | ForEach-Object { $xml = [xml]$_.ToXml()[PSCustomObject]@{Time = $_.TimeCreated NewProcessName = ($xml.Event.EventData.Data | Where-Object { $_.Name -eq "NewProcessName" }).'#text'CommandLine = ($xml.Event.EventData.Data | Where-Object { $_.Name -eq "CommandLine" }).'#text'SubjectUserName = ($xml.Event.EventData.Data | Where-Object { $_.Name -eq "SubjectUserName" }).'#text'}} | Format-Table -AutoSize

 Time                 NewProcessName                                                           CommandLine                                                                 SubjectUserName
----                 --------------                                                           -----------                                                                 ---------------
7/01/2025 11:00:01 PM C:\Program Files\TitanAgent\titan_guard.exe                              titan_guard.exe  --monitor                                                  W01Server0111$
7/01/2025 11:00:02 PM C:\Program Files\TitanAgent\titan_guard.exe                              titan_guard.exe  --full_check                                               W01Server0111$

5. 查询最近1000条日志,并排除processName和CommandLine含有一些关键字的单词

Get-WinEvent -LogName Security -FilterXPath "*[System[EventID=4688]]" -MaxEvents 1000 | Where-Object { $xml = [xml]$_.ToXml()$processName = ($xml.Event.EventData.Data | Where-Object { $_.Name -eq "NewProcessName" }).'#text'$CommandLine = ($xml.Event.EventData.Data | Where-Object { $_.Name -eq "CommandLine" }).'#text'$processName -notmatch 'titan_guard\.exe' -and $processName -notmatch 'splunk-.*\.exe' -and $processName -notmatch 'conhost\.exe' -and $processName -notmatch 'Dllhost\.exe' -and$CommandLine -notmatch 'agent_.*\.bat'} | ForEach-Object { $xml = [xml]$_.ToXml()[PSCustomObject]@{Time    = $_.TimeCreatedProcess = ($xml.Event.EventData.Data | Where-Object { $_.Name -eq "NewProcessName" }).'#text'Command = ($xml.Event.EventData.Data | Where-Object { $_.Name -eq "CommandLine" }).'#text'User    = ($xml.Event.EventData.Data | Where-Object { $_.Name -eq "SubjectUserName" }).'#text'}} | Format-Table -AutoSize

6. 新增时间过滤条件

$StartTime = Get-Date "2025-07-01 00:00:00" # 开始时间  
$EndTime = Get-Date "2025-07-01 01:50:59"   # 结束时间$Filter = @{LogName   = 'Security'ID        = 4688            # 进程创建事件      StartTime = $StartTime          EndTime   = $EndTime              
}Get-WinEvent -FilterHashtable $Filter -MaxEvents 1000 | Where-Object { $xml = [xml]$_.ToXml()$processName = ($xml.Event.EventData.Data | Where-Object { $_.Name -eq "NewProcessName" }).'#text'$CommandLine = ($xml.Event.EventData.Data | Where-Object { $_.Name -eq "CommandLine" }).'#text'$processName -notmatch 'titan_guard\.exe' -and $processName -notmatch 'splunk-.*\.exe' -and $processName -notmatch 'conhost\.exe' -and $processName -notmatch 'Dllhost\.exe' -and$CommandLine -notmatch 'agent_.*\.bat'} | ForEach-Object { $xml = [xml]$_.ToXml()[PSCustomObject]@{Time    = $_.TimeCreatedProcess = ($xml.Event.EventData.Data | Where-Object { $_.Name -eq "NewProcessName" }).'#text'Command = ($xml.Event.EventData.Data | Where-Object { $_.Name -eq "CommandLine" }).'#text'User    = ($xml.Event.EventData.Data | Where-Object { $_.Name -eq "SubjectUserName" }).'#text'}} | Format-Table -AutoSize

# 0x02 后记

点赞,收藏,关注,后续会持续更新该笔记!

http://www.dtcms.com/a/296339.html

相关文章:

  • 【YOLOv8改进 - 特征融合】FCM:特征互补映射模块 ,通过融合丰富语义信息与精确空间位置信息,增强深度网络中小目标特征匹配能力
  • 二、计算机网络技术——第5章:传输层
  • AWS S3 生命周期管理最佳实践:IoT Core 日志的智能存储优化
  • 康养休闲旅游服务虚拟仿真实训室:赋能人才培养的创新路径
  • Java:跨越时代的编程语言,持续引领技术潮流
  • [Office]数学公式插件
  • cri-docker部署高版本k8s
  • Windows 11 24H2 中文版安装教程(2025年4月更新版/官方ISO/详细步骤)
  • 实验-OSPF
  • 完成多项问题修复,MaxKB开源企业级智能体平台v1.10.9 LTS版本发布
  • 华为OpenStack架构学习9篇 连载—— 01 OpenStack架构介绍【附全文阅读】
  • 学习游戏制作记录(技能系统)7.24
  • Selenium基础教程
  • day46.通道注意力
  • Vue2——5
  • set集合(HashSet、LinkedHashSet、TreeSet)
  • MySQL数据库迁移至国产数据库测试案例
  • 二、计算机网络技术——第6章:应用层
  • 深入理解 ThreadLocal:从原理到最佳实践
  • Vue实现地图图片动态轨迹组件,支持放大缩小重置,兼容触摸等
  • Uniapp中使用vue3语法
  • vue3升级了哪些重要功能
  • vite+vue3 工程-SVG图标配置使用指南——vite-plugin-svg-icons 插件
  • pytest中使用skip跳过某个函数
  • 4.1.2 XmlInclude 在 C# 中的作用及示例
  • 【软件与环境】--SSH连接远程服务器工具:FinalShell
  • C语言:详解文件操作
  • 【Java工程师面试全攻略】Day12:系统安全与高可用设计
  • 嵌入式linux I2C 设备开发调试 使用i2cget 工具失败的问题
  • JavaScript性能优化实战指南:从原理到最佳实践