在Windows系统的网络安全应急响应中,文件痕迹排查是识别攻击行为的关键步骤。以下是针对敏感目录的详细排查指南及扩展建议:
1. 临时目录排查(Temp/Tmp)
- 路径示例:
C:\Windows\TempC:\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系统的全面排查,可有效定位入侵痕迹,为后续清除和修复提供依据。