应急响应之服务、文件痕迹、网络、日志排查 + 工具清单

本篇覆盖服务排查、文件痕迹排查,以及网络连接、日志、启动项等补充内容,最后给出工具清单和报告模板。


一、服务排查

服务是"开机自动运行、常驻后台"的程序,是攻击者做持久化的常见手段------把后门注册成服务,重启后自动恢复。

1.1 Linux 排查

复制代码
# 查看所有服务及状态
systemctl list-units --type=service --all
​
# 查看已启用(开机自启)的服务
systemctl list-unit-files --type=service | grep enabled
​
# 查看某个服务的详细配置和启动命令
systemctl status 服务名
systemctl cat 服务名
​
# 传统 sysvinit 服务(老系统 / init.d 脚本)
ls -l /etc/init.d/
chkconfig --list 2>/dev/null   # 或 service --status-all
​
# 查看 systemd 服务单元文件目录(后门常放这里伪装系统服务)
ls -l /etc/systemd/system/
ls -l /lib/systemd/system/

1.2 Windows 排查

复制代码
:: 列出所有服务
sc query type= service state= all
​
:: 列出服务的详细信息(看服务对应的可执行文件 binPath)
sc qc 服务名
​
:: 用 wmic 查看服务名、状态、启动方式、路径
wmic service get name,state,startmode,pathname

图形界面:services.msc,重点看"启动类型"为自动、且"可执行文件的路径"指向临时目录或可疑路径的服务。

为什么要这样做 :服务是"开机自启、常驻后台"的程序,攻击者把后门注册成服务后,即使重启机器、杀掉进程,服务也会自动把它拉起来------是最"省心"的持久化方式。所以重点不是服务名,而是服务真正执行的可执行文件路径ExecStart/binPath),路径骗不了人。

1.3 关键要点

  • 危险信号 :服务指向的 ExecStart/binPath/tmp%TEMP%、随机文件名;服务名模仿系统服务(如 SysTemServermysql-server 多出连字符)。

  • 处置systemctl disable --now 服务名sc delete 服务名 停止并删除,同时删掉可执行文件。


二、文件痕迹排查

文件排查用于找恶意文件、Webshell、篡改痕迹、后门残留。思路:按"时间、路径、类型"三个维度找异常。

2.1 Linux 排查

复制代码
# 最近 N 天被修改过的文件(先看这个,锁定作案时间窗)
find / -mtime -3 -type f 2>/dev/null
​
# 按修改时间倒序排列某目录
ls -lt /tmp /var/tmp /dev/shm /var/www/html
​
# 找隐藏文件(以 . 开头的文件常被用来藏东西)
find / -name ".*" -type f 2>/dev/null
​
# 找常见 Webshell 特征(一句话木马关键函数)
grep -rn "eval(\|base64_decode\|system(\|assert(" /var/www 2>/dev/null
​
# 找大文件(可能被塞了挖矿程序或数据包)
find / -size +100M -type f 2>/dev/null
​
# 查看文件时间戳(atime 访问、mtime 修改、ctime 状态改变)
stat 可疑文件
​
# 找可执行文件出现在不该出现的地方
find /tmp /var/tmp /dev/shm -type f -perm /111 2>/dev/null

2.2 Windows 排查

重点排查目录:C:\Windows\Temp%TEMP%%APPDATA%C:\Windows\System32(被替换的系统文件)、网站目录。

复制代码
:: 按时间列出最近修改的文件(需要管理员)
dir /s /o-d /t:w C:\Users\<用户名>\AppData\Local\Temp
​
:: 查找可疑文件
dir /s /b C:\Windows\Temp\*

2.3 Webshell 排查(Web 服务器必做)

  • 定位:网站根目录下最近修改的脚本文件(.php/.jsp/.asp/.aspx)。

  • 特征:代码里出现 evalbase64_decodeassertsystemexec 等危险函数,或文件只有一行超长混淆代码。

  • 辅助工具:D盾、河马、百度 WebShell 扫描器。

为什么要这样做:文件是恶意程序的"藏身处",也是攻击的"证据"。攻击者无论做什么都要落盘------上传 Webshell、下载挖矿程序、替换系统文件,必然留下"新建/修改"痕迹。所以按"时间 + 路径 + 内容"三个维度排查:时间维度锁定作案时间窗,路径维度发现不该有可执行文件的临时目录,内容维度直接命中 Webshell 特征。

2.4 关键要点

  • 时间轴 :先确定入侵时间(结合日志、last 登录时间),再集中看该时间段内新增/修改的文件,效率最高。

  • 隐蔽手段 :攻击者会改文件时间戳(Linux 用 touch -d)伪装成老文件,所以时间可信但不能全信,还要结合路径和内容。

  • 临时目录 是重灾区:/tmp/var/tmp/dev/shm(Linux,/dev/shm 是内存盘,关机即失、隐蔽性好,常被用来跑木马)。


三、网络连接排查

网络排查能快速发现木马外连(C2)和对外开放的后门端口。

复制代码
# Linux
netstat -antlp                 # 看所有连接+进程
ss -antlp                      # 更推荐,性能更好
lsof -i                        # 按文件看网络
lsof -i:端口号                 # 看某端口是谁在用
​
# 查看可疑外连(关注 ESTABLISHED 到陌生 IP)
cat /proc/net/tcp
复制代码
:: Windows
netstat -ano                   # 端口 + PID

为什么要这样做:木马/后门大多要回连 C2 或被远控,必然产生外连流量和监听端口,所以网络排查是"最快抓到活体木马"的手段,也能发现用其他方式藏起来的后门端口。

关键要点 :关注高频外连 到陌生 IP、连接到非标准端口、内网主机的异常扫描流量。发现后按 PID 反查进程。


