在Windows系统的网络安全应急响应中,文件痕迹排查是识别攻击行为的关键步骤。以下是针对敏感目录的详细排查指南及扩展建议:
1. 临时目录排查(Temp/Tmp)
- 路径示例 :
C:\Windows\Temp
C:\Users\<用户名>\AppData\Local\Temp
- 各磁盘根目录下的
Temp
或tmp
文件夹(如D:\Temp
)
- 排查重点 :
- 异常文件类型 :检查是否存在可疑的
.exe
、.dll
、.bat
、.ps1
、.vbs
等可执行文件或脚本(如svchost.exe
在临时目录中出现需警惕)。 - 时间戳分析:结合事件时间线,筛选近期创建/修改的文件。
- 隐藏文件 :使用
dir /a
命令或文件资源管理器的"显示隐藏文件"选项查看。
- 异常文件类型 :检查是否存在可疑的
- 工具建议 :
- 使用
Everything
快速搜索全盘.exe
文件。 - 通过
PowerShell
命令批量提取文件哈希值,对比威胁情报库(如VirusTotal)。
- 使用
2. 浏览器痕迹分析
- 浏览器数据路径 :
- Chrome/Edge :
C:\Users\<用户名>\AppData\Local\Google\Chrome\User Data\Default
C:\Users\<用户名>\AppData\Local\Microsoft\Edge\User Data\Default
- Firefox :
C:\Users\<用户名>\AppData\Roaming\Mozilla\Firefox\Profiles
- Chrome/Edge :
- 关键文件 :
- 历史记录 :
History
(SQLite数据库,可通过工具如DB Browser for SQLite
查看)。 - 下载记录 :
Downloads
或Download
表。 - Cookies :
Cookies
文件(可能包含会话劫持信息)。 - 扩展程序 :检查
Extensions
目录是否有恶意插件。
- 历史记录 :
- 自动化工具 :
- 使用
BrowsingHistoryView
、WebBrowserPassView
等工具快速提取浏览器痕迹。
- 使用
3. Recent文件分析(最近访问记录)
- 路径 :
- Windows 7及更早 :
C:\Documents and Settings\<用户名>\Recent
C:\Documents and Settings\Default User\Recent
- Windows 8/10/11 :
C:\Users\<用户名>\AppData\Roaming\Microsoft\Windows\Recent
- Windows 7及更早 :
- 排查内容 :
- 查看
.lnk
快捷方式文件,分析用户近期访问的文档、图片、压缩包等。 - 关注敏感文件(如
passwords.txt
、财务数据.xlsx
)的访问记录。
- 查看
- 取证工具 :
- 使用
LECmd
(LNK Explorer)解析.lnk
文件的时间戳和原始路径。
- 使用
4. 扩展排查建议
- 预读取文件(Prefetch) :
- 路径:
C:\Windows\Prefetch
- 分析
*.pf
文件,识别异常进程执行记录。
- 路径:
- 启动项与计划任务 :
- 检查
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
- 使用
msconfig
或Autoruns
工具分析自启动项。
- 检查
- 系统日志与事件查看器 :
- 结合
Security.evtx
、System.evtx
日志,关联文件操作事件(Event ID 4663)。
- 结合
- 恶意软件常用目录 :
C:\Users\<用户名>\AppData\Roaming
(如%AppData%
下的可疑文件夹)C:\ProgramData
(隐藏目录,常被用于驻留)
操作注意事项
- 权限问题 :使用管理员权限运行命令或工具(如
PowerShell -RunAs Admin
)。 - 备份取证:对可疑文件创建副本(避免直接操作原文件),记录哈希值。
- 时间线分析 :使用工具如
Plaso/log2timeline
构建文件系统时间线,辅助溯源。
通过以上步骤,可系统化识别攻击痕迹,快速定位恶意文件及入侵路径。
4. 扩展排查建议(续)
- Amcache.hve分析 :
- 路径 :
%SystemRoot%\appcompat\Programs\Amcache.hve
- 作用:记录应用程序执行痕迹,包括文件路径、首次/末次执行时间、SHA1哈希值等。
- 工具建议 :
- 使用
Regedit
手动查看(需挂载为Hive文件)。 - 自动化解析工具:
AmcacheParser
或Eric Zimmerman's Registry Explorer
。
- 使用
- 典型场景:追踪恶意软件首次执行时间及传播路径。
- 路径 :
2. 时间点查找(Windows)
-
基于时间范围筛选文件
-
命令示例 (需根据实际攻击时间调整日期):
cmdforfiles /p C:\ /m *.exe /s /d +2024-02-12 /c "cmd /c echo @path @fdate @ftime" 2>nul
- 解释:查找C盘下2024年2月12日之后修改的所有
.exe
文件,输出路径及时间。 - 注意 :日期格式需与系统区域设置一致(如
YYYY-MM-DD
)。
- 解释:查找C盘下2024年2月12日之后修改的所有
-
增强版命令 (导出到CSV):
cmdforfiles /p C:\ /m * /s /d +2024-02-12 /c "cmd /c echo @path,@fdate,@ftime" > C:\log\filelist.csv 2>nul
-
-
文件时间戳分析
- 三时间属性 :
- 创建时间(Creation Time):文件生成时间。
- 修改时间(Modified Time):内容最后更改时间。
- 访问时间(Accessed Time):文件最后打开时间(需系统启用记录)。
- 取证工具 :
Timeline Explorer
:可视化分析文件时间线。MFTECmd
:解析MFT表提取精确时间戳。
- 三时间属性 :
3. Webshell检测(Windows)
- 工具推荐 :
- D盾 :快速扫描Web目录(如
C:\inetpub\wwwroot
)中的PHP/ASP/JSP等脚本文件,识别加密代码、危险函数。 - 河马Webshell查杀:支持深度学习检测混淆Webshell。
- D盾 :快速扫描Web目录(如
- 手动排查 :
- 检查网站目录下近期新增或修改的脚本文件。
- 搜索高危函数(如
eval
、system
、passthru
)。 - 使用
strings
命令查看二进制文件中是否包含敏感URL或IP。
2. Linux系统文件痕迹排查
1. 敏感目录排查
-
临时目录与系统命令目录
-
/tmp
、/var/tmp
:常见恶意软件暂存位置,检查异常文件(如.sh
、.so
)。 -
/usr/bin
、/usr/sbin
:对比系统纯净版本文件哈希值,识别替换型木马。bash# 示例:检查/bin/ls是否被篡改 md5sum /bin/ls # 对比已知安全系统的哈希值
-
-
SSH相关目录
~/.ssh/
:检查authorized_keys
是否被添加非法公钥。/etc/ssh/sshd_config
:确认配置未被修改(如启用空密码登录)。
2. 时间点查找
- 基于
find
命令筛选-
查找24小时内创建的
.sh
文件 :bashfind / -ctime 0 -name "*.sh" 2>/dev/null
-
扩展用法 :
-mtime n
:修改时间在n天前(+n
表示超过n天,-n
表示n天内)。-atime n
:访问时间筛选。
-
- 文件时间戳分析
-
stat
命令 :bashstat suspicious.php # 输出:创建时间(Birth)、修改时间(Modify)、访问时间(Access)
-
时间线工具 :
ls -alh --time-style=full-iso
:显示精确时间。mactime
(Sleuth Kit):生成文件系统活动时间线。
-
3. 特殊文件检测
- 异常权限文件
-
查找全局可写文件 :
bashfind /tmp -perm 777 -ls
-
风险场景:攻击者利用可写权限植入后门。
-
- Webshell扫描
-
基础查找 :
bashfind /var/www/ -name "*.php" | xargs egrep "eval|base64_decode|passthru"
-
专业工具 :
ClamAV
:病毒扫描引擎,更新规则库后使用clamscan
。LMD(Linux Malware Detect)
:针对Linux恶意软件优化。
-
4. 系统文件与进程排查
-
隐藏目录与文件
-
检查
.bin
等隐藏目录 :bashls -alh ~/.bin # 注意非标准的隐藏目录
-
-
进程与网络分析
-
查看异常进程 :
bashps aux | grep -E "(curl|wget|nc|ncat|socat)" netstat -antp | grep ESTABLISHED
-
工具推荐 :
lsof
:查看进程打开的文件及网络连接。sysdig
:动态监控系统调用。
-
5. 后门与Rootkit检测
-
自动化扫描工具
-
chkrootkit :
bashsudo chkrootkit -q
-
rkhunter :
bashsudo rkhunter --check --sk
-
-
SUID/SGID程序排查
-
查找SUID权限文件 :
bashfind / -type f -perm /4000 -ls 2>/dev/null
-
重点关注 :非系统默认的SUID程序(如
/usr/bin/find
被设置SUID)。
-
6. 扩展排查建议
- 日志关联分析 :
- 检查
/var/log/auth.log
(SSH登录记录)、/var/log/syslog
(系统事件)。 - 使用
journalctl
查询systemd日志。
- 检查
- 文件完整性校验 :
- 使用
AIDE
或Tripwire
生成文件哈希基线,定期比对。
- 使用
- 内存取证 :
- 通过
LiME
或Volatility
提取内存镜像,检测无文件攻击痕迹。
- 通过
操作注意事项(Linux)
- 权限提升 :部分命令需
sudo
或root
权限执行。 - 取证隔离:避免直接在被攻击主机上运行高危操作,优先制作磁盘镜像。
- 时间同步:确认系统时间准确,避免时间戳误导分析。
通过结合Windows与Linux系统的全面排查,可有效定位入侵痕迹,为后续清除和修复提供依据。