Windows内核模式下远程控制研究 .pdf
SOFTWAREDEVELOPMENTANDDESIGN
Windows内核模式下远程控制研究
郑智
(温州广播电视大学技术处,温州325000)
摘要:基于对Windows操作系统内核的研究,实现一种采用感染系统文件启动,存活于系统的内核模式下,通过
对NDIS网络组件的直接Hook技术,达到与外界网络的隐秘通信的远程控制系统。
关键词:操作系统;安全;恶意软件;内核
StudyonRemoteControlunderWindowsKernelMode
ZHENGZhi
(WenzhouRadioTelevisionUniversityTechnologyDepartment,Wenzhou325000)
Abstract:BasedontheresearchonthekernelofWindowsoperatingsystem,designaremotecontrolsystem,whichimitates
thestartmodeofinfectioussystemfiles,andsurvivesonlyinthekernelspaceoftheoperatingsystem.Throughinlinehook
ofNDIScomponent,makestrueofastealthycommunicationwiththeoutsidenetwork.
Keywords:OperatingSystem;Security;Malware;Kernel
1Windows系统架构了痕迹。
现代操作系统的一个显著的特征就是将系统中的权限分为2.2直接Hook技术
用户模式和内核模式两种,以利于保护系统内核的安全和完整,针对上面的常规方法的弊端,采用直接Hook技术,搜索
使得处于用户模式的低权限程序不能直接访问各类系统关键资NDIS驱动在内核空间中的内存映像,修改所需函数的入口地
源。Windows系统利用了CPU内置的四个不同的权限划分区域址,使之跳转到自己编写的代码中。
(ring0~ring3),其中,能够直接访问和控制底层资源的部分被该方法具体步骤如下:
[1]
置于CPU的Ring0层,位于该层的代码能直接访问硬件资源,(1)搜索系统内核空间,找到NDIS.SYS所在的内存地
是整个操作系统的基础构成。而将普通的应用程序放到具有普址。
通权限的Ring3层,这样就避免了某些设计不够良好的程序对(2)读取NDIS.SYS的导出函数表,找到收发数据包函数
关键资源和数据的破坏性访问或修改。对应这两个层,Win-的入口地址,存储其前面5个字节指令,使用一个长跳转指
dows操作系统中的程序运行环境分为用户模式和内核模式。令,跳到自己实现的函数中去。
2NDIS驱动模型及其HOOK技术改进(3)替换NDIS_PROTOCOL_CHARACTERISTICS结构中
NDIS是微软为网络接口卡(NIC)的局域网驱动程序提的ReceiveHandler,ReceivePacketHandler,SendCompleteHan-
供的一种标准应用程序接口(API)。dler句柄所指向的函数地址。
[2]
2.1NDIS驱动h