🔥收藏!程序员&小白必看:网络安全应急响应全流程实战指南
本文是面向程序员与小白的网络安全应急响应入门实战教程,覆盖进场信息收集、现场保护、Windows/Linux系统全维度排查、常见攻击定位、证据采集与报告编写全流程,附带大量实用命令与表格,快速上手应急响应技能。
收到后台来信,借着满足愿望顺带水一期——应急响应。
一、进场前:信息收集
接到应急响应需求后,与客户确认以下信息:
| 确认事项 | 具体内容 | 目的 |
| 发现时间 | 异常首次被发现的具体时间点 | 缩小日志分析时间窗口 |
| 异常现象 | 文件加密、系统卡慢、首页篡改、账号异常等 | 确定排查方向 |
| 系统信息 | 操作系统版本、IP地址、是否虚拟机 | 准备对应工具和命令 |
| 环境限制 | 是否物理隔离、U盘是否可用、是否需要审批 | 提前准备介质和工具 |
| 日志状态 | 系统日志是否开启、是否有备份 | 评估可用证据 |
实操建议:将以上信息整理成表格,进场前发给客户填写,避免到场后发现信息不全。
二、进场后:现场保护
到达现场后,第一件事不是查问题,而是保护现场。
2.1 确认网络状态
| 场景 | 处理方式 |
| 服务器正在被加密 | 立即断网,避免损失扩大 |
| 服务器被控挖矿 | 断网或封禁外连IP |
| 不确定攻击是否持续 | 保持现状,先采集再处置 |
2.2 采集易失数据
以下数据在系统重启后会丢失,必须优先采集:
| 数据类型 | Windows命令 | Linux命令 |
| 系统时间 | systeminfo | find “系统启动时间” |
| 当前用户会话 | query user | who -a、w |
| 网络连接 | netstat -ano | netstat -anptu、ss -anptu |
| 进程列表 | tasklist /v | ps auxf、ps -ef |
| 系统服务 | sc query state= all | systemctl list-units --type=service |
| 计划任务 | schtasks /query /fo csv | crontab -l、ls -la /etc/cron* |
2.3 拍照留痕
以下信息建议拍照留存:
当前屏幕显示内容(报错信息、异常弹窗)
系统时间
进程列表中可疑条目
客户现场操作记录(如有)
三、Windows系统应急排查
3.1 账号排查
检查本地用户:
net userlusrmgr.msc检查最近创建的账号:
wevtutil qe Security /f:text /rd:true /c:50 /q:"*[System[EventID=4720]]检查添加到管理员组的账号:
wevtutil qe Security /f:text /rd:true /c:50 /q:"*[System[EventID=4732]]"检查隐藏账号:
wmic useraccount get name,sid,statusreg query "HKLM/SAM/SAM/Domains/Account/Users" /s关注点:
账号名称是否异常(如admin$、defaultuser0、help)
账号创建时间是否在异常时间窗口内
SID以500 结尾的默认管理员账号是否被改名
3.2 进程排查
查看所有进程:
tasklist /v /fo csvwmic process get name,processid,parentprocessid,commandline按内存排序查看:
tasklist /fi "memusage gt 100000"检查进程签名(识别伪装系统进程):
Get-AuthenticodeSignature -FilePath C:/path/to/process.exe常见可疑进程特征:
| 特征 | 说明 |
| 进程名与系统进程相似但拼写错误 | svch0st.exe、expl0rer.exe |
| 进程路径不在系统目录 | 正常系统进程应在 C:/Windows/System32 |
| 进程无数字签名或签名无效 | 微软官方进程均有有效签名 |
| CPU/内存占用异常高 | 挖矿木马特征 |
| 进程父进程异常 | 如 cmd.exe 父进程为网络服务进程 |
3.3 网络连接排查
查看所有网络连接:
netstat -ano查找外连IP及对应进程:
netstat -ano | findstr "ESTABLISHED"根据PID定位进程:
tasklist | findstr <PID>查看DNS缓存(排查恶意域名):
ipconfig /displaydns关注点:
外连IP是否为已知恶意IP(需要提前准备IOC列表)
连接端口是否为非常用端口(非80、443、22、3389等)
连接进程是否为系统进程但路径异常
3.4 计划任务排查
列出所有计划任务:
schtasks /query /fo csv /v查看特定文件夹下的任务:
dir C:/Windows/System32/Tasks /s关注点:
任务名称是否可疑(随机字符、伪装名称)
执行程序路径是否在临时目录或用户目录
任务触发频率是否异常(每分钟/每小时执行)
3.5 服务排查
列出所有服务:
sc query state= allwmic service get name,displayname,pathname,startmode,state关注点:
服务状态为Running 但名称可疑
服务可执行文件路径在C:/Users/*/AppData 或 C:/Temp
服务启动类型为Auto 但非系统默认服务
3.6 启动项排查
注册表启动项:
reg query "HKLM/SOFTWARE/Microsoft/Windows/CurrentVersion/Run"reg query "HKLM/SOFTWARE/Microsoft/Windows/CurrentVersion/RunOnce"reg query "HKCU/SOFTWARE/Microsoft/Windows/CurrentVersion/Run"reg query "HKCU/SOFTWARE/Microsoft/Windows/CurrentVersion/RunOnce"启动文件夹:
dir "C:/ProgramData/Microsoft/Windows/Start Menu/Programs/Startup"dir "%USERPROFILE%/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Startup"3.7 日志采集
详细操作参考《安服仔单兵驻场指南——日志采集与分析》。
快速导出命令:
# 导出安全日志wevtutil epl Security D:/logs/Security.evtx # 导出系统日志wevtutil epl System D:/logs/System.evtx # 导出PowerShell日志wevtutil epl "Windows PowerShell" D:/logs/PowerShell.evtx3.8 文件系统排查
查找最近修改的文件:
# 最近24小时修改forfiles /P C:/ /S /M *.* /D +0 2>nul # 使用PowerShellGet-ChildItem -Path C:/ -Recurse -ErrorAction SilentlyContinue | Where-Object { $_.LastWriteTime -gt (Get-Date).AddDays(-1) }查找可疑文件类型:
# 查找exe文件dir C:/*.exe /s # 查找临时目录下的可执行文件dir C:/Users/*/AppData/Local/Temp/*.exedir C:/Windows/Temp/*.exe关注点:
文件创建时间与异常时间窗口吻合
文件名随机(如sdf87g32.exe)
文件在临时目录或用户下载目录
3.9 注册表持久化排查
常见持久化位置:
reg query "HKLM/SOFTWARE/Microsoft/Windows NT/CurrentVersion/Winlogon" /v Shellreg query "HKLM/SOFTWARE/Microsoft/Windows NT/CurrentVersion/Winlogon" /v Userinitreg query "HKLM/SYSTEM/CurrentControlSet/Control/Session Manager" /v BootExecutereg query "HKLM/SOFTWARE/Microsoft/Windows/CurrentVersion/Explorer/ShellIconOverlayIdentifiers"reg query "HKCU/SOFTWARE/Microsoft/Windows/CurrentVersion/Explorer/ShellIconOverlayIdentifiers"四、Linux系统应急排查
4.1 账号排查
查看所有用户:
cat /etc/passwd查看最近登录记录:
last -n 20查看失败登录记录:
lastb -n 20查看当前登录用户:
who -a检查UID为0的非root账号:
awk -F: '($3 == 0) {print $1}' /etc/passwd检查空口令账号:
awk -F: '($2 == "") {print $1}' /etc/shadow关注点:
是否存在非root但UID为0的账号
是否存在最近创建但未使用的账号(/etc/passwd中按时间排序)
是否存在SSH密钥异常添加(检查/root/.ssh/authorized_keys)
4.2 进程排查
查看完整进程树:
ps auxfps -ef --forest按CPU使用率排序:
ps aux --sort=-%cpu | head -20按内存使用率排序:
ps aux --sort=-%mem | head -20查看进程的详细信息(打开文件、网络连接):
lsof -p <PID>查看可疑进程的环境变量:
cat /proc/<PID>/environ | tr '/0' '/n'常见可疑进程特征:
| 特征 | 说明 |
| 进程名随机(如 [kworker] 伪装) | 挖矿木马常用手法 |
| 进程以root运行但路径在 /tmp 或 /dev/shm | 临时目录不应有root进程 |
| 进程CPU使用率持续高于100% | 挖矿特征 |
| 无进程文件(/proc//exe 指向已删除文件) | 可疑 |
| 进程父进程为1(init/systemd)但路径异常 | 可能是被注入的服务 |
4.3 网络连接排查
查看所有网络连接:
netstat -anptuss -anptu查看ESTABLISHED连接:
netstat -anptu | grep ESTABLISHED查看监听端口:
netstat -anptu | grep LISTENlsof -i -P -n | grep LISTEN查看连接对应的进程:
ss -anptu | grep <IP>关注点:
外连IP是否为已知恶意IP
是否存在反向Shell连接(内网IP连外网非常用端口)
是否存在IRC协议连接(6667端口等)
连接进程是否为系统进程但路径异常
4.4 计划任务排查
查看系统计划任务:
crontab -l -u rootcat /etc/crontabls -la /etc/cron.d/ls -la /etc/cron.daily/ls -la /etc/cron.hourly/ls -la /etc/cron.weekly/ls -la /etc/cron.monthly/查看用户计划任务:
for user in $(cut -f1 -d: /etc/passwd); do echo "### $user"; crontab -l -u $user 2>/dev/null; done查看systemd定时器:
systemctl list-timers --all关注点:
任务执行脚本路径是否在/tmp、/dev/shm、/var/tmp
任务内容是否包含wget、curl、bash -i、nc、perl -e 等
任务执行频率是否异常(每分钟)
4.5 服务排查
查看所有服务:
systemctl list-units --type=service --all查看正在运行的服务:
systemctl list-units --type=service --state=running查看服务文件内容:
systemctl cat <服务名>关注点:
服务名称是否可疑(随机字符、伪装系统服务名)
服务执行的命令路径是否在/tmp、/var/tmp、/home/*
服务文件中是否包含ExecStartPre、ExecStartPost 执行可疑命令
4.6 启动项排查
查看rc.local:
cat /etc/rc.localls -la /etc/rc.local查看init.d:
ls -la /etc/init.d/update-rc.d -f <服务名> remove查看systemd启动项:
systemctl list-unit-files --type=service |grep enabled查看profile和bashrc:
cat /etc/profilecat /etc/bashrccat ~/.bashrccat ~/.bash_profile4.7 历史命令排查
查看root历史命令:
cat /root/.bash_history查看各用户历史命令:
for user in $(ls /home/); do echo "### $user"; cat /home/$user/.bash_history 2>/dev/null; done关注点:
是否存在wget、curl 下载文件
是否存在chmod +x、./ 执行不明文件
是否存在passwd、useradd、adduser 创建账号
是否存在nc、ncat、socat 反弹Shell
是否存在crontab 修改计划任务
历史命令文件是否被清空(.bash_history 为空或只有 history -c)
4.8 日志排查
详细操作参考《安服仔单兵驻场指南——日志采集与分析》。
快速排查命令:
# 认证日志tail -100 /var/log/auth.log # Debian系tail -100 /var/log/secure # RHEL系# 系统日志tail -100 /var/log/syslog # Debian系tail -100 /var/log/messages # RHEL系# 查看登录失败的IPgrep"Failed password" /var/log/auth.log |awk'{print $11}'|sort|uniq-c|sort -nr |head -20# 查看sudo执行记录grep"sudo" /var/log/auth.log# 查看SSH登录成功的IPgrep"Accepted" /var/log/auth.log |awk'{print $11}'|sort|uniq-c|sort-nr|head -204.9 文件系统排查
查找最近修改的文件:
find / -type f -mtime -1 2>/dev/null查找最近创建的文件:
find / -type f -ctime -1 2>/dev/null查找SUID/SGID文件:
find / -perm -4000-type f 2>/dev/nullfind / -perm -2000 -type f 2>/dev/null查找可写文件:
find / -type f -perm -222 2>/dev/null查找特定目录下的可执行文件:
find /tmp -type f -executable 2>/dev/nullfind /dev/shm -type f -executable 2>/dev/nullfind /var/tmp -type f -executable 2>/dev/null查找Webshell特征文件:
find /var/www -name "*.php" -mtime -7 2>/dev/null grep -r "eval(" /var/www/ 2>/dev/null grep -r "base64_decode" /var/www/ 2>/dev/nullgrep -r "system(" /var/www/ 2>/dev/null4.10 内核模块排查
查看已加载内核模块:
lsmod查看模块信息:
modinfo <模块名>关注点:
是否存在未知内核模块(Rootkit常见手法)
模块路径是否异常(正常模块应在/lib/modules/)
五、常见攻击类型快速排查表
| 攻击类型 | 典型特征 | 优先排查位置 |
| 挖矿木马 | CPU持续100%、进程名随机、外连矿池IP | 进程、计划任务、crontab |
| 勒索病毒 | 文件后缀被修改、勒索信、文件修改时间集中 | 进程、文件系统、计划任务 |
| Webshell | 文件上传时间异常、代码中包含eval/system | Web目录文件、访问日志 |
| 后门账号 | 新增未知账号、UID为0的非root账号 | /etc/passwd、安全日志 |
| SSH爆破 | auth.log大量Failed password、lastb记录多 | 认证日志、lastb |
| 反弹Shell | 外连非常用端口、进程父进程为web服务 | 网络连接、进程树 |
| Rootkit | lsmod显示异常模块、ps/netstat输出可疑 | 内核模块、系统命令完整性 |
| 数据窃取 | 外连异常IP、大量数据库查询日志 | 网络连接、数据库日志 |
六、证据采集与保存
6.1 采集清单
| 证据类型 | Windows | Linux |
| 进程列表 | tasklist输出 | ps输出 |
| 网络连接 | netstat输出 | netstat/ss输出 |
| 登录记录 | 安全日志 | last/lastb输出、auth.log |
| 计划任务 | schtasks输出 | crontab文件 |
| 启动项 | 注册表Run键 | rc.local、systemd |
| 可疑文件 | 可执行文件 | 脚本、二进制文件 |
| 系统日志 | .evtx文件 | /var/log/* |
6.2 文件完整性校验
采集前记录哈希值:
Windows:
Get-FileHash -Path <文件路径> -Algorithm SHA256Linux:
sha256sum <文件路径>md5sum <文件路径>6.3 采集注意事项
先采集易失数据:进程、网络连接、登录会话
再采集持久化数据:日志、配置文件、计划任务
保留原始格式:不要修改文件时间戳、不要打开文件编辑
记录采集时间:每条证据标注采集时间点
链式 custody:记录谁采集、谁保管、谁分析
七、报告编写
7.1 报告结构
| 章节 | 内容 |
| 事件概述 | 发生时间、影响范围、严重程度 |
| 排查过程 | 按时间线记录操作步骤和发现 |
| 证据分析 | 关键发现、IOC、TTP |
| 确认问题 | 确认的攻击类型、入侵途径、影响面 |
| 处置措施 | 已执行的隔离、清除、恢复操作 |
| 遗留风险 | 未解决的问题、需要客户跟进的事项 |
| 加固建议 | 防止再次发生的安全措施 |
7.2 报告编写原则
结论明确:确认的写“确认”,未确认的写“未发现”,不要写“可能”“疑似”
证据支撑:每个结论附上对应的日志行、文件名、哈希值
可操作性:加固建议具体到命令、配置项、操作步骤
留痕可查:报告中包含采集证据的哈希值,便于后续验证
学习资源
2026年最新版本,全网最全的网安视频教程。耗时半年打造,之前都是内部资源,专业方面绝对可以秒杀国内99%的机构和个人教学!全网独一份,你不可能在网上找到这么专业的教程。
内容涵盖了入门必备的操作系统、计算机网络和编程语言等初级知识,而且包含了中级的各种渗透技术,并且还有后期的CTF对抗、区块链安全等高阶技术。
总共200多节视频,200多G的资源,不用担心学不全。(包含攻击与防守、漏洞挖掘、CTF比赛等技术点)
1、知识库价值
深度: 本知识库超越常规工具手册,深入剖析攻击技术的底层原理与高级防御策略,并对业内挑战巨大的APT攻击链分析、隐蔽信道建立等,提供了独到的技术视角和实战验证过的对抗方案。
广度: 面向企业安全建设的核心场景(渗透测试、红蓝对抗、威胁狩猎、应急响应、安全运营),本知识库覆盖了从攻击发起、路径突破、权限维持、横向移动到防御检测、响应处置、溯源反制的全生命周期关键节点,是应对复杂攻防挑战的实用指南。
实战性: 知识库内容源于真实攻防对抗和大型演练实践,通过详尽的攻击复现案例、防御配置实例、自动化脚本代码来传递核心思路与落地方法。
2、 部分核心内容展示
独家《网络攻防知识库》采用由浅入深、攻防结合的讲述方式,既夯实基础技能,更深入高阶对抗技术。
独家《网络攻防知识库》采用由浅入深、攻防结合的讲述方式,既夯实基础技能,更深入高阶对抗技术。
内容组织紧密结合攻防场景,辅以大量真实环境复现案例、自动化工具脚本及配置解析。通过策略讲解、原理剖析、实战演示相结合,是你学习过程中好帮手。
1、网络安全意识
2、Linux操作系统
3、WEB架构基础与HTTP协议
4、Web渗透测试
5、渗透测试案例分享
6、渗透测试实战技巧
7、攻防对战实战
8、CTF之MISC实战讲解
3、适合学习的人群
一、基础适配人群
- 零基础转型者:适合计算机零基础但愿意系统学习的人群,资料覆盖从网络协议、操作系统到渗透测试的完整知识链;
- 开发/运维人员:具备编程或运维基础者可通过资料快速掌握安全防护与漏洞修复技能,实现职业方向拓展或者转行就业;
- 应届毕业生:计算机相关专业学生可通过资料构建完整的网络安全知识体系,缩短企业用人适应期;
二、能力提升适配
1、技术爱好者:适合对攻防技术有强烈兴趣,希望掌握漏洞挖掘、渗透测试等实战技能的学习者;
2、安全从业者:帮助初级安全工程师系统化提升Web安全、逆向工程等专项能力;
3、合规需求者:包含等保规范、安全策略制定等内容,适合需要应对合规审计的企业人员;
因篇幅有限,仅展示部分资料,完整版的网络安全学习资料已经上传,戳下面拿:
🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源