在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)
- 基于时间范围筛选文件
- 命令示例(需根据实际攻击时间调整日期):
forfiles /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):
forfiles /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
:对比系统纯净版本文件哈希值,识别替换型木马。# 示例:检查/bin/ls是否被篡改 md5sum /bin/ls # 对比已知安全系统的哈希值
- SSH相关目录
~/.ssh/
:检查authorized_keys
是否被添加非法公钥。/etc/ssh/sshd_config
:确认配置未被修改(如启用空密码登录)。
2. 时间点查找
- 基于
find
命令筛选- 查找24小时内创建的
.sh
文件:find / -ctime 0 -name "*.sh" 2>/dev/null
- 扩展用法:
-mtime n
:修改时间在n天前(+n
表示超过n天,-n
表示n天内)。-atime n
:访问时间筛选。
- 查找24小时内创建的
- 文件时间戳分析
stat
命令:stat suspicious.php # 输出:创建时间(Birth)、修改时间(Modify)、访问时间(Access)
- 时间线工具:
ls -alh --time-style=full-iso
:显示精确时间。mactime
(Sleuth Kit):生成文件系统活动时间线。
3. 特殊文件检测
- 异常权限文件
- 查找全局可写文件:
find /tmp -perm 777 -ls
- 风险场景:攻击者利用可写权限植入后门。
- 查找全局可写文件:
- Webshell扫描
- 基础查找:
find /var/www/ -name "*.php" | xargs egrep "eval|base64_decode|passthru"
- 专业工具:
ClamAV
:病毒扫描引擎,更新规则库后使用clamscan
。LMD(Linux Malware Detect)
:针对Linux恶意软件优化。
- 基础查找:
4. 系统文件与进程排查
- 隐藏目录与文件
- 检查
.bin
等隐藏目录:ls -alh ~/.bin # 注意非标准的隐藏目录
- 检查
- 进程与网络分析
- 查看异常进程:
ps aux | grep -E "(curl|wget|nc|ncat|socat)" netstat -antp | grep ESTABLISHED
- 工具推荐:
lsof
:查看进程打开的文件及网络连接。sysdig
:动态监控系统调用。
- 查看异常进程:
5. 后门与Rootkit检测
- 自动化扫描工具
- chkrootkit:
sudo chkrootkit -q
- rkhunter:
sudo rkhunter --check --sk
- chkrootkit:
- SUID/SGID程序排查
- 查找SUID权限文件:
find / -type f -perm /4000 -ls 2>/dev/null
- 重点关注:非系统默认的SUID程序(如
/usr/bin/find
被设置SUID)。
- 查找SUID权限文件:
6. 扩展排查建议
- 日志关联分析:
- 检查
/var/log/auth.log
(SSH登录记录)、/var/log/syslog
(系统事件)。 - 使用
journalctl
查询systemd日志。
- 检查
- 文件完整性校验:
- 使用
AIDE
或Tripwire
生成文件哈希基线,定期比对。
- 使用
- 内存取证:
- 通过
LiME
或Volatility
提取内存镜像,检测无文件攻击痕迹。
- 通过
操作注意事项(Linux)
- 权限提升:部分命令需
sudo
或root
权限执行。 - 取证隔离:避免直接在被攻击主机上运行高危操作,优先制作磁盘镜像。
- 时间同步:确认系统时间准确,避免时间戳误导分析。
通过结合Windows与Linux系统的全面排查,可有效定位入侵痕迹,为后续清除和修复提供依据。