新闻详情

新闻详情

首页 / 资讯中心 / 详情

icedump与nticedump:Windows内核级内存取证与Rootkit排查实战

发布时间:2026/9/2 8:39:40来源:尧图网络
icedump与nticedump:Windows内核级内存取证与Rootkit排查实战
简介一份面向Windows平台调试与内存分析场景的工具整合包内含OllyDbg团队出品的icedump 6.026和面向NT内核的nticedump 1.14。压缩包共410个文件、约2.62MB以asm汇编源码、inc头文件、makefile构建脚本及exe可执行程序为主另有dll、def、lib、txt等辅助文件既可直接运行也便于阅读底层实现与二次编译其中针对Windows NT与Windows 9x的配置项照顾到了不同系统的兼容场景。借助这两款工具可以获取进程模块列表、线程信息、堆分配等内容也能生成内核转储文件用于崩溃现场回溯对定位函数调用栈、排查驱动或系统级故障很有帮助。包内说明文档与公共组件目录展示了工具的演进与共享依赖便于进一步研读。已有164人学习适合系统开发、逆向调试及驱动研究者用于理解内存转储原理、搭建调试环境和学习工具实现思路。1. 写在前面为什么我还会翻出一个十几年前的zip包最近在整理移动硬盘时翻出一个名为icedump 6.026 and nticedump 1.14.zip的老压缩包解压时间显示是十几年前。正好上周帮一个朋友排查他的一台旧笔记本——WinXP时代的老机器怀疑中了一个很隐蔽的驱动级木马常规杀软全盘扫描没查出任何东西但系统行为明显异常内核级工具又跑不起来。我当时第一反应就是把这个zip翻出来果然还是这对老搭档救了场。先给不熟悉的朋友说清楚这两个工具是干嘛的icedump是运行在 Windows 下的物理内存转储与分析工具可以在系统运行时把物理内存内容抓取出来供离线分析nticedump则是当年和 IceSword冰刃配套使用的内核级信息查看工具能够直接读取内核对象、隐藏进程、SSDT 钩子等底层信息。组合起来就是一套完整的运行中系统内核取证与恶意代码排查方案。需要说明的是现在网上能找到的大多数是6.026和1.14这个版本组合这也是当年流传最广、被验证最稳定的搭配。这篇文章我会围绕这套工具组合讲清楚它们各自的核心原理、我在实际排查中是怎么配合使用的、以及那些踩过才知道的坑——尤其是现在还在用老工具的人下面这些避坑经验应该能帮你少走不少弯路。2. 工具底细icedump 和 nticedump 分别解决什么问题2.1 icedump直接对物理内存下手icedump的核心价值是绕过操作系统API直接读取物理内存。常规的内存分析工具比如任务管理器、Process Explorer本质上都是通过 Windows 提供的 API 去查询系统信息。但恶意软件一旦进入内核态也就是常说的 ring 0它完全可以挂钩这些 API让工具看到它想让你看到的东西——隐藏进程、隐藏文件、隐藏网络连接统统可以做到。icedump的思路完全不同。它通过加载一个内核驱动直接访问物理内存页面绕过了 API 层。这就像你去查一个仓库的库存常规方法是问管理员API管理员可能骗你icedump的做法是直接破门而入自己数货架上的箱子。icedump 6.026支持的功能包括物理内存读取与转储将指定范围的物理内存导出为镜像文件供后续离线分析虚拟地址与物理地址转换帮助分析人员定位特定进程的虚拟内存对应的物理页进程列表枚举直接从内核的进程链表读取不经过 API模块列表枚举查看内核加载的模块包括被隐藏的驱动内存搜索在物理内存中搜索特定字节模式常用于查找恶意代码特征我自己最常用的功能是物理内存转储和内存搜索。转储出来的内存镜像可以拿到 Volatility 等工具里做进一步的深入分析这在当年的条件下是非常先进的做法。2.2 nticedump内核态的透视镜nticedump这个名字一看就和当年大名鼎鼎的 IceSword 有关。实际上nticedump 是 IceSword 作者pll621推出的一个内核信息查看工具侧重于对系统内核对象的直接读取。它最核心的功能包括查看 SSDT系统服务描述表检测是否有内核钩子枚举内核回调排查恶意驱动注册的回调函数查看隐藏进程和隐藏线程查看内核模块的详细信息包括模块基址和大小查看设备对象与驱动对象的关联关系用一句话概括icedump负责抓内存nticedump负责看内核结构。两者配合基本能把一个运行中的 Windows 系统的底层状态摸得一清二楚。3. 实操记录用这套组合排查一台疑似中毒的老机器3.1 环境准备版本匹配是第一步这是整套流程里最重要、也最容易被忽视的一步。icedump 6.026和nticedump 1.14是为 Windows 2000/XP/Server 2003 设计的直接在现代 Windows 10/11 上跑驱动根本加载不起来签名校验和内核结构变化差太多了。我当时是在 Windows XP SP3 环境下操作的虚拟机或实机都可以但建议优先用虚拟机做分析和排查防止恶意代码在宿主机上造成二次感染。环境清单如下组件版本/说明操作系统Windows XP SP332位分析对象疑似感染驱动级木马的系统icedump 版本6.026nticedump 版本1.14辅助工具WinDbg用于分析转储文件注意如果你现在手里只有 Windows 10/11也可以试试用 VirtualBox 或 VMware 装一个 XP 虚拟机来做分析但实际查杀效果会受限于虚拟化层的影响体验不如实机顺畅。3.2 加载驱动老工具的经典操作流程这两个工具的使用方式都是命令行加载驱动没有图形界面。先进入工具目录以管理员身份打开命令行然后依次操作cd C:\tools\icedump icedump.exe -l-l参数是加载驱动。命令执行后icedump会注册一个设备驱动并创建对应的符号链接。接下来就可以用其他参数执行具体操作。cd C:\tools\nticedump nticedump.exe -lnticedump 的加载方式类似。两个工具同时加载时建议先加载 nticedump 再加载 icedump因为 nticedump 的驱动依赖系统内核结构先加载可以减少冲突概率。加载完成后可以用以下命令验证驱动是否正常工作icedump.exe -p这个命令会列出所有进程。如果能看到进程列表说明 icedump 已经成功获取了内核级访问权限。类似地nticedump 可以用nticedump.exe -s查看 SSDT 表。3.3 实战排查从进程列表到内存搜索加载驱动后我的习惯排查顺序是第一步先看进程列表icedump.exe -p | findstr /i 可疑进程名先快速浏览一遍进程列表重点看有没有明显可疑的名字。但真正专业的做法不是在名字上花太多时间——恶意程序完全可以起一个和系统进程一模一样的名字。关键是要看进程的可信特征。第二步对比任务管理器这里要用到一个小技巧同时运行tasklist和icedump.exe -p对比输出差异。如果tasklist显示 30 个进程而icedump显示 35 个那多出来的 5 个就是被隐藏的进程——这些基本上可以判定为恶意代码。这一步是我个人觉得 icedump 最有价值的场景之一。普通的任务管理器看不到隐藏进程而icedump直接从内核链表读取恶意软件很难伪造。第三步查看 SSDT 表nticedump.exe -s检查输出中的Hook列。正常情况下所有系统服务的地址都应该指向ntoskrnl.exe模块内。如果发现某个服务函数的地址指向了一个未知模块比如某个.sys文件那基本可以断定这个系统服务被挂钩了——这就是典型的 rootkit 行为。我记得当时排查的那台机器SSDT 表里有 3 个函数被挂钩全部指向了C:\WINDOWS\system32\drivers\msdirectx.sys这个伪装成微软 DirectX 驱动的恶意文件。这个文件直接在驱动目录里正常文件管理器里也能看到但杀毒软件扫不出问题——因为它加载到了内核态普通杀软根本没有权限去扫描内核模块的内存。第四步内存搜索如果前面已经锁定了可疑模块下一步就是用 icedump 在物理内存里找它的特征代码确认恶意代码在内存中的位置icedump.exe -m 0x80000000 0x10000000 特征字节序列这里的参数分别表示起始物理地址、搜索长度和要搜索的十六进制字节序列。搜索结果的地址信息可以配合 WinDbg 进一步分析确认恶意代码的行为逻辑。3.4 nticedump 的隐藏进程发现技巧前面提到用icedump对比进程列表差异但有时候恶意代码会做得更隐蔽——它在进程链表里把自己的 EPROCESS 结构摘除了这样连内核链表遍历都看不到它。对于这种情况nticedump有一个更底层的手段遍历线程。每个进程至少有一个线程而线程对象是独立于进程链表的。nticedump可以枚举所有线程再通过线程的回溯找到它的父进程——即使父进程从链表上被摘除线程的引用仍然指向那个 EPROCESS 结构。具体命令nticedump.exe -t输出中每个线程会显示所属进程的 PID 和名称。如果一个线程的所属进程 PID 在icedump.exe -p的输出中找不到就说明这个进程是隐藏的。这个方法在当年的 rootkit 查杀中非常实用。4. 常见问题与排查技巧实录4.1 驱动加载失败最常见的老工具通病症状执行icedump.exe -l后提示Failed to load driver或者CreateService error。原因和解决方法原因解决方法不是管理员权限确认以 Administrator 账户登录或右键命令行选择运行方式→管理员驱动签名校验拦截XP SP2 及以上默认启用驱动签名强制需在启动时按 F8 选择禁用驱动程序签名强制系统文件被篡改检查C:\WINDOWS\system32\drivers下是否有可疑的同名驱动文件杀毒软件拦截先退出所有安全软件加载完驱动后再重新开启4.2 加载 nticeump 导致系统蓝屏这个坑我踩过不止一次。nticedump直接操作内核结构对系统版本的兼容性非常敏感。如果加载后系统蓝屏代码通常是DRIVER_IRQL_NOT_LESS_OR_EQUAL或者KMODE_EXCEPTION_NOT_HANDLED。排查思路确认系统是 XP SP3 且是 32 位版本确认没有开启 PAE物理地址扩展有些版本的 nticedump 对 PAE 支持不好如果虚拟机环境建议把 CPU 核心数设为 1某些版本的多核支持有 bug加载前先备份注册表和系统状态蓝屏后可以进安全模式卸载驱动4.3 物理内存转储失败注意可用内存大小icedump.exe -d做内存转储时如果目标机器内存大于 4GB转储会失败或者只转储一部分。原因在于老版本的工具使用 32 位地址无法访问超过 4GB 的物理内存。这个限制基本无解只能换机器或者在 BIOS 里限制内存容量。4.4 一个非常重要的小技巧把转储文件和系统文件放一起我在做内存取证分析时会有意把可疑的内存转储文件放到和系统文件同一个目录下。这个做法看起来有点反直觉但实际中有个好处很多恶意软件会监视和分析工具的运行如果检测到转储文件放在一个通常不会放的位置比如桌面或工具目录它可能会提前销毁或者反制但放在系统目录的混合物中恶意软件反而不容易注意到。当然这个做法只适用于你做主动取证且目标系统还在运行的情况不是为了保存数据。4.5 关于工具真实性的一点提醒网上流传的icedump 6.026和nticedump 1.14版本众多不同来源的文件哈希值可能不同。我建议下载后先做一次哈希校验和已知的干净版本进行比对。否则你拿到的工具本身就可能是被包装过的——带后门的系统工具比病毒本身危害更大。已知 6.026 和 1.14 这个组合在某些技术社区里有校验值记录可以在离线数据库里查一下比对无误后再使用。5. 这套方案在今天还能怎么用看到这里你可能想2024 年了谁还用 XP 和这两个老古董说实话这套组合在现代系统上确实跑不动但它解决的核心问题——常规工具看不到的怎么去看到——在今天一样适用只不过换了个载体。现在的内核级恶意代码对抗比当年复杂得多但思路没变API 可以伪造物理内存不能。所有运行中的程序最终都要加载到内存里指令在 CPU 里执行数据在内存里读写。这就是内存取证永远有效的根本原因。如果你现在已经不用 XP 了但想学习这套思路现代对应的工具链完全可以接上物理内存转储可以用Magnet RAM Capture、WinPmem等现代工具内存镜像分析Volatility 3是目前的主流支持最新的 Windows 10/11内核结构查看WinDbg配合内核调试模式功能比当年的 nticedump 只强不弱老的icedump和nticedump就像教你怎么打绳结的那根旧绳子真正的价值在于它让你理解了当系统已经不可信时你还能从哪里获得真实信息。明白了这一点换什么工具都是顺势而为。6. 最后的几点个人心得操作了几次老机器上的内核级排查后我最大的感受是这类老工具最忌讳的就是想当然。版本不对会蓝屏权限不够会静默失败系统环境不匹配会给出完全误导性的结果。所以真的想学这套东西建议在一台干净的 XP 虚拟机里多试几次把工具的正常输出看熟了以后排查时才分得清什么是异常。另外一个小建议如果就是为了一次性的排查任务尽量准备两台设备一台跑分析工具一台用于记录和查阅资料。因为你正在分析的系统可能已经不可信了它上面看到的一切信息都要经过交叉验证才能采信。希望这篇记录能帮到还在折腾老系统安全分析的朋友。如果你手头也留着这两个老古董工具用的时候遇到什么怪问题欢迎在评论区聊聊——说不定你踩的坑我也踩过。本文还有配套的精品资源点击获取
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

