分析审计日志是安全的重要组成部分,对于系统安全、流程以及合规至关重要。日志分析过程的一部分工作是协调来自不同源和相关设备的日志,这些设备可能位于不同的时区。如果查看基本的网络拓扑,将有许多类型的设备,包括路由器、交换机、防火墙、服务器和工作站。每一个帮助你连接到世界其他地方的设备,都将根据其操作系统、配置和软件生成日志。检查日志是查找并解答系统或应用程序上出现的问题最优先方法之一。
一. Windows 事件查看器
Windows 事件查看器(Windows Event Viewer) 是用来学习分析问题的首选工具之一。创建审核日志的过程通常需要在特权模式下运行,以便用户无法停止或更改它。要通过GUI查看Windows 资产上的日志,必须打开事件查看器。
1. 按下 " Win + R " 组合键 ,输入 "cmd"2. 继续输入 auditpol /get /category:* >>log.txt (查看日志审核策略,找到log.txt,双击打开查看)3. 打开Windows事件查看器,在命令行:输入 "eventvwr".
4. 事件查看器的界面上有三个窗格。① 左侧是日志文件的层次结构;② 右侧是可以执行的操作;③ 对于日志的详细视图,可以使用中间的大窗格。5. Windows 的事件分为三个不同的类别:① 应用程序日志:记录与Windows组件(如驱动程序)相关的事件。② 系统日志:记录有关已安装程序的事件。③ 安全日志:记录与安全相关的事件,如登录尝试和访问的资源。注意:按下 " Win + E " 组合键打开文件管理器:输入 %SystemRoot%\System32\winevt\Logs\后缀为 evtx 的都是日志,可双击打开,还有一些其它位置的日志就不写了。
二. Windows PowerShell
接口程序(Shell或GUI)—— 用户态条件下的最深层次的程序。它使用命令行接口( CLI ),而不是移动和单击鼠标。只所以称为shell,是因为它是操作系统内核外部的层。Windows PowerShell 是专为管理员设计的特有 Windows 命令行shell 。
1. 按下 " Win + R " 组合键 ,输入 powershell ,然后按 Enter 键。2. 要获取本地计算机上的事件日志列表,请输入以下命令:Get-EventLog -List (不区分大小写)或者Get-WinEvent -ListLog * (列出所有事件日志)
3. 要在本地计算机上获取系统日志,请输入以下命令:Get-EventLog -LogName System ( Ctrl+c 停止输出;清屏用 CLS,不区分大小写)4. Get-EventLog 命令会生成大量信息。要缩小显示范围,例如仅显示系统日志中最后20条,请输入以下命令:Get-EventLog -LogName System -Newest 20
5. 攻击者使用 RDP 远程登录受害者计算机,源主机和目的主机都会生成相应事件.重要的事件 ID(安全日志,Security.evtx) 4624:账户成功登录 Get-WinEvent -FilterHashtable @{LogName='Security';ID='4624'} 4648:使用明文凭证尝试登录 4778:重新连接到一台 Windows 主向的会话 4779:断开到一台 Windows 主向的会话 powershell管理员权限下获取安全事件日志Get-WinEvent -FilterHashtable @{LogName='Security'} 6. 显示 最新的 一条 应用和系统日志Get-WinEvent @{logname='application','system'} -MaxEvents 17. 查询今天的应用和系统日志,显示前2条Get-WinEvent @{logname='application','system';starttime=[datetime]::today } -MaxEvents 28. 显示日志列表,并计数Get-WinEvent -ListLog * | Select LogName,RecordCount10. 筛选日志信息中包含【vmware】的日志Get-EventLog -LogName System | Where {$_.Message -like "*vmware*"}11. 在【Windows PowerShell】类别中查询EventID小于500的日志信息Get-EventLog -LogName "Windows PowerShell" | Where {$_.EventID -lt 500}使用Format-List可以查看详细信息:Get-EventLog -LogName "Windows PowerShell" | Where {$_.EventID -lt 500} | Format-List12. 查询自昨天这个时候到今天这个时候的日志,并按照EventID排序、分组:Get-EventLog -LogName "Windows PowerShell" | Where {$_.TimeWritten -gt ((Get-Date).AddDays(-1))} |Sort EventID | Group EventID13. 查询指定时间内的事件$StartTime=Get-Date -Year 2020 -Month 11 -Day 1 -Hour 15 -Minute 30$EndTime=Get-Date -Year 2020 -Month 11 -Day 15 -Hour 20 -Minute 00Get-WinEvent -FilterHashtable @{LogName='System';StartTime=$StartTime;EndTime=$EndTime}使用帮助,请输入如下命令:get-help Get-WinEvent
默认情况下,Windows 会启用大多数日志记录功能。但你可能需要定义所需的日志记录级别。攻击者入侵系统后,很可能会删除日志,比较粗暴的手法是直接删除所有日志和停止日志服务,对于应急来说删除掉的日志本身就是就是入侵的明显特征,根据文件创建时间也能大概判断入侵时间。对抗删除的的措施是实施日志集中化。