📋 本节教学内容
| 章节 | 内容 | 建议时长 |
|---|---|---|
| 4.3.1 | 木马的隐藏 | 25分钟 |
| 4.3.2 | 木马的启动 | 25分钟 |
| 4.3.3 | 主流木马检测技术简介 | 25分钟 |
| 课堂练习+总结 | 火绒剑实操 + 知识点回顾 | 15分钟 |
🎯 教学目标
| 维度 | 目标 |
|---|---|
| 知识 | 掌握木马的典型隐藏方式与启动机制;识别主流木马检测技术(特征码/启发式/行为/完整性)的原理与应用场景 |
| 技能 | 能使用火绒剑对可疑进程和未知文件进行监控与分析;能使用D盾和Webshell扫描器查杀Webshell并识别风险文件;能根据行为特征判断可疑程序是否为木马 |
| 素养 | 培养严谨细致的安全排查习惯;增强对系统安全威胁的敏感性与责任感;树立主动防御和持续监控的信息安全意识 |
⚡ 教学重难点
| 类型 | 内容 | 突破策略 |
|---|---|---|
| 重点 | 木马的典型隐藏方式与启动机制;火绒剑、D盾、Webshell扫描器的实际使用 | 现场演示 + 学生跟做 |
| 难点 | 启发式检测 vs 行为检测的区别;远程线程注入的原理理解 | "警察抓贼"类比:启发式=看长相,行为=看行动 |
📖 4.3.1 木马的隐藏(25分钟)
一、程序隐藏
1. 伪装成系统文件
将木马文件名和图标修改得与系统文件相似(如 svchost.exe),放置在系统目录中。用户难以分辨。
案例:svch0st.exe(数字0 替代 字母o)、expl0rer.exe
2. 文件捆绑
利用文件捆绑工具,将木马与正常的可执行文件链接在一起。运行正常程序时,木马同时激活。
常见场景:盗版软件、破解工具、非官方渠道下载的程序
二、进程隐藏
1. API拦截(伪隐藏)
通过Hook技术拦截系统API函数调用(如EnumProcessModules),修改返回的进程信息,从结果中删除自己,使任务管理器无法显示。
本质:自己还在,只是改了你看到的结果
2. 远程线程注入(真隐藏)
利用 CreateRemoteThread 将木马DLL注入到合法进程(如 explorer.exe、svchost.exe)的内存空间中执行。进程列表中只有合法进程。
危害最大:无独立进程,极难发现
3. 注册为系统服务
将木马注册为Windows系统服务,以服务方式在后台运行,任务管理器中显示为服务进程而非普通进程,关注度低。
三、通信隐藏
1. 端口复用
木马不监听新端口,而是复用已开放的端口(如80/443),将恶意流量混在正常流量中。
2. 加密通信隧道
使用SSL/TLS加密C2通信,使流量检测设备无法分析载荷内容。Beacon的HTTPS模式即典型应用。
📖 4.3.2 木马的启动(25分钟)
一、注册表Run键启动
木马在以下注册表位置添加键值,随系统启动自动运行:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
检测方式:regedit 打开上述路径,检查可疑启动项
二、开始菜单启动文件夹
将木马快捷方式放入启动文件夹,系统启动时自动执行:
%AppData%\Microsoft\Windows\Start Menu\Programs\Startup
三、计划任务启动
通过 schtasks 创建计划任务,设定触发条件(开机时/定时/用户登录时)执行木马程序。
> schtasks /query /fo LIST /v # 查看所有计划任务 > taskschd.msc # 图形化管理界面
四、系统服务启动
通过 sc 命令或服务管理将木马注册为Windows服务,设置启动类型为"自动"。
五、DLL劫持启动
利用Windows DLL加载顺序漏洞:将恶意DLL放在应用程序目录中,程序启动时会优先加载恶意DLL而非系统目录中的合法DLL。
原理:Windows的DLL搜索顺序 → 应用程序目录 → 系统目录 → PATH环境变量
隐蔽性极高 —— 没有独立进程,随合法程序自动加载
"我怎么在电脑重启之后还能活过来?"
—— 这就是五种启动方式要回答的同一个问题。
📖 4.3.3 主流木马检测技术简介(25分钟)
一、四种检测技术
| 检测技术 | 原理 | 类比 | 优劣 |
|---|---|---|---|
| 特征码检测 | 提取已知木马的唯一字节序列/哈希 → 扫描文件比对 | 通缉令对照片 | 快速准确 改一个字节就失效 |
| 启发式检测 | 分析代码结构、API调用模式 → 判断是否与已知恶意代码相似 | 看长相像不像 | 能发现变种 误报率较高 |
| 行为检测 | 在沙箱/实际环境中运行,监控文件/注册表/网络/进程操作 | 看你干了什么 | 最可靠·能发现未知木马 需要触发行为 |
| 完整性检测 | 建立系统文件基线 → 定期比对哈希值变化 | 比对指纹 | 适合服务器监控 对未知木马效果有限 |
二、检测工具实战
🛡️ 火绒剑(HuoRong Sword)
用途:进程监控分析、文件监控、注册表监控、网络连接监控
实操要点:
- 进程监控:查看所有进程及其子进程树,识别无签名/无公司名的可疑进程
- 文件监控:设置过滤规则,监控特定目录的文件创建/修改/删除
- 注册表监控:监控Run键、启动文件夹等位置的写入操作
- 网络监控:查看所有TCP/UDP连接,定位可疑外连
🛡️ D盾(D Shield)
用途:Webshell查杀、可疑文件识别
实操要点:
- 指定扫描目录 → 静态分析PHP/ASP/JSP等Web脚本中的恶意代码特征
- 识别一句话木马、加密Webshell、变种Webshell
- 结果分级:高危 可疑 安全
🛡️ Webshell扫描器
用途:专门针对Web目录进行木马扫描
检测逻辑:正则匹配已知恶意函数(如 eval、assert、system、exec)→ 分析上下文 → 判断是否为Webshell
火绒剑(主机层) + D盾(Web层) + 行为分析(动态层) = 三维检测体系
🧪 课堂练习与总结(15分钟)
📝 练习一:隐藏方式识别(5min)
请判断以下场景分别对应哪种隐藏/启动方式:
- 任务管理器中看不到进程,但木马正在运行 → 远程线程注入(真隐藏)
- 木马随Windows开机自动运行 → 注册表Run键 / 启动文件夹 / 计划任务 / 系统服务
- 木马流量无法被IDS识别 → 加密通信隧道
- 杀软能扫描到一个木马,但改了一个字节然后又扫不到了 → 特征码检测的缺陷
📝 练习二:火绒剑动手练习(5min)
- 打开火绒剑 → 切换到"进程"标签 → 按公司名排序
- 找到一个无公司签名的进程 → 查看其属性(路径、命令行、网络连接)
- 判断该进程是否为恶意(位置 + 签名 + 行为 综合分析)
📝 本节总结
| 知识点 | 核心内容 |
|---|---|
| 木马的隐藏 | 程序隐藏(伪装/捆绑) + 进程隐藏(API拦截/注入/服务) + 通信隐藏(端口复用/加密) |
| 木马的启动 | 注册表Run键 / 启动文件夹 / 计划任务 / 系统服务 / DLL劫持 |
| 检测技术 | 特征码 → 启发式 → 行为检测 → 完整性检测 |
| 检测工具 | 火绒剑(主机层) + D盾(Web层) + Webshell扫描器 |
木马可以改代码,但改不了它要干的事情
📅 下节预告:项目4 任务4.X —— 木马防御与系统加固
📝 板书设计
4.3 木马检测 教材:网络安全技术实践教程(微课版)
4.3.1 木马的隐藏 4.3.2 木马的启动
程序隐藏:伪装/捆绑 ① 注册表Run键
进程隐藏:API拦截(伪)/注入(真)/服务 ② 启动文件夹
通信隐藏:端口复用/加密隧道 ③ 计划任务
④ 系统服务
⑤ DLL劫持 ← 隐蔽性最高
4.3.3 主流木马检测技术
特征码 → 启发式 → 行为检测(★) → 完整性
工具:火绒剑(主机) + D盾(Web) + Webshell扫描器
🔑 核心:监控行为 > 匹配特征
💭 教学反思预设
- 学生可能问:杀毒软件为什么有时候查不出来?→ 引导到特征码 vs 行为的区别;加壳/混淆/0-day
- 设备风险:火绒剑演示需提前安装好。如无法在教室演示,备好截图PPT兜底
- 内容量大:4.3.1+4.3.2+4.3.3 三小节内容密集,注意节奏——理论穿插类比和提问防走神
- 衔接上节课:用CS Beacon 的隐藏和启动方式作为案例串联本节所有知识点