🛡️

4.3 木马检测

信息安全技术 · 项目4 病毒与木马的认知与防护

📘 教材:网络安全技术实践教程(微课版)· 项目4 · 任务4.3

📅 2026-05-14 下午 ⏱ 90分钟(2学时) 👨‍🏫 授课教师:fashion

📋 本节教学内容

章节内容建议时长
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模式即典型应用。

💡 小结提问:上节课CS生成的木马用了哪些隐藏技术?→ 伪装合法进程 + 加密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)

请判断以下场景分别对应哪种隐藏/启动方式:

  1. 任务管理器中看不到进程,但木马正在运行 → 远程线程注入(真隐藏)
  2. 木马随Windows开机自动运行 → 注册表Run键 / 启动文件夹 / 计划任务 / 系统服务
  3. 木马流量无法被IDS识别 → 加密通信隧道
  4. 杀软能扫描到一个木马,但改了一个字节然后又扫不到了 → 特征码检测的缺陷

📝 练习二:火绒剑动手练习(5min)

  1. 打开火绒剑 → 切换到"进程"标签 → 按公司名排序
  2. 找到一个无公司签名的进程 → 查看其属性(路径、命令行、网络连接)
  3. 判断该进程是否为恶意(位置 + 签名 + 行为 综合分析)

📝 本节总结

知识点核心内容
木马的隐藏程序隐藏(伪装/捆绑) + 进程隐藏(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扫描器
  
🔑 核心:监控行为 > 匹配特征

💭 教学反思预设

  1. 学生可能问:杀毒软件为什么有时候查不出来?→ 引导到特征码 vs 行为的区别;加壳/混淆/0-day
  2. 设备风险:火绒剑演示需提前安装好。如无法在教室演示,备好截图PPT兜底
  3. 内容量大:4.3.1+4.3.2+4.3.3 三小节内容密集,注意节奏——理论穿插类比和提问防走神
  4. 衔接上节课:用CS Beacon 的隐藏和启动方式作为案例串联本节所有知识点