入侵溯源实战:根据日志还原攻击者完整攻击链路
免责声明:本文仅用于企业授权应急响应、安全学习演练。严禁在未授权业务服务器、终端进行日志提取、取证、分析操作,未经授权操作计算机系统属于违法行为。日志分析前优先备份原始日志,保证证据完整性,避免日志被篡改或删除。
前言
很多应急响应只停留在 “查到木马、杀掉进程”,却没有做完整攻击链路还原。不清楚攻击者从哪个入口进来、拿到了什么权限、横向移动到哪些主机、有没有窃取数据,后续很容易再次被入侵。
入侵溯源的核心就是以时间线为主线,串联各类日志证据,按照 MITRE ATT&CK 攻击阶段,还原攻击者从外网突破、权限维持、内网横向、数据窃取、清理痕迹的全流程。
日志溯源不是单纯看一条日志,而是交叉验证:Web 访问日志、系统安全日志、进程审计日志、网络设备日志、Sysmon 日志、中间件日志互相印证,补全攻击者每一步操作。
标准攻击链路(MITRE):初始访问 → 执行 → 权限提升 → 凭证窃取 → 横向移动 → 持久化 → 命令与控制 C2 → 数据收集 / 外渗 → 痕迹清除。
一、溯源前置准备(第一步:保护证据,日志采集)
绝对不要直接在原始服务器上直接修改、清理日志,攻击者可能留了日志清除脚本。
Windows 日志采集
Windows 日志存放路径:C:\Windows\System32\winevt\Logs\
主要日志文件:Security.evtx、System.evtx、Application.evtx,开启 Sysmon 则还有Microsoft-Windows-Sysmon/Operational。
::导出安全日志,取证备份 wevtutil epl Security C:\ir_backup\Security.evtx wevtutil epl System C:\ir_backup\System.evtx wevtutil epl Application C:\ir_backup\Application.evtxPowerShell 导出安全日志筛选 4624/4688 事件:
Get-WinEvent -LogName Security | Where {$_.TimeCreated -gt (Get-Date).AddDays(-7)} | Export-Csv security_log.csv -Encoding UTF8Linux 日志采集
CentOS/RHEL 登录日志:/var/log/secure
Ubuntu/Debian 登录日志:/var/log/auth.log
系统日志:/var/log/messages,systemd 服务日志用journalctl
# 备份登录日志 cp /var/log/secure /root/ir_backup/secure.bak cp /var/log/auth.log /root/ir_backup/auth.log.bak # 导出7天系统日志 journalctl --since "7 days ago" > /root/ir_backup/journal_7d.txt # 查看历史登录记录 last > /root/ir_backup/login_history.txtWeb 日志采集(Web 服务器入侵重点)
Nginx/Apache/IIS 访问日志,重点保留原始访问日志,记录攻击者 IP、请求路径、POST 参数、UA、响应状态码。
注意:攻击者拿到 Webshell 后经常会删除 web 日志、关闭日志记录,日志缺失本身就是高危告警。
溯源前期基础信息收集
- 受害主机 IP、操作系统版本、资产角色(Web 服务器 / 数据库 / 域控)
- 告警触发时间(CPU 异常、外联 C2、IDS 告警时间,作为时间线起点)
- 初步定位恶意文件创建时间、进程启动时间
- 收集攻击者 IP,做威胁情报查询(IP 归属、恶意标记)
二、Windows 核心安全日志事件 ID 速查表(溯源高频)
| 事件 ID | 含义 | 溯源用途 |
|---|---|---|
| 4624 | 账户成功登录 | 定位攻击者登录时间、登录来源 IP、登录类型(RDP/SSH/SMB/webshell) |
| 4625 | 登录失败 | 暴力破解、密码喷洒,大量 4625 之后出现 4624,大概率爆破成功 |
| 4688 | 进程创建(需手动开启审计) | 记录命令行,webshell 执行 cmd/powershell、下载恶意程序、横向命令 |
| 4720 | 新建本地用户 | 攻击者创建后门账号 |
| 4732 | 用户加入管理员组 | 提权,后门账号添加至 Administrators 组 |
| 7045 | 新建系统服务 | 持久化,恶意服务创建记录 |
| 4698 | 创建计划任务 | 红队常用持久化手段,定时拉起后门 / 挖矿程序 |
| 4672 | 特权登录 | 高权限登录,域管理员、本地管理员登录 |
登录类型 LogonType:
2:本地交互式登录;3:网络登录(SMB、IIS、webshell);10:RDP 远程桌面登录。
三、Linux 核心日志关键字,定位 SSH 爆破与入侵
# 筛选SSH失败密码(暴力破解) grep "Failed password" /var/log/secure # 筛选SSH成功登录 grep "Accepted password" /var/log/secure # 查看sudo提权操作 grep "sudo:" /var/log/secure # 查找新增ssh公钥登录 grep "Accepted publickey" /var/log/securelast命令查看所有登录记录,lastb查看登录失败记录。
常见线索:大量 Failed password 爆破,紧接着出现 Accepted 登录;陌生 IP 登录后执行 sudo 提权、修改 crontab、写入 authorized_keys 公钥后门。
四、Web 入侵溯源(Webshell 场景,最常见企业入侵入口)
攻击链路示例:漏洞探测 → 文件上传上传 webshell → 蚁剑 / 菜刀连接 webshell → 执行系统命令 → 下载木马 → 持久化 → 横向移动
溯源步骤:
- Web 日志查找攻击者 IP
筛选 POST 请求,查找.php/.asp/.aspx/.jsp脚本访问记录,查找 webshell 文件首次访问时间。
# Nginx日志筛选POST请求 grep "POST" access.log # 查找webshell文件名访问记录 grep "shell.php" access.log- 交叉验证:Web 日志时间 和 系统 4688 进程日志对齐
webshell 执行系统命令时,w3wp.exe/php-cgi 作为父进程,创建 cmd、powershell、certutil、bitsadmin 下载恶意文件,4688 日志会记录完整命令行。
重点看:
certutil -urlcache、powershell IEX(New-Object Net.WebClient).DownloadString(),这是经典无文件载荷下载命令。
- 定位漏洞入口
往前回溯 Web 日志,看攻击者在上传 shell 之前做了哪些探测:扫描目录、SQL 注入、文件上传测试、路径遍历。 - 查看 webshell 操作行为
日志 POST 参数包含system()、eval()、base64解码;执行whoami、ipconfig、net user、查看内网网段、扫描内网 IP。
五、完整实战案例:日志还原一条完整攻击链
告警现象:Windows Web 服务器 CPU 持续满载,IDS 告警服务器外联矿池 IP
下面是按照时间线串联日志还原全过程
- 初始访问(08:02)Web 日志
外网 IP185.xxx.xxx.xxx多次扫描网站目录,发现文件上传漏洞,POST 上传cmd.aspxwebshell 文件,状态码 200 上传成功。 - 执行(08:04)Web 日志 + Windows 4688 日志
攻击者访问 cmd.aspx,执行 whoami、ipconfig、net view,探测内网网段;再执行 powershell 命令,远程下载 xmrig 挖矿程序到C:\ProgramData\。 - 权限提升(08:06)4688 日志
webshell 进程 w3wp.exe 调用runas或者窃取凭证,获取本地管理员权限。 - 持久化(08:08)4698 计划任务日志
创建计划任务,每 5 分钟执行一次挖矿程序,看门狗检测进程退出自动重启。 - 命令与控制(08:10)网络日志
挖矿程序向外矿池 IP:3333 建立 TCP 长连接,持续提交算力。 - 凭证窃取 + 横向移动(08:15)4624 登录日志
使用抓取的账号密码,对内网另一台服务器 445 进行 SMB 登录,出现 4624 登录成功日志,开始横向植入后门。 - 痕迹清理(08:20)
执行命令清空 IIS 访问日志,删除部分系统事件日志。
结论:攻击者通过网站文件上传漏洞上传 Webshell,拿下 Web 服务器,提权后部署挖矿木马,同时横向渗透内网其他主机,并且尝试清除日志掩盖入侵痕迹。
六、日志溯源分析方法:时间线分析法(核心方法)
- 锚定关键时间点
以恶意文件创建时间 / 告警时间 / 首次成功登录时间作为时间轴中心点。 - 向前追溯:找入侵入口
中心点往前查找:漏洞探测、爆破尝试、文件上传、webshell 访问,找到攻击者是怎么进入系统。 - 向后追溯:攻击者后续行为
中心点往后查找:命令执行、下载恶意程序、创建账号、计划任务、对外 C2 连接、内网横向登录、数据外发、日志擦除。 - 多源日志交叉校验
不能只依赖单一日志。Web 日志证明外网入口;系统安全日志证明登录和进程执行;网络日志证明 C2 通信;Sysmon 日志记录文件创建、注册表修改。多条证据互相印证,排除误报。 - 标记证据缺口
如果日志缺失(例如 security 日志被清空,web 日志被删除),要在报告中写明:攻击者存在日志擦除行为,部分攻击环节无法取证。
七、横向移动场景日志溯源(内网渗透、域环境)
攻击者拿下第一台跳板主机后,会利用窃取账号密码,通过 SMB、RDP、WMI、PsExec 横向访问内网其他服务器。
重点日志特征:
- 4624 登录类型 3(SMB),来源 IP 是已经失陷的跳板内网 IP;
- 4648 显式凭据登录事件:使用窃取账号密码远程登录;
- 进程日志:wmic、psexec、wmiprvse.exe 被远程调用,在目标主机创建进程;
- 多台服务器出现相同外网攻击 IP或者同一内网跳板 IP 登录,说明横向扩散。
溯源要点:梳理内网主机之间的登录关系,画出攻击拓扑图,区分:初始失陷主机、跳板主机、横向感染主机,判断攻击者在内网控制范围。
八、常见日志陷阱 & 反取证识别(容易踩坑)
- 攻击者清空事件日志
命令wevtutil cl Security直接清空安全日志。日志大量缺失、日志时间断层,代表攻击者执行了痕迹清除,不能认为没有入侵行为。 - 关闭日志审计
修改本地安全策略,关闭 4688 进程审计,不再记录进程命令行。 - 篡改系统时间
修改服务器系统时间,扰乱日志时间线,需要对比网络设备、SIEM 日志的真实时间。 - 无文件攻击,磁盘无恶意文件
PowerShell 内存载荷、反射 DLL 注入,磁盘不落地恶意程序,但4688 或者 Sysmon 仍然记录进程执行命令行,日志是最关键证据。 - 日志量巨大,大量噪音
优先筛选攻击者 IP、事件 ID、时间范围,先过滤无关运维正常操作日志,再分析可疑事件。
九、溯源报告必备输出项
完成日志分析还原链路之后,输出应急溯源报告,内容包含:
- 事件概述:告警来源、受害资产、事件时间;
- 取证信息:采集的日志清单、日志哈希;
- 完整攻击时间线,每一步操作、对应日志证据;
- 攻击入口根因(文件上传漏洞 / SSH 弱口令 / SQL 注入);
- 攻击者行为总结:是否提权、横向范围、是否窃取数据;
- IOC 指标:攻击者 IP、恶意文件哈希、C2 地址、矿池钱包;
- 修复建议:漏洞修复、账号加固、日志审计、内网隔离;
- 残留后门排查清单,复测验证方案。
十、企业日志建设加固建议,提升溯源能力
- 日志集中采集:部署 SIEM,集中采集 Web 日志、Windows 安全日志、Sysmon、Linux 认证日志,日志不可被服务器本地删除;
- 开启关键审计策略:Windows 开启 4688 进程命令行审计,部署 Sysmon;Linux 开启 auditd 审计;
- 日志留存:日志至少保留 6 个月,满足溯源和等保要求;
- 基线建立:记录服务器正常登录 IP、运维操作时间,快速识别异常异地登录;
- 告警规则:配置告警:大量 4625 登录失败、陌生 IP 管理员登录、计划任务新增、powershell 远程下载行为;
- 最小权限:业务账号禁止管理员权限,限制内网主机之间 SMB、WMI 横向访问。
十一、日志溯源排查清单
- 备份原始日志,记录日志哈希,保证证据完整性
- 确定告警时间、受害资产,锁定可疑时间窗口
- 定位攻击者原始外网 IP,威胁情报查询 IP 信息
- 向前追溯日志,找到初始入侵入口(Web 漏洞 / SSH 爆破)
- 查看登录事件 4624/4625,确认登录方式、来源
- 查看进程审计日志 4688,分析攻击者执行的全部命令
- 排查持久化日志:新建账号、计划任务、恶意服务
- 查找横向移动日志,绘制内网攻击拓扑,确认感染范围
- 检查日志是否存在被清空、篡改(反取证行为)
- 整理时间线、IOC,输出完整溯源报告,给出修复方案
最后
网络安全需要学习那些知识
网络安全零基础入门学习路线&规划
初级
1、网络安全理论知识(2天)
①了解行业相关背景,前景,确定发展方向。
②学习网络安全相关法律法规。
③网络安全运营的概念。
④等保简介、等保规定、流程和规范。(非常重要)
2、渗透测试基础(一周)
①渗透测试的流程、分类、标准
②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking
③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察
④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等
3、操作系统基础(一周)
①Windows系统常见功能和命令
②Kali Linux系统常见功能和命令
③操作系统安全(系统入侵排查/系统加固基础)
4、计算机网络基础(一周)
①计算机网络基础、协议和架构
②网络通信原理、OSI模型、数据转发流程
③常见协议解析(HTTP、TCP/IP、ARP等)
④网络攻击技术与网络安全防御技术
⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现
5、数据库基础操作(2天)
①数据库基础
②SQL语言基础
③数据库安全加固
6、Web渗透(1周)
①HTML、CSS和JavaScript简介
②OWASP Top10
③Web漏洞扫描工具
④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)
恭喜你,如果学到这里,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web 渗透、安全服务、安全分析等岗位;如果等保模块学的好,还可以从事等保工程师。薪资区间6k-15k
到此为止,大概1个月的时间。你已经成为了一名“脚本小子”。那么你还想往下探索吗?
想要入坑黑客&网络安全的朋友,给大家准备了一份:282G全网最全的网络安全资料包免费领取!
7、脚本编程(初级/中级/高级)
在网络安全领域。是否具备编程能力是“脚本小子”和真正黑客的本质区别。在实际的渗透测试过程中,面对复杂多变的网络环境,当常用工具不能满足实际需求的时候,往往需要对现有工具进行扩展,或者编写符合我们要求的工具、自动化脚本,这个时候就需要具备一定的编程能力。在分秒必争的CTF竞赛中,想要高效地使用自制的脚本工具来实现各种目的,更是需要拥有编程能力.
零基础入门,建议选择脚本语言Python/PHP/Go/Java中的一种,对常用库进行编程学习; 搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP, IDE强烈推荐Sublime; ·Python编程学习,学习内容包含:语法、正则、文件、 网络、多线程等常用库,推荐《Python核心编程》,不要看完; ·用Python编写漏洞的exp,然后写一个简单的网络爬虫; ·PHP基本语法学习并书写一个简单的博客系统; 熟悉MVC架构,并试着学习一个PHP框架或者Python框架 (可选); ·了解Bootstrap的布局或者CSS。
8、超级黑客
这部分内容对零基础的同学来说还比较遥远,就不展开细说了,贴一个大概的路线。
网络安全工程师企业级学习路线
视频配套资料&国内外网安书籍、文档&工具
当然除了有配套的视频,同时也为大家整理了各种文档和书籍资料&工具,并且已经帮大家分好类了。
一些我自己买的、其他平台白嫖不到的视频教程:
要学习网安其实不难,难的是坚持和相信自己,我的经验是既然已经选定网安你就要相信它,相信它能成为你日后进阶的高效渠道,这样自己才会更有信念去学习,才能在碰到困难的时候坚持下去。
机会属于有准备的人,这是一个实力的时代。人和人之间的差距不在于智商,而在于如何利用业余时间,只要你想学习,什么时候开始都不晚,不要担心这担心那,你只需努力,剩下的交给时间!
这份完整版的学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】