日志分析
1、前言
Windows 日志本质上是一个数据库,其中包括应用程序、安全、系统的操作记录。记录的事件包含9个字段:日期/时间、事件类型、用户、计算机、事件ID、来源、类别、描述、数据等。
系统信息提取脚本:https://yunpan.360.cn/surl_yrad892HMjZ (提取码:d1b6)
Windows 日志共有五种类型,所有的记录只能属于其中的一种事件类型:
选项
说明
信息(Information)
信息事件指应用程序、驱动程序或服务的成功操作的事件
警告(Warning)
警告事件指不是直接的、主要的,但是会导致将来问题发生的问题。例如,当磁盘空间不足或未找到打印机时,都会记录一个“警告”事件
错误(Error)
错误事件指用户应该知道的重要的问题。错误事件通常指功能和数据的丢失。例如, 如果一个服务不能作为系统引导被加载,那么它会产生一个错误事件
成功审核(Success audit)
成功的审核安全访问尝试,主要是指安全性日志,这里记录着用户登录/注销、对象访问、特权使用、账户管理、策略更改、详细跟踪、目录服务访问、账户登录等事件,例如所有的成功登录系统都会被记录为“成功审核”事件
失败审核(Failure audit)
失败的审核安全登录尝试,例如用户试图访问网络驱动器失败,则该尝试会被作为失败审核事件记录下来
2、Windows日志位置
1、系统日志
记录操作系统组件产生的事件,主要包括驱动程序、系统组件和应用软件的崩溃以及数据
默认位置:
2、应用程序日志
包含由应用程序或系统程序记录的事件,主要记录程序运行方面的事件
默认位置:
3、安全日志
记录系统的安全审计事件,包含各种类型的登录日志、对象访问日志、进程追踪日志、特权使用、帐号管理、策略变更、系统事件。安全日志也是调查取证中最常用到的日志
默认位置:
4、powershell日志
事件查看器 -> 应用程序和服务日志 -> Microsoft -> Windows -> PowerShell -> Operationnal
系统和应用程序日志存储着故障排除信息,对于系统管理员更为有用。 安全日志记录着审计信息,包括用户验证(登录、远程访问等)和特定用户在认证后对系统做了什么,对于寻找攻击链更有帮助
3、EventID
对于 Windows 日志分析,我们可以根据自己的需要,根据事件ID迅速找出我们关心的信息。不同的事件ID代表不同的意义,具体信息可以参考微软官方文档
EVENT ID (2000/XP/2003)
EVENT ID ( Vista/7/8/2008/2012)
描述
日志名称
528
4624
成功登录
Security
529
4625
失败登录
Security
680
4776
成功/失败的账户认证
Security
624
4720
创建用户
Security
636
4732
添加用户到启用安全性的本地组中
Security
632
4728
添加用户到启用安全性的全局组中
Security
2934
7030
服务创建错误
System
2944
7040
IPSEC服务服务的启动类型已从禁用更改为自动启动
System
2949
7045
服务创建
System
登录类型事件
成功/失败登录事件提供的有用信息之一是用户/进程尝试登录(登录类型),但 Windows 将此信息显示为数字,下面是数字和对应的说明
登录ID
登录类型
描述
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
登录尝试解锁
123
4、远程登录事件
1、RDP
攻击者使用 RDP 远程登录受害者计算机,源主机和目的主机都会生成相应事件。
重要的事件 ID(Windows日志 → 安全日志),必须要检查。
远程连接日志(应用程序和服务日志 → Microsoft → Windows → TerminalServices → RemoteConnectionManager → Operational)的 ID :
远程连接日志关注 RemoteInteractive(10) 和CachedRemoteInteractive(12)表明使用了 RDP ,因为这些登录类型专用于RDP使用。
2、计划任务和AT
计划任务事件(应用程序和服务日志 → Microsoft → Windows → TaskScheduler → Operational),该日志默认是禁用的。
3、案例
PSExec是系统管理员的远程命令执行工具,包含在“Sysinternals Suite”工具中,但它通常也用于内网渗透中的横向移动。
PsExec的典型行为
在具有网络登录(类型3)的远程计算机上将 PsExec 服务执行文件(默认值:PSEXESVC.exe)复制到%SystemRoot%。
如果使用-c选项,则通过 $Admin 共享将文件复制到 %SystemRoot% 执行命令。
注册服务(默认值:PSEXESVC),并启动服务以在远程计算机上执行该命令。
停止服务(默认值:PSEXESVC),并在执行后删除远程计算机上的服务。
PSExec选项的重要选项:
5、小知识点
1、账户类型
用户账户
计算机账户:此帐户类型表示每个主机。 此帐户类型的名称以字符“$”结尾。 例如,“DESKTOP-SHCTJ7L $”是计算机帐户的名称。
服务账户:每个服务帐户都创建为特定服务的所有者。 例如,IUSR是IIS的所有者,而krbtgt是作为密钥分发中心一部分的服务的所有者
2、日志被删除或日志服务被关闭
攻击者入侵系统后,很可能会删除日志,比较粗暴的手法是直接删除所有日志和停止日志服务。如果只是删除某一段时间内的日志,说明攻击者在这个时间段内进行了恶意行为,应该重点排查这段时间内的其他日志以及创建、修改过的文件
3、系统存在大量日志
搜索关键事件的ID,先找出危险动作,再排查危险动作的上下文日志
最后更新于