LogParse-Windows系统日志分析

LogParse-Windows系统日志分析Windows系统日志分析一、前言本文将对常见的日志类型,利用微软日志分析工具(LogParser)结合已经掌握的恶意代码分析Windows系统日志,关联出系统的异常。数据来源于Windows的事件查看器中的*.evtx文件,eventvwr.msc。System日志Security日志Setup日志除此之外还要关注木马病毒的信息注册表日志文件修改时间二、Wi…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

Windows系统日志分析

一、前言

本文将对常见的日志类型,利用微软日志分析工具(LogParser)结合已经掌握的恶意代码分析Windows系统日志,关联出系统的异常。

数据来源于Windows的事件查看器中的*.evtx文件,eventvwr.msc。

  • System日志
  • Security日志
  • Setup日志

除此之外还要关注木马病毒的信息

  • 注册表日志
  • 文件修改时间

二、Windows登录类型

安全日志登录部分的事件 ID 和登录类型代码都具有一定含义:

事件 ID(Event ID)

Event ID(2000/XP/2003) Event ID(Vista/7/8/2008/2012) 描述
528 4624 成功登录
529 4625 失败登录
680 4776 成功/失败的账户认证
624 4720 创建用户
636 4732 添加用户到启用安全性的本地组中
632 4728 添加用户到启用安全性的全局组中
2934 7030 服务创建错误
2944 7040 IPSEC服务服务的启动类型已从禁用更改为自动启动
2949 7045 服务创建

事件类型(EventType)

登录类型 登录类型 描述
2 Interactive 用户登录到本机
3 Network 用户或计算手机从网络登录到本机,如果网络共享,或使用 net use 访问网络共享,net view 查看网络共享
4 Batch 批处理登录类型,无需用户干预
5 Service 服务控制管理器登录
7 Unlock 用户解锁主机
8 NetworkCleartext 用户从网络登录到此计算机,用户密码用非哈希的形式传递
9 NewCredentials 进程或线程克隆了其当前令牌,但为出站连接指定了新凭据
10 Remotelnteractive 使用终端服务或远程桌面连接登录
11 Cachedlnteractive 用户使用本地存储在计算机上的凭据登录到计算机(域控制器可能无法验证凭据),如主机不能连接域控,以前使用域账户登录过这台主机,再登录就会产生这样日志
12 CachedRemotelnteractive 与 Remotelnteractive 相同,内部用于审计目的
13 CachedUnlock 登录尝试解锁

三、分析思路

关注节点

  • 入侵时间段
  • IP(外网IP选取攻击者IP、监控到有被远控的内网IP)
  • 登录成功类型、尝试登录类型

关联分析

1、得到已经发现WEBSHELL、远控木马的创建时间

2、搜索注册表信息,通过注册表信息获取注册表键值创建时间再找出同一时间创建的文件。

549050-20190124101218536-1878192436.png

3、整合文件创建的时间、注册表键值创建时间找出的新文件时间整合分析系统日志,把整个行为关联起来。

四、LogParse分析语法

显示方式

-i:EVT是指定分析的日志,也可以分析CSV 、IISW3C 等日志格式。

# 网格显示

Logparser.exe –i:EVT –o:DATAGRID “SELECT * FROM Security.evtx”

# CSV显示

Logparser.exe –i:EVT –o:DATAGRID “SELECT * FROM Security.evtx”

筛选语句

LogParse直接SQL语句,详细SQL语句使用说明在自带的CHM说明里。结合分组、提取语句就可以统计出源IP,时间,用户名。

只需要取出关键列进行判断或者比对,就可以从庞大的windows安全日志中提取出安全事件发生后想要关联的信息。

  • EXTRACT_TOKEN()
EXTRACT_TOKEN(列名,字段数,‘分隔符’)


EXTRACT_TOKEN(Strings, 8, '|')

输出结果:

549050-20190124101232668-2025027302.jpg

  • 分组别名显示
字段名 as 别名

LogParser.exe -i:EVT -o:DATAGRID "SELECT TimeGenerated as LoginTime FROM Security.evtx where EventID=4624"

输出结果:

549050-20190124101243744-1926458899.jpg

  • 按年月日筛选

使用timestamp(‘年-月-日’, ‘yyyy-MM-dd’)函数

LogParser.exe -i:EVT -o:DATAGRID "SELECT * FROM Security.evtx where TO_DATE(TimeGenerated) between timestamp('2018-10-17', 'yyyy-MM-dd') and timestamp('2018-10-27', 'yyyy-MM-dd')" -rtp:-1 
  • 按时间筛选
LogParser.exe -i:EVT -o:DATAGRID "SELECT * FROM Security.evtx where to_time(TimeGenerated) between timestamp('13:33:00', 'hh:mm:ss') and timestamp('13:35:00', 'hh:mm:ss')" -rtp:-1 
  • 按照事件ID分析

4624是登录成功的ID信息,指定某个关键列中的事件ID显示出结果。

