Windows应急响应一般思路(三)
文件痕迹排查
在应急响应排查的过程中,由于大部分的恶意软件、木马、后门等都会在文件维度上留下痕迹,因此对文件痕迹的排查必不可少
一般可以从以下几方面对文件痕迹进行排查
- 对恶意软件常用的敏感路径进行排查
- 在确定了应急响应事件的时间点后,对时间点前后的文件进行排查
- 对带有特征的恶意软件进行排查,这些特征包括代码关键字或关键函数、文件权限特征等
Windows文件痕迹排查
敏感目录
在Windows系统中,恶意软件常会在以下位置驻留
temp(tmp)相关目录
有些恶意程序释放子体(即恶意程序运行时投放出的文件)一般会在程序中写好投放的路径,由于不同系统版本的路径有所差别,是临时文件的路径相对统一,因此在程序中写好的路径一般是临时目录,对敏感录进行的检查,一般是查看临时目录下是否有异常文件
除了temp,Windows、Appdata、localappdata这些目录也需要排查一下
%WINDIR%
,Windows目录%WINDIR%\system32\
%TEMP%
,temp目录%LOCALAPPDATA%
,localappdata目录%APPDATA%
,Appdata目录
工具下载记录
对于一些人工入侵的应急响应事件,有时入侵者会下载一些后续攻击的工具,Windows系统要重点排查浏览器的历史记录、下载文件和cookie信息,查看是否有相关的恶意痕迹
查看用户Recent文件
Recent文件主要存储了最近运行文件的快捷方式,可通过分析最近运行的文件,排查可疑文件
一般,Recent文件在Windows系统中的存储位置如下:
C:\Documents and Settings\Administrator(系统用户名)\Recent
C:\Documents and Settings\Default User\Recent
或者直接在运行中输入
%UserProfile%\Recent
%APPDATA%\Microsoft\Windows\Recent
预读取文件夹
%systemroot%\Prefetch
最近运行过的程序会有预读取
近期变动文件
时间点查找应急响应事件发生后,需要先确认事件发生的时间点,然后排查时间点前、后的文件变动情况,从而缩小排查的范围
在windows下,一个文件有:创建时间、修改时间、访问时间
- 创建时间:文件创建时间
- 修改时间:文件内容被修改时间
- 访问时间:文件访问时间或者说最近一次文件状态改变的时间(受到LastAccessTime影响,Vista之后默认关闭)
Everything
使用Everything工具可以很直观看到文件的创建时间、修改时间、访问时间
forfiles
可列出攻击日期内新增的文件,从而发现相关的恶意软件,在Windows系统中,可以在命令行中输入【forfiles】命令,查找相应文件
例如:使用【forfiles /m *.exe /d +2025/7/12 /s /p c:\ /c "cmd /c echo @path @fdate @ftime"
】命令就是对2025/7/12后的exe新建文件进行搜索
- /m 文件掩码
- /d 日期筛选
- /s 递归搜索
- /p 起始路径 c:\ (使用标准Windows路径)
- /c 执行命令
排查时间逻辑问题
对文件的创建时间、修改时间、访问时间进行排查
对于人工入侵的应急响应事件,有时攻击者会为了掩饰其入侵行为,对文档的相应时间进行修改,以规避一些排查策略
例如,攻击者可能通过“菜刀类”工具改变修改时间
因此,如果文件的相关时间存在明显的逻辑问题,就需要重点排查了,极可能是恶意文件
隐藏文件排查
- 如果是ads隐藏,可以通过dir /r查看
- 隐藏方式为类似于
echo ^<?php ..... ^> > a.php:hidden.jpg
,直接看只会显示a.php
- 隐藏方式为类似于
- 如果是普通文件隐藏,可以通过dir /a查看
- 隐藏方式为类似于
attrib +s +h 文件名
- 隐藏方式为类似于
敏感内容
- 查找文件中的字符串:
findstr /m /i /s "hello" *.txt
其他常用命令
- 操作系统的详细配置信息:
systeminfo
- 计算样本MD5:
certutil -hashfile %样本exe% MD5