网络安全应急响应-文件痕迹排查
在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系统的全面排查,可有效定位入侵痕迹,为后续清除和修复提供依据。
相关文章:
网络安全应急响应-文件痕迹排查
在Windows系统的网络安全应急响应中,文件痕迹排查是识别攻击行为的关键步骤。以下是针对敏感目录的详细排查指南及扩展建议: 1. 临时目录排查(Temp/Tmp) 路径示例: C:\Windows\TempC:\Users\<用户名>\AppData\L…...
C++ 提高编程 下
C提高编程 set/multiset 容器set 基本概念set 构造和赋值set 大小和交换set 插入和删除set 查找和统计set 和 multiset 的区别pair 对组创建set 容器排序 map/multimap 容器map 基本概念map 构造和赋值map 大小和交换map 插入和删除map 查找和统计map 容器排序 案例——员工分组…...
【Linux网络】网络套接字socket
🌈个人主页:秦jh__https://blog.csdn.net/qinjh_?spm1010.2135.3001.5343 🔥 系列专栏:https://blog.csdn.net/qinjh_/category_12891150.html 目录 Socket 编程预备 理解源 IP 地址和目的 IP 地址 认识端口号 端口号范围划分…...
tomcat的负载均衡和会话保持
写你的想写的东西,写在tomcat的默认发布目录中 这里写了一个jsp的文件 访问成功 可以用nginx实现反向代理 tomcat负载均衡实现: 这里使用的算法是根据cookie值进行哈希,根据ip地址哈希会有问题.如果是同一台主机再怎么访问都是同一个ip。 t…...
ffmpeg基础知识入门
文章目录 📦 1. **容器(Container)**✅ 定义:✅ 举例:✅ 功能: 📶 2. **媒体流(Stream)**✅ 定义:✅ 举例:✅ 流和容器关系: …...
c++项目 网络聊天服务器 实现;QPS测试
源码 https://github.com/DBWGLX/SZU_system_programming 文章目录 技术设计编码JSON的替换Protobuf 网络线程池更高效率网络字节序的考虑send可能无法一次性发送全部数据!EPOLLHUP , EPOLLERR 的正确处理 IO数据库操作的更高性能 开发日志2025.3a.粘包问题 2025.4b…...
rnn的音频降噪背后技术原理
rnniose: 这个演示展示了 RNNoise 项目,说明了如何将深度学习应用于噪声抑制。其核心理念是将经典的信号处理方法与深度学习结合,打造一个小巧、快速的实时噪声抑制算法。它不需要昂贵的 GPU —— 在树莓派上就能轻松运行。 相比传统的噪声抑制系统&…...
Python项目打包指南:PyInstaller与SeleniumWire的兼容性挑战及解决方案
前言 前段时间做一个内网开发的需求,要求将selenium程序打包成.exe放在内网的win7上运行,在掘金搜了一圈也没有发现相关文章,因此将过程中踩到的坑记录分享一下。 本文涵盖了具体打包操作、不同模块和依赖项的兼容性解决方案,以…...
【题解】AtCoder AT_abc400_c 2^a b^2
题目大意 我们定义满足下面条件的整数 X X X 为“好整数”: 存在一个 正整数 对 ( a , b ) (a,b) (a,b) 使得 X 2 a ⋅ b 2 X2^a\cdot b^2 X2a⋅b2。 给定一个正整数 N N N( 1 ≤ N ≤ 1 0 18 1\le N\le 10^{18} 1≤N≤1018)ÿ…...
ubuntu 配置固定ip
在装服务器系统的时候,DHCP自动获取ip时,路由可能会重新分配ip,为避免产生影响,可以关闭DHCP将主机设置为静态ip。 系统环境 Ubuntu 22.04-Desktop 配置方式 一、如果是装的Ubuntu图形化(就是可以用鼠标操作点击应用…...
基于Coze平台实现工程项目管理SaaS软件的在线化客户服务
一、引言 在数字化转型浪潮下,SaaS(软件即服务)模式已成为企业级软件的主流交付方式。然而,随着用户规模的增长,传统人工客服模式面临响应速度慢、人力成本高、知识库更新滞后等痛点。如何利用AI技术实现客户服务的智…...
vue3实现markdown工具栏的点击事件监听
这里以监听全屏事件为例 监听 Vditor 编辑器的全屏事件 要监听 Vditor 编辑器的全屏事件,你可以使用 Vditor 提供的 API 和事件系统。以下是几种实现方法: 方法一:使用 Vditor 的 after 钩子函数 const vditor new Vditor(editor, {afte…...
QT ARM开发板调试
QT 应用程序在 ARM 开发板上完全可以进行调试。以下是完整的调试方案和配置方法: 1. 调试方式概览 调试方式适用场景所需工具特点GDB 远程调试代码级调试gdbserver gdb-multiarch最强大的调试方式QT Creator 远程调试集成开发环境调试QT Creator gdbserver开发体…...
OpenCV 图形API(21)逐像素操作
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 在OpenCV的G-API模块中,逐像素操作指的是对图像中的每个像素单独进行处理的操作。这些操作可以通过G-API的计算图(Graph …...
Mysql连接池报错
报错信息如下 com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failureThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.at com.mysql.cj.jdbc.exceptions.SQ…...
使用git clone的时候部分文件夹克隆不下来
当使用git clone命令克隆一个仓库时,有可能出现部分文件夹没有被克隆下来的情况。这种问题通常有以下几个可能的原因: 权限问题:检查一下你对该仓库的访问权限。如果你没有足够的权限,可能无法克隆某些文件夹。 仓库设置…...
批量图片文本识别重命名,批量ocr识别图片重命名,基于WPF和腾讯OCR云部署实,现批量对图片局部提取文字后重命名的操作详细步骤
1. 项目背景 在日常工作中,我们经常需要处理大量图片文件,这些图片可能包含重要的文字信息。为了提高工作效率,我们需要一种自动化的方式,从图片中提取文字,并根据提取的文字对图片进行重命名。 本项目基于 WPF 框架开发桌面应用程序,结合 腾讯 OCR…...
Linux——冯 • 诺依曼体系结构操作系统初识
目录 1. 冯 • 诺依曼体系结构 1.1 冯•诺依曼体系结构推导 1.2 内存提高冯•诺依曼体系结构效率的方法 1.3 理解数据流动 2. 初步认识操作系统 2.1 操作系统的概念 2.2 设计OS的目的 3. 操作系统的管理精髓 1. 冯 • 诺依曼体系结构 1.1 冯•诺依曼体系结构推导 计算…...
洛谷题单3-P5724 【深基4.习5】求极差 最大跨度值 最大值和最小值的差-python-流程图重构
题目描述 给出 n n n 和 n n n 个整数 a i a_i ai,求这 n n n 个整数中的极差是什么。极差的意思是一组数中的最大值减去最小值的差。 输入格式 第一行输入一个正整数 n n n,表示整数个数。 第二行输入 n n n 个整数 a 1 , a 2 … a n a_1,…...
Vue3 实现进度条组件
样式如下,代码如下 <script setup> import { computed, defineEmits, defineProps, onMounted, ref, watch } from vue// 定义 props const props defineProps({// 初始百分比initialPercentage: {type: Number,default: 0,}, })// 定义 emits const emits…...
35.[前端开发-JavaScript基础]Day12-for循环中变量-华为商城-商品列表-轮播图
for循环中监听函数中打印变量 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"wi…...
【蓝桥杯】十五届省赛B组c++
目录 前言 握手问题 分析 排列组合写法 枚举 小球反弹 分析 代码 好数 分析 代码 R 格式 分析 代码 宝石组合 分析 代码 数字接龙 分析 代码 拔河 分析 代码 总结 前言 主播这两天做了一套蓝桥杯的省赛题目(切实感受到了自己有多菜&#x…...
scala-集合2
可变数组 定义变长数组 val arr01 ArrayBuffer[Any](3, 2, 5) (1)[Any]存放任意数据类型 (2)(3, 2, 5)初始化好的三个元素 (3)ArrayBuffer 需要引入 scala.collection.mutable.ArrayBuffer 案例实操 Arra…...
[Linux系统编程]多线程
多线程 1. 线程1.1 线程的概念1.2 进程与线程对比1.3 轻量级进程 2. Linux线程控制2.1 POSIX 线程(pthread)2.2 线程ID、pthread_t、和进程地址空间的关系2.2.1 pthread_self2.2.2 pthread_create2.2.3 pthread_join2.2.4 线程终止的三种方式2.2.5 pthre…...
IntelliJ IDEA下开发FPGA——FPGA开发体验提升__下
前言 由于Quartus写代码比较费劲,虽然新版已经有了代码补全,但体验上还有所欠缺。于是使用VS Code开发,效果如下所示,代码样式和基本的代码补全已经可以满足开发,其余工作则交由Quartus完成 但VS Code的自带的git功能&…...
odo18实施——销售-仓库-采购-制造-制造外包-整个流程自动化单据功能的演示教程
安装模块 安装销售 、库存、采购、制造模块 2.开启外包功能 在进入制造应用点击 配置—>设置 勾选外包,点击保存 添加信息 一、添加客户信息 点击到销售应用 点击订单—>客户 点击新建 创建客户1,及其他客户相关信息,点…...
微信小程序生成某个具体页面的二维码
微信小程序,如果要生成某个具体页面,而非首页的二维码,体验和正式的生成方法如下: 1、体验版二维码: 管理---版本管理---修改页面路径,输入具体页面的路径以及参数,生成的是二维码 2、正式小程…...
鸿蒙开发_ARKTS快速入门_语法说明_组件声明_组件手册查看---纯血鸿蒙HarmonyOS5.0工作笔记010
然后我们来看如何使用组件 可以看到组件的组成 可以看到我们使用的组件 然后看一下组件的语法.组件中可以使用子组件. 然后组件中可以有参数,来修改组件的样式等 可以看到{},这种方式可以设置组件参数,当然在下面. 的方式也可以的 然后再来...
利用解析差异SSRF + sqlite注入 + waf逻辑漏洞 -- xyctf 2025 fate WP
本文章附带TP(Thinking Process)! #!/usr/bin/env python3 # 导入所需的库 import flask # Flask web框架 import sqlite3 # SQLite数据库操作 import requests # HTTP请求库 import string # 字符串处理 import json # JSON处理app flask.Flask(__name__) # 创建Flask应…...
接口异常数组基础题
题目描述 设想你正在构建一个智能家居控制系统。这个系统可以连接多种不同类型的智能设备,如智能灯泡、智能空调和智能门锁。每种设备都有其独特的功能,不过它们也有一些通用的操作,像开启、关闭和获取设备状态等。系统需要提供一个方法来控…...
