Windows系统有很多敏感目录,应急响应时,可以帮助我们寻找攻击路径。
敏感文件痕迹排查
一、根据时间查找 Forfiles
文件有三个时间:创建时间、修改时间、访问时间。
- 创建时间:文件新建的时间,首次出现在硬盘上的时间。
- 修改时间:文件内容被修改的时间。
- 访问时间:文件最后访问时间,读取、写入、复制或执行的最后时间。
右键文件 - 【属性】-【常规】可以查看文件的创建、修改、访问时间:
攻击者为了掩盖痕迹,通常会用菜刀等工具修改文件的时间信息,比如修改时间比创建时间早,那这个文件就很可疑。
确认事件发生的时间点后,可以查找时间范围内改动过的文件。
比如:查找2023年3月30日以后新增的程序:
forfiles /m *.exe /d +2023/3/30 /s /p c:\ /c:"cmd /c echo @path @fdate @ftime" 2>null
如果everything没有禁用的话,也可以用它搜索文件。
1、访问时间不更新问题
Windows 2003 SP1开始,为了提升性能,关闭了LastAccessTime,这意味着文件的访问时间不会实时更新。
从微软提供的GetFileTime这个API可以发现,LastAccessTime表示文件读取、写入、复制或执行的最后时间,也就是文件属性中的访问时间。
实时记录访问时间意味着:一个文件的读操作,会变成读+写操作,也就是将文件的读取时间写到文件属性和目录索引中,这对性能的影响是巨大的。
FAT文件系统中,创建时间的分辨率为10毫秒,写入时间分辨率为2秒,访问时间分辨率为1天。
NTFS文件系统将访问时间的更新,延迟到上次访问后最多一个小时,并且默认禁用访问时间更新功能。
因此,Windows XP 和 Windows Server 2003 中,访问时间默认在NTFS卷上更新,而后续的Windows版本则不会更新文件的访问时间。
二、最近打开的文件 Recent
Recent记录最近打开的文件或程序,方便你再次访问。
WIN + R ,输入 recent
,查看当前用户最近打开的文件。
点修改日期列的右边栏,筛选事件发生时间打开的文件;在搜索栏,搜索指定文件。
到C:\Users\查看其他用户的recent记录,每个用户的记录都是单独存放的,不一样。
- 默认不显示recent目录,地址栏手动敲,回车,进入目录。
三、临时目录 Temp
Temp是Windows的临时文件夹,用来临时保存用户的文件,以防止数据丢失。用户没来得及保存、删除、移动、复制的文本都会保存到Temp目录下。
Temp文件对当前登录用户具有读写访问权限,会被恶意软件当做提权的暂存地点,即先把脚本上传到Temp目录,再利用Temp目录的权限提权。
Temp路径:C:\Windows\Temp
快速打开方式:WIN + R ,输入 %temp%
重点检查exe、dll、sys文件,或者特别大的文件。
将可疑文件上传到沙箱或情报中心分析,比如:
- 奇安信威胁情报中心:
https://ti.qianxin.com/
- VT文件分析平台:
https://www.virustotal.com/gui/home/upload
四、预读取文件 Prefetch
Prefetch是Windows系统的预读取文件夹,用来存放系统已经访问过的文件的预读信息,以便下次访问时可以更快的加载。
WIN + R ,输入 %systemroot%\Prefetch
,打开预读取文件夹
五、程序执行情况 Amcache.hve
Amacache.hve是Windows系统保存可执行系统文件的注册表仓库,可以查看程序的执行路径、上次执行时间、创建时间以及SHA1值。
WIN + R,输入 %systemroot%\appcompat\Programs
,打开Amcache.hve。
六、浏览器分析
攻击者可能会使用浏览器访问一些网站或下载文件。
可以查看浏览器的浏览记录、下载记录、Cookie信息进行协助分析。
七、webshell
攻击者通常会在服务器上留下webshell,以便长期空中,需要利用相关工具查杀可疑文件。
服务器通常会安装杀毒软件,全盘扫描即可,如果没装就装一个。
杀毒软件一般不会做驱动对抗,如果怀疑是驱动类型的病毒,需要用专杀工具(奇安信顽固病毒专杀工具、360急救箱等)。
PC版客户端也大同小异,用相关工具扫就可以了。