LogParser.exe -i:EVT -o:DATAGRID "SELECT TimeGenerated as LoginTime,EXTRACT_TOKEN(Strings,5,'|') as username,EXTRACT_TOKEN(Strings, 8, '|') as LogonType,EXTRACT_TOKEN(Strings, 17, '|') AS ProcessName,EXTRACT_TOKEN(Strings, 18, '|') AS SourceIP FROM Security.evtx where EventID=4624“

五、Windows日志分析

Security日志

筛选出登录成功的事件(4624)中的登录时间、用户名、登录类型、进程名、源IP。

关注点:

1、管理员登录时间段是不是正常时间
2、木马运行的时间和管理员登录时间对不对应

语句:

LogParser.exe -i:EVT -o:DATAGRID "SELECT TimeGenerated as LoginTime,EXTRACT_TOKEN(Strings,5,'|') as username,EXTRACT_TOKEN(Strings, 8, '|') as LogonType,EXTRACT_TOKEN(Strings, 17, '|') AS ProcessName,EXTRACT_TOKEN(Strings, 18, '|') AS SourceIP FROM Security.evtx where EventID=4624 AND TO_DATE(TimeGenerated) between timestamp('2018-10-17', 'yyyy-MM-dd') and timestamp('2018-10-27', 'yyyy-MM-dd')" -rtp:-1 

System日志

关注点:

1、时间段
2、服务名、服务路径

语句:

LogParser.exe -i:EVT -o:DATAGRID "SELECT TimeWritten,EventID,EventType,EventTypeName,SourceName,EXTRACT_TOKEN(Strings,0,'|') as service_name,EXTRACT_TOKEN(Strings,1,'|') as service_path,Message from system.evtx where TO_DATE(TimeGenerated) between timestamp('2018-10-19', 'yyyy-MM-dd') and timestamp('2018-10-20', 'yyyy-MM-dd')" -rtp:-1"

Application日志

关注点:

1、程序运行时间

语句:

LogParser.exe -i:EVT -o:DATAGRID "SELECT * from Application.evtx where TO_DATE(TimeGenerated) between timestamp('2018-10-17', 'yyyy-MM-dd') and timestamp('2018-10-27', 'yyyy-MM-dd')" -rtp:-1"

参考

用LogParser分析Windows日志

https://yq.aliyun.com/articles/404198

Windows 系统安全事件应急响应

https://xz.aliyun.com/t/2524#toc-5

LogParser: Filter records for specific time frame/date

https://blogs.msdn.microsoft.com/jaskis/2009/08/10/logparser-filter-records-for-specific-time-framedate/

转载于:https://www.cnblogs.com/17bdw/p/10312918.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/197317.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 升级Mac Catalina后OBS录屏软件麦克风和内置声音输出没有声音的问题[通俗易懂]

    升级Mac Catalina后OBS录屏软件麦克风和内置声音输出没有声音的问题[通俗易懂]升级MacCatalina后,OBS录屏软件录制的视频,电脑内置声音输出,以及麦克风输入声音都没有。使用网上搜到的soundflower工具也不行。后来找到如下命令临时解决。在终端输入如下命令:open/Applications/OBS.app/Contents/MacOS/OBS–args-picture每次使用OBS,都需要用上述方法。直接打开OBS的不行,需要等OBS…

  • PHP Fatal error: Uncaught Error: Call to undefined function posix_getpid()「建议收藏」

    PHP Fatal error: Uncaught Error: Call to undefined function posix_getpid()

  • FPGA与CPLD的比较[通俗易懂]

    FPGA与CPLD的比较[通俗易懂]FPGA基于SRAM的架构,集成度高,以Slice为基本单元,有内嵌Memory、DSP等,支持丰富的IO标准,具有易挥发性,需要有上电加载过程。在实现复杂算法、队列调度、数据处理、高性能设计、大容量缓存设计等领域有广泛应用,如XilinxVirtex系列以及AlteraStratix系列。CPLD基于EEPROM工艺,集成度低,以MicroCell为基本单元。具有非挥发特性,可以重复写入。在粘合逻辑、地址译码、简单控制、FPGA加载等设计中有广泛应用,如XilinxCoolRunner系列以及Al

  • 华为模拟器eNSP安装史上最全。。

    华为模拟器eNSP安装史上最全。。**华为模拟器基本使用**首先下载模拟工具eNSPeNSP(EnterpriseNetworkSimulationPlatform)是一款由华为提供的免费的、可扩展的、图形化操作的网络仿真工具平台,主要对企业网络路由器、交换机进行软件仿真,完美呈现真实设备实景,支持大型网络模拟,让广大用户有机会在没有真实设备的情况下能够模拟演练,学习网络技术。网站地址https://supp…

  • idea激活码2022【最新永久激活】

    (idea激活码2022)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~https://javaforall.cn/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~S32P…

  • java中page的对象,page对象[通俗易懂]

    java中page的对象,page对象[通俗易懂]page对象是JSP九大内置对象之一。JSP全称JavaServerPage,是一种动态网页技术标准,以Java语言作为脚本语言。在JSP中预先定义了九个内置对象,这个九个内置对象不需要声明就可以在脚本代码和表达式中任意使用,九个内置对象分别是:request、response、session、application、out、pageContext、config、page、exception。pa…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号