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

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

LogParse-Windows系统日志分析的更多相关文章

  1. 如何安全管理windows系统日志,windows系统日志的报表和告警

    如何安全管理windows系统日志,windows系统日志的报表和告警 无论大小,每个拥有IT基础设施的组织都容易发生内部安全攻击.您的损失等同于黑客的收益:访问机密数据.滥用检索到的信息.系统崩溃, ...

  2. windows 无法分析或处理 pass 报错问题汇总

    日光月华 发表于 2015-2-9 22:02:42 https://www.itsk.com/thread-346404-1-1.html 系统封装失败遇到windows 无法分析或处理 pass ...

  3. 【原创】利用Windows系统日志统计员工每天上下班考勤时间

    利用Windows系统日志统计员工每天上下班考勤时间(命令行参数为统计月份): using System; using System.Collections.Generic; using System ...

  4. 使用Windows的分析等待链(analyze wait chain)来诊断没用响应的应用

    博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:使用Windows的分析等待链(analyze wait chain)来诊断没用响应的应用.

  5. windows共享文件分析

    ·小结: 1.win+r,\\ip  弹出登录框,输入Guest,密码空登录:前置检查来宾账户状态: 2.net use  查看当前已经连接到的主机 实践: C:\Users\sas>net u ...

  6. 《Windows内核分析》专题-索引目录

    该篇博客整理了<Windows内核分析>专题的各篇博文,方便查找. 一.保护模式 二.进程与线程 [Windows内核分析]KPCR结构体介绍 (CPU控制区 Processor Cont ...

  7. [Windows内核分析]KPCR结构体介绍 (CPU控制区 Processor Control Region)

    Windows内核分析索引目录:https://www.cnblogs.com/onetrainee/p/11675224.html 逆向分析操作系统内核代码至少需要具备两项技能: 段页汇编代码非常懂 ...

  8. Service系统服务(三):查看进程信息、进程调度及终止、系统日志分析、使用systemctl工具

    一.查看进程信息 目标: 本例要求掌握查看进程信息的操作,使用必要的命令工具完成下列任务: 找出进程 gdm 的 PID 编号值 列出由进程 gdm 开始的子进程树结构信息 找出进程 sshd 的父进 ...

  9. windows 服务器系统日志分析及安全

    一.利用Windows自带的防火墙日志检测入侵 下面是一条防火墙日志记录 2005-01-1300:35:04OPENTCP61.145.129.13364.233.189.104495980 200 ...

随机推荐

  1. Mysql 主从服务器数据同步

    安装2台windows Server 服务器,分别安装Mysql,配置环境变量,完成安装确认在CMD窗口可以使用Mysql命令 在Master服务器上创建同步账号,确保Slave服务器能访问Maste ...

  2. 创建首个 Android 项目

    Android 项目包括构成你的 Android 应用的源代码的所有文件. 利用 Android SDK 工具可以简单的创建 默认项目目录和文件来开始一个新的 Android 项目. 本节课展示了如何 ...

  3. 手动实现property装饰器

    首先,property装饰器是通过数据描述符实现的.用法很简单,大家应该都知道,这里就不细说了. 这里主要分析一下property是如何通过描述符实现的. class Property: def __ ...

  4. BSGS

    北上广深/拔山盖世算法. yaT+b = z mod p p为质数,Hash表存b,枚举a,复杂度p0.5 记得特判y = 0的情况. inline void solve3() { Hash::cle ...

  5. spring-data-jpa与mybatis的对比

    Spring Data JPA 与 MyBatis对比 Spring Data JPA是Spring Data的子模块.使用Spring Data,使得基于“repositories”概念的JPA实现 ...

  6. LINUX_正则表达式

    『正规表示法与通配符是完全不一样的东西!』这很重要喔!因为『通配符 (wildcard) 代表癿是 bash 操作接口癿一个功能』,但正觃表示法则是一种字符串处理癿表示方式  . (小数点):代表『 ...

  7. db nosql redis / Redis Sentinel

    s Redis基础原理和日常操作方法 http://itsm.cns*****.com/kindeditor/img/20170527/759128afca564051b491e6a51a5bad40 ...

  8. shell脚本递归压缩实践

    #!/bin/bash Src_Path=/data/www/logs Dst_Path=/data/www/logs_bak for rfile in `find $Src_Path/ -depth ...

  9. linux useradd 的一个用法

    执行命令如下: [root@hds01 home]# useradd -s /sbin/nologin -M -g wwwgroup nginx -s表示指定用户所用的shell,此处为/sbin/n ...

  10. Kanboard简单的可视化任务板,项目管理

    采用docker安装 简单快捷 下载 docker pull kanboard/kanboard:latest 运行 docker run -d --name kanboard -p 10080:80 ...