〇、一句话定义
溯源本质是多源日志和证据的关联分析 ,完整还原攻击链路、刻画攻击者,不是查个 IP 就完事。
我一般按四步走:从哪来 → 到哪去 → 干了啥 → 是谁 , 对应 攻击源定位 → 攻击路径还原 → 攻击行为分析 → 攻击者画像 。
这个框架能体现系统性思维,比零散罗列工具强得多。
两条铁律(贯穿全程)
-
IP 只是跳板 ------ 拿到 IP ≠ 找到真人
-
至少三条线索交叉印证 ------ 单一线索下结论必然误判
一、前提:先取证固定(最重要,别跳)
⚠️ 不能上来就在受害机上敲命令,证据全毁。
| 动作 | 要点 |
|---|---|
| 隔离受害机 | 断网隔离,不要关机、不要重启(重启丢内存、丢进程、丢连接) |
| 内存镜像 | 优先于磁盘(内存是最易失的证据) |
| 磁盘镜像 | 完整镜像后再分析,不在原盘上操作 |
| 日志导出 | 系统日志、Web 日志、安全设备日志 |
| 屏幕截图 | 异常进程、连接、任务列表等现场状态 |
| 哈希固定 | 对取证文件做 MD5 / SHA,证明未被篡改 |
| 操作记录 | 全程记录操作时间与动作,形成证据链 |
易失性顺序(Order of Volatility)------ 必须按这个顺序采集
CPU 寄存器 / 缓存 → 内存 → 网络连接 / ARP 缓存 → 运行中的进程
→ 磁盘文件 → 备份 / 归档 / 打印件
越靠前越容易丢,越要优先采。
取证 ≠ 溯源(高频追问)
-
取证 = 固定证据、保护原始数据(哈希、镜像、不乱操作)→ 是前提
-
溯源 = 基于取证拿到的证据,还原攻击链路、定位攻击者
-
顺序:先取证,再溯源
二、① 从哪来 ------ 攻击源定位
四类数据源
-
Web 日志(Nginx / Apache):攻击者 IP、访问路径、POST 参数,定位漏洞利用时间
-
防火墙 / WAF 日志:入站连接、拦截记录
-
流量包 PCAP:攻击行为、C2 通信(Wireshark / Zeek)
-
NetFlow / sFlow:没有全流量时,元数据也能还原通信关系
先判 IP 性质(这一步最容易被跳过)
| 性质 | 典型行为 |
|---|---|
| 代理 / VPS | 扫描探测类攻击多为 VPS |
| 肉鸡 | 上传 webshell、命令执行,大概率是未隐匿的肉鸡 |
| 家庭宽带 | 价值最高,但很少见 |
分层查询(别只答"查威胁情报")
| 层次 | 手段 | 目的 |
|---|---|---|
| 查归属 | WHOIS | 注册商、归属地、联系人 |
| 查情报 | 微步在线 x.threatbook.cn、360 威胁情报中心 ti.360.net、VirusTotal |
是否标记恶意、关联 C2、历史攻击记录 |
| 查定位 | IPIP.NET、chaipip.com | 判断 IDC 机房 / 家庭宽带 |
| 反查资产(护网核心) | FOFA / Hunter / Quake ,ip="x.x.x.x" 反查 |
看该 IP 上还有哪些域名、端口、服务 → 拓线找攻击者其他基础设施 |
| 反向 DNS | nslookup |
判断是否 CDN 节点 / 企业服务器 |
⚠️ 核心认知:IP 大多只是跳板,不等于攻击者真实身份。
三、② 到哪去 ------ 攻击路径还原
把孤立告警串成完整攻击链。
实操 :在 SIEM 里以攻击 IP 为关键词,拉出告警前后 30 分钟的全部相关日志,按时间戳排序。
标准攻击链(按时间串) 
资产探测扫描
→ 漏洞利用(Shiro 反序列化 / Redis 未授权 / 弱口令 / Nday)
→ Webshell 落地(D盾查文件 shell、河马查内存马)
→ 命令执行
→ 提权 + 持久化(计划任务 / 服务 / SSH key)
→ 横向移动
→ 尝试数据外传 / C2 外连
★ 时间线对齐要点
-
统一时区 ,优先采用服务器本地时间
-
Web 日志、EDR、PCAP 按时间戳排序
-
找最早异常点作为入口,再往后串
主机侧关键证据 · Windows
事件查看器 eventvwr.msc → Security / System / Application / PowerShell Operational / RDP 相关
| 事件 ID | 含义 |
|---|---|
| 4624 | 登录成功 |
| 4625 | 登录失败 |
| 4634 | 注销 |
| 4648 | 使用显式凭据登录(凭据传递迹象) |
| 4672 | 授予特殊权限(管理员登录会触发) |
| 4688 | 进程创建(需开启审核策略,能拿到完整命令行) |
| 4720 | 创建用户 |
| 4722 / 4724 / 4726 | 启用用户 / 重置密码 / 删除用户 |
| 4728 / 4732 | 成员加入全局组 / 本地组(提权迹象) |
| 4104 | PowerShell 脚本块日志(能看到执行内容) |
| 7045 | 系统安装了服务(持久化重要指标,在 System 日志) |
排查点 :账号(net user 查新增/隐藏账号;注册表 HKLM\SAM\SAM\Domains\Account\Users 看隐藏用户;D盾可检测 Windows 克隆账号 )、进程及父进程关系 (重点看恶意程序是否启动了 cmd / powershell)、启动项(Run 键 / 启动目录 / 任务计划,攻击者最常用的持久化 )、服务、文件创建修改时间、netstat -ano 外连 IP、最近文件与下载目录。
主机侧关键证据 · Linux
| 日志路径 | 内容 |
|---|---|
/var/log/secure |
CentOS/RHEL:SSH 登录、认证(最常看) |
/var/log/auth.log |
Ubuntu/Debian:认证登录 |
/var/log/messages |
系统通用日志 |
/var/log/nginx/ /var/log/apache2/ |
Web 访问日志(打点、Web 入侵必看) |
/var/log/cron |
定时任务日志(持久化后门) |
/var/log/audit/audit.log |
开启 auditd 后的审计日志(信息量极大) |
/var/log/wtmp |
登录历史,用 last 查看 |
/var/log/btmp |
失败登录,用 lastb 查看 |
# 登录与账号
last # 登录历史
lastlog # 各用户最后登录
lastb # 失败登录
cat /etc/passwd # 账号列表(找 UID=0 的可疑账号)
# 当前状态
who / w # 当前登录用户 + 正在执行的操作
# 计划任务(持久化重点)
crontab -l; ls /etc/cron.*; cat /etc/crontab
# 网络连接
netstat -antp / ss -antp
# 进程
ps aux
ls -l /proc/<PID>/exe # 看进程真实文件路径
# 历史命令
history; cat ~/.bash_history # 攻击者常清除,但可能残留
# SSH 后门(重点!)
cat /root/.ssh/authorized_keys
# 开机自启
systemctl list-unit-files --state=enabled; cat /etc/rc.local
重点 :SSH 登录记录、异常定时任务、陌生进程、webshell 文件时间、authorized_keys 是否被写入。
四、③ 干了啥 ------ 攻击行为分析
核心逻辑:行为 → 证据 → 判断,不能只说"我发现有攻击"。
三个取证维度 
★ 内存马(Web 场景重点)
磁盘上查不到、D盾也扫不出来,大概率是无文件内存马(只存在于 JVM 内存中,静态文件扫描检测不到)。
常见类型
| 类型 | 注入方式 |
|---|---|
| Filter 型 | ServletContext.addFilter() 动态注册 Filter,拦截所有请求 |
| Servlet 型 | 动态注册恶意 Servlet 并绑定 URL 映射 |
| Listener 型 | 注册恶意 Listener,在特定事件时触发 |
| Java Agent 型 | Instrumentation + ClassFileTransformer 修改字节码,隐蔽性最高 |
| 其他 | Tomcat Valve、Spring Interceptor / Controller、WebSocket、TimerTask |
检测手段 :河马(Hippo) 为主 + jmap / jcmd 看类直方图 + Arthas 在线诊断 + Web 日志异常请求路径(内存马 URL 通常随机、无规律)+ 流量特征佐证。
jcmd <PID> GC.class_histogram # 类直方图,找可疑类
jmap -histo <PID>
jmap -dump:format=b,file=heap.bin <PID>
面试话术:
"磁盘上找不到 webshell、D盾也扫不出来,大概率是无文件内存马 。这时候用河马 做内存马检测,结合
jmap、jcmd、Arthas 看类加载情况,再拿 Web 日志的异常请求和流量特征去佐证。"
★ 值守岗落点:验证攻击是否成功
如果岗位是 MSS 值守(平台已给定性,你只做验证 ),判据就落在网络行为上:
-
第一层 回包存在性 :无响应 /
RST/403·404·500→ 未成功;200→ 进下一层 -
第二层 回显内容 :命令执行回显(
uid=0(root))、文件读取明文、webshell 固定响应结构(冰蝎是定长密文) -
第三层 持续交互:C2 心跳、上行流量突增、反向长连接
三层全中 = 确认成功 ;只中前两层 = 疑似成功 ;只中第一层 = 未成功 。 展开见题库 2.6 攻击成功验证(
MSS-TRIAGE-001)。
五、④ 是谁 ------ 攻击者画像
三层递进,可信度从低到高 
画像要素清单
姓名 / ID、攻击 IP、跳板机信息、地理位置、所属公司、
关联域名、工具特征、活跃时间段、
社交账号(QQ / 微信 / 邮箱 / 手机号)
★ JA3 / JA3S 指纹
TLS 握手指纹,可识别攻击工具。Cobalt Strike、Metasploit、Burp Suite 等都有已知指纹库 。 价值:IP 可以换,但工具的 TLS 指纹相对稳定,可用于跨 IP 关联。
★ 蜜罐与合规反制(护网评分重点)
护网评分里,成功溯源往往比成功阻断分值更高,所以这是重点加分项。
-
蜜罐诱捕 :HFish 等开源蜜罐,模拟常见服务 / 漏洞,捕获攻击者的探测与利用行为,甚至拿到其社交 ID、主机信息
-
反制手段 :针对攻击者所用工具自身的历史漏洞 (蚁剑、Goby、Xray 等历史上存在 RCE)构造针对性 payload,反弹 Shell 反控攻击者主机
-
⚠️ 合规边界(必须主动说) :反制只在自有授权范围内 操作;公网 IP 的追踪与反制,需要运营商或执法机关配合 ,个人 / 企业不能私自越权。越界反制 = 违法
六、1 分钟口述背诵版
溯源不是单纯查 IP,而是基于日志、流量、文件、进程这些证据,还原攻击者从哪来、到哪去、干了啥、是谁 。我一般按四步走:攻击源定位 → 攻击路径还原 → 攻击行为分析 → 攻击者画像。
第一步先取证固定:隔离受害机、不重启、做内存和磁盘镜像、哈希保护,避免破坏证据。
第二步主机溯源 :Windows 看安全日志 4624/4625/4720/4688/7045 、账号、进程、启动项、计划任务;Linux 看
/var/log/secure、auth.log、last、crontab、history和 Web 日志。Web 场景用 D盾 分析 IIS 日志、查文件 Webshell 和克隆账号,用河马查内存马。第三步网络溯源 :Web 日志、WAF、防火墙、PCAP 找源 IP,再用微步、360 查情报,IPIP 定位,FOFA / Hunter 反查资产拓线。注意 IP 大多只是跳板,不等于真人。
第四步串时间线 :扫描打点 → 漏洞利用 → Webshell 落地 → 命令执行 → 持久化 → 横向移动 → C2 外连。最后交叉线索刻画攻击者画像。必要时用蜜罐主动捕获,但反制必须在授权范围内。
一句话:先取证,再关联,串时间线,交叉印证,守合规。
七、高频追问
| 追问 | 答法要点 |
|---|---|
| 攻击者用多层代理 / CDN,IP 溯源断了怎么办 | 纯技术手段到代理层就断了。转向行为特征 ------IP 可以频繁切换,但 JA3 指纹、攻击工具、Payload 特征、攻击时间段、操作习惯 很难改变;同时依托蜜罐捕获的行为和社交线索,从身份维度继续溯源 |
| 威胁情报平台查不到这个 IP 怎么办 | 说明它是新上线 IP,还没被标记 。这时候不能停:做 IP 反查拓线 ,用 FOFA / Hunter 查该 IP 上开放的服务,找攻击者的其他关联资产;同时把 IP 和样本 IOC 提交到平台,也是贡献情报 |
| 磁盘上找不到 webshell,D盾也扫不出来,怎么继续溯源 | 大概率是无文件内存马 ------磁盘没有落地文件,静态扫描检测不到。用河马 做内存马检测;同时看进程链、网络连接、Web 日志找异常请求,通过流量和命令执行记录佐证 |
| 溯源和取证的区别 | 取证 是固定证据、保护原始数据不被篡改(哈希、镜像、不随意操作受害机),是溯源的前提;溯源 是基于取证拿到的证据,还原攻击链路、寻找攻击者来源。先取证,再溯源 |
| 怎么防误判 | 不靠单一 IP 或单一日志下结论,至少三条线索交叉(Web 日志、主机进程、流量 C2 行为能互相印证)才做画像 |
| 时间线怎么对齐 | 统一时区 ,优先用服务器时间;Web 日志、EDR、PCAP 按时间戳排序,找最早异常点作为入口,再往后串 |
| 拿到一个攻击 IP,你的溯源顺序是什么 | 先判断 IP 性质 (VPS / 肉鸡 / 代理 / 家宽)→ 再查情报和归属 (微步、WHOIS、IPIP)→ 再反查资产拓线 (FOFA / Hunter)→ 最后关联日志还原路径。记住 IP 多数只是跳板 |
| 护网溯源和日常应急响应有什么区别 | 护网 :溯源权重更高,有评分激励;红队会大量用跳板、内存马、隐藏手段,所以更依赖蜜罐、工具指纹等主动溯源手段 。日常应急 :优先止血、隔离、清除、恢复业务 ,溯源更多用于事后复盘。底层方法论一致:数据采集 → 关联分析 → 还原攻击链路 |
八、常见误区(别踩)
-
❌ 拿到攻击 IP ≠ 找到真人 ------ 大量是肉鸡、VPN、代理,IP 只是跳板
-
❌ 直接在受害机上乱操作 ------ 会破坏证据(应先取证固定)
-
❌ 只依赖一种日志 ------ 日志可能被攻击者删除 / 篡改,必须多源交叉
-
❌ 单一线索就下结论 ------ 容易溯源错人,要三条以上交叉印证
-
❌ 越权反制 ------ 超出授权范围即违法