当前位置: 首页 > news >正文

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
http://www.xdnf.cn/news/1354051.html

相关文章:

  • 从词源和输出生成等角度详细解析PHP中常用文件操作类函数
  • BEVDet/BEVDet4D
  • 【40页PPT】数据安全动态数据脱敏解决方案(附下载方式)
  • LeetCode 分类刷题:2529. 正整数和负整数的最大计数
  • 【大语言模型 16】Transformer三种架构深度对比:选择最适合你的模型架构
  • XCVM1802-2MSEVSVA2197 XilinxAMD Versal Premium FPGA
  • flink常见问题之超出文件描述符限制
  • android studio配置 build
  • VS Code 中创建和开发 Spring Boot 项目
  • JWT实现Token登录验证
  • Nacos-11--Nacos热更新的原理
  • 语义普遍性与形式化:构建深层语义理解的统一框架
  • C++算法题—— 小C的细菌(二维偏序离线 + 树状数组 + 坐标压缩)
  • 使用Proxifier+vmware碰到的一些问题
  • JUC之虚拟线程
  • 论文阅读:Inner Monologue: Embodied Reasoning through Planning with Language Models
  • 173-基于Flask的微博舆情数据分析系统
  • 数据结构 之 【AVL树的简介与部分实现】(部分实现只涉及AVL树的插入问题,包括单旋((右单旋、左单旋))、双旋(左右单旋、右左单旋)等操作)
  • SAP FI 应收应付账龄分析
  • leetcode26:删除有序数组中的重复项Ⅰ(快慢指针解法)
  • X射线胸部肺炎检测:基于深度学习的医学影像分析项目
  • 概率论基础教程第六章 随机变量的联合分布(二)
  • 告别SaaS数据绑架,拥抱数据主权:XK+独立部署版跨境商城定制,为海外物流企业深度赋能
  • 遥感机器学习入门实战教程|Sklearn案例⑨:数据预处理(Processing)
  • 不用 if-else,Spring Boot 怎么知道 ?status=10 是哪个枚举?
  • 小白成长之路-k8s原理(一)
  • STM32学习笔记19-FLASH
  • [Mysql数据库] 选择备份策略选择题
  • 工业场景烟雾识别误报率↓82%!陌讯多模态融合算法实战解析
  • 水泉村信息化服务小程序的设计与实验