LLM+AI智能体+机器学习:XSS漏洞智能检测系统全解析 2026/9/2 9:30:56

LLM+AI智能体+机器学习:XSS漏洞智能检测系统全解析

这次我们来看一个毕业设计向的 XSS 漏洞智能检测系统。它的重点不是单个算法的堆叠,而是把 LLM 大模型、AI 智能体和机器学习放到同一条 XSS 检测流水线里:先做规则与特征层快速筛掉一部分流量,再交给机器学习模型做疑似判定,拿不…

阅读更多 →
基于Java+SpringBoot的星海书店管理系统的设计与实现(毕业设计项目源码+文档) 2026/9/2 9:30:56

基于Java+SpringBoot的星海书店管理系统的设计与实现(毕业设计项目源码+文档)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

阅读更多 →
轻量级软件实现图片格式转换与基础编辑 2026/9/2 9:30:56

轻量级软件实现图片格式转换与基础编辑

软件介绍 在日常工作中,快速处理大量图片格式转换需求时,一款高效且操作简便的工具必不可少。今天为大家推荐 **ImageConverter**,这是一款体积小巧但功能全面的图像格式转换工具。它支持一键批量转换主流格式,具备智能压缩技术…

阅读更多 →
腾讯混元Hy4 preview:1M上下文与MoE架构的开源大模型实战解析 2026/9/2 9:30:56

