LogParse-Windows系统日志分析
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、搜索注册表信息,通过注册表信息获取注册表键值创建时间再找出同一时间创建的文件。
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, '|')
输出结果:
- 分组别名显示
字段名 as 别名
LogParser.exe -i:EVT -o:DATAGRID "SELECT TimeGenerated as LoginTime FROM Security.evtx where EventID=4624"
输出结果:
- 按年月日筛选
使用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
LogParse-Windows系统日志分析的更多相关文章
- 如何安全管理windows系统日志,windows系统日志的报表和告警
如何安全管理windows系统日志,windows系统日志的报表和告警 无论大小,每个拥有IT基础设施的组织都容易发生内部安全攻击.您的损失等同于黑客的收益:访问机密数据.滥用检索到的信息.系统崩溃, ...
- windows 无法分析或处理 pass 报错问题汇总
日光月华 发表于 2015-2-9 22:02:42 https://www.itsk.com/thread-346404-1-1.html 系统封装失败遇到windows 无法分析或处理 pass ...
- 【原创】利用Windows系统日志统计员工每天上下班考勤时间
利用Windows系统日志统计员工每天上下班考勤时间(命令行参数为统计月份): using System; using System.Collections.Generic; using System ...
- 使用Windows的分析等待链(analyze wait chain)来诊断没用响应的应用
博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:使用Windows的分析等待链(analyze wait chain)来诊断没用响应的应用.
- windows共享文件分析
·小结: 1.win+r,\\ip 弹出登录框,输入Guest,密码空登录:前置检查来宾账户状态: 2.net use 查看当前已经连接到的主机 实践: C:\Users\sas>net u ...
- 《Windows内核分析》专题-索引目录
该篇博客整理了<Windows内核分析>专题的各篇博文,方便查找. 一.保护模式 二.进程与线程 [Windows内核分析]KPCR结构体介绍 (CPU控制区 Processor Cont ...
- [Windows内核分析]KPCR结构体介绍 (CPU控制区 Processor Control Region)
Windows内核分析索引目录:https://www.cnblogs.com/onetrainee/p/11675224.html 逆向分析操作系统内核代码至少需要具备两项技能: 段页汇编代码非常懂 ...
- Service系统服务(三):查看进程信息、进程调度及终止、系统日志分析、使用systemctl工具
一.查看进程信息 目标: 本例要求掌握查看进程信息的操作,使用必要的命令工具完成下列任务: 找出进程 gdm 的 PID 编号值 列出由进程 gdm 开始的子进程树结构信息 找出进程 sshd 的父进 ...
- windows 服务器系统日志分析及安全
一.利用Windows自带的防火墙日志检测入侵 下面是一条防火墙日志记录 2005-01-1300:35:04OPENTCP61.145.129.13364.233.189.104495980 200 ...
随机推荐
- 【转】cJSON 源码阅读笔记
前言 cjson 的代码只有 1000+ 行, 而且只是简单的几个函数的调用. 而且 cjson 还有很多不完善的地方, 推荐大家看完之后自己实现一个 封装好的功能完善的 cjson 程序. json ...
- Dijstra算法求最短路径
参考博客:http://blog.51cto.com/ahalei/1387799 与Floyd-Warshall算法一样这里仍然使用二维数组e来存储顶点之间边的关系,初始值如下. ...
- 【洛谷P1376】机器工厂
题目大意:给定两个有 N 个数的序列 A,B,每个点有一个对应的权值,现需要计算答案的贡献:\(B[i]*min\{A[j]+s*(i-j),j\in[1,i] \}\) 的最小值. 题解:由于 B ...
- 设置 webstorm 对 .vue 高亮
1. 首先安装vue插件,安装方法: setting --> plugin ,点击plugin,在内容部分的左侧输入框输入vue,会出现两个关于vue的插件,点击安装即可.安装完成后,就可 ...
- 警告: No data sources are configured to run this SQL and provide advanced code assistance. Disable this inspection via problem menu (Alt+Enter). more... (Ctrl+F1) SQL dialect is not configured. Postgr
python3出现问题: 警告: No data sources are configured to run this SQL and provide advanced code assistance ...
- Date对象常用方法
年月日: var oDate = new Date() //年 oDate.getFullYear(); //月 返回的月份要+1才正常 oDate.getMonth()+1: //日 oDate.g ...
- linux-2.6.26内核中ARM中断实现详解(转)
转载:http://www.cnblogs.com/leaven/archive/2010/08/06/1794293.html 更多文档参见:http://pan.baidu.com/s/1dDvJ ...
- java类的回顾
1.类是某一批对象的抽象,对象才是一个具体的存在的实体,你我他都是人的实例,而不是人的类.2.类可以包含三种最常见的成员:构造器,成员变量,方法3.4.java世界里,属性,如某个类具有age属性,通 ...
- Spring集成mybatis时mybatis的映射XML配置
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "- ...
- python遍历数组获取下标
代码 通过枚举实现 a = [,,,,,] for i,j in enumerate(a): print i,j 结果