四、日志排查

日志是"案发现场的监控录像",能还原攻击者的操作路径。

4.1 Linux 关键日志

复制代码
# 认证/登录日志(看爆破、异常登录)
cat /var/log/auth.log     # Debian/Ubuntu
cat /var/log/secure       # CentOS/RHEL
​
# 系统消息
cat /var/log/messages
​
# cron 日志
cat /var/log/cron
​
# 历史命令(看攻击者敲了什么)
cat ~/.bash_history
cat /root/.bash_history
​
# 关键:history 是否被清空/篡改
ls -la ~/.bash_history

注意:攻击者常清空或篡改日志,排查时先确认日志完整性 (有没有明显断档、被 rm 后重建)。

4.2 Windows 关键日志

用事件查看器 eventvwr.msc

事件 ID 含义
4624 登录成功(注意登录类型 10 = 远程 RDP)
4625 登录失败(爆破)
4672 赋予特殊权限(提权)
4720/4726 创建/删除账户
7045 新服务安装
4688 进程创建(需开启审核策略)
复制代码
:: 命令行导出日志
wevtutil qe Security /f:text

为什么要这样做:其他排查只能看到"结果"(多了个账户、多了个进程),只有日志能还原"过程"------攻击者何时进入、从哪进入、进来后干了什么。这是写报告、还原攻击路径、追责定责的关键证据。

4.3 日志排查要点

  • 先看**登录成功(4624)**找攻击者进入时间和来源 IP。

  • 结合**爆破(4625)**判断是否被猜密码。

  • 看有没有账户创建/服务安装等持久化动作。


五、启动项排

启动项是"开机/登录自动执行"的又一类持久化手段:攻击者把后门命令塞进 shell 启动文件或注册表 Run 键,用户每次登录就自动加载,隐蔽且稳定。它与计划任务/服务的区别是------它跟着"登录"走,而不是跟着"时间/服务"走,所以单独列出来查。

复制代码
# Linux 各用户 shell 启动文件里可能被塞后门
cat /etc/profile /etc/bash.bashrc ~/.bashrc ~/.bash_profile ~/.profile
复制代码
:: Windows 启动项(注册表 Run 键是经典后门位)
reg query "HKLM\Software\Microsoft\Windows\CurrentVersion\Run"
reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Run"

图形界面:msconfig(系统配置)→ 启动;或 regedit 查看上述 Run 键。Windows 启动目录 C:\Users\<用户>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup 也要看。


六、常用工具清单

取证/采集类

  • Linuxpsnetstat/sslsofpstreefindstatgrep

  • Windows Sysinternals(微软官方,必装):Process Explorer、Autoruns(查启动项神器)、TCPView、Process Monitor

杀毒/查杀类

  • Linux:ClamAV、chkrootkit、rkhunter(查 rootkit)、Linux Malware Detect (LMD)

  • Windows:火绒、360 急救箱、卡巴斯基

Webshell 查杀

  • D盾、河马、百度 WebShell 扫描器

内存/流量取证(进阶)

  • Volatility(内存取证)、Wireshark(流量分析)、tcpdump(抓包)

七、应急响应报告模板(简版)

复制代码
1. 事件概述:时间、受影响主机、事件类型(勒索/挖矿/Webshell/数据泄露)
2. 事件发现:告警来源、异常现象
3. 处置时间线:几点几分做了什么
4. 排查过程:
   - 账户排查结果
   - 进程/服务/计划任务排查结果
   - 文件/日志/网络排查结果
5. 攻击路径还原:入口 → 提权 → 持久化 → 目的
6. 处置措施:删除/隔离/修复清单
7. 加固建议:改密、补丁、封端口、最小权限
8. 复盘总结:教训、改进点

全篇总结

排查项 一句话核心
账户 找 uid=0 陌生账户、authorized_keys、管理员组异常
计划任务 找指向临时目录/随机名的定时任务
进程 找从临时目录启动、高 CPU、伪装系统名的进程
服务 找指向可疑路径的自启动服务
文件 按时间轴找新增/篡改文件、Webshell、隐藏文件
网络 找异常外连和陌生监听端口
日志 还原登录、爆破、账户/服务变更
启动项 查 Run 键和 shell 启动文件

流程口诀:先取证快照 → 易失优先(进程/网络)→ 持久化(计划任务/服务/账户/启动项)→ 文件与日志 → 根除 → 恢复 → 报告。

相关推荐
晏宁科技YaningAI1 小时前
企业通信系统技术规划方法:从业务需求到可演进架构
网络·性能优化·架构·gateway·paas
昌原的儿子LEO1 小时前
Linux 网络编程:select 与 epoll IO 多路复用详解
linux·网络·数据库
啊阿狸不会拉杆1 小时前
《计算机网络-自顶向下方法》3.5 面向连接的运输:TCP 读书笔记
网络·tcp/ip·计算机网络
草莓熊Lotso1 小时前
【Redis 初阶】特殊数据类型、渐进式遍历与数据库操作生产指南
linux·网络·数据库·redis·tcp/ip·缓存·bootstrap
芯盾时代2 小时前
金融新规全条款合规落地映射的解决方案
网络·网络安全·金融
姚不倒2 小时前
负载均衡架构设计:F5 ↔ Nginx/HAProxy ↔ Keepalived 全链路映射
运维·网络·nginx
好评1242 小时前
【Linux】应用层自定义协议与序列化
linux·运维·网络
春风解人意2 小时前
从零开始学习嵌入式P33----网络基础之HTTP
网络·学习·http
zbyyd3 小时前
Linux 网络编程:IO 多路复用
linux·运维·c语言·网络