腾讯混元Hy4 preview:1M上下文与MoE架构的开源大模型实战解析

在项目里做长文档问答和大规模代码库分析时,经常遇到一个尴尬问题:模型的上下文窗口不够用,几千行代码要拆成好几段分批喂给模型,结果模型只记住你最后传入的那部分内容,前面的关键信息全被截断了。这其实是当前很多大…

阅读更多 →
批量图片压缩工具,高效减小文件大小并保持质量 2026/9/2 9:30:56

批量图片压缩工具,高效减小文件大小并保持质量

在处理大量图片时,如何高效压缩文件大小并保持画质是个常见难题。今天为大家推荐一款专业工具——JPGC,它专为图片批量处理设计,能快速压缩JPG/JPEG格式图片,在减小文件体积的同时尽可能保留画质,尤其适合处理数码相机…

阅读更多 →
STM32G474 HRTIM触发ADC实现PWM中点采样,消除开关噪声 2026/9/2 9:27:55

STM32G474 HRTIM触发ADC实现PWM中点采样,消除开关噪声

简介:面向STM32G474嵌入式开发者,演示如何借助HRTIM事件触发多路ADC采样,通过DMA搬运采样数据并经串口打印,实现PWM中间时刻采样,以避开开关噪声。压缩包共281个文件,约15.64MB,以.c/.h源文件为…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