跳至主要内容

NT内核简介——HIPS与现代木马

NT内核简介——HIPS与现代木马 时至今日,Rootkit技术已经广泛应用于木马、安全软件、流氓软件中。现代木马几乎全部是Rootkit木马,而安全软件也几乎都应用了Rootkit技术,臭名昭著的某"XX上网"中也大量应用了Rootkit技术。 以下的"现代木马"均指Rootkit木马.

简介NT内核:

拿我们常用的下载工具迅雷来说.如果没有接口,当迅雷储存文件的时候,就要先把文件转成2进制,然后计算当前可用的空间开始于磁盘的第几柱面...第几扇 区之类的详细信息,然后检查分区的文件系统是什么,检查完以后,针对相应的文件系统采用不同的记录方式,甚至需要检查硬盘的品牌,然后使用对应的控制电流 来让硬盘将指定区域的小磁块磁化成"1"或者"0" 现在来看一幅Windows NT内核的示意图: (细节部分并没有详细画出,这幅图画出了Windows NT内核操作系统中,应用程序执行某些操作时的基本流程图)。
当有了接口,迅雷只需要调用相应的Win32 API,告诉系统,文件的位置和内容,然后Win32 API会被Windows系统继续解释成Native API,经过内核调用KiSystemService处理程序,在SSDT里找到NtWriteFile函数的位置,然后继续调用,进一步被解释成驱动程序指令,传递给文件系统驱动(FSD), 在这之前,如果有过滤驱动,那么先通过过滤驱动,由过滤驱动一层层解释给下一层,最后达到FSD层,之后被进一步解释,直至解释成控制硬盘读写的电流.每 个接口要做的都只是把上一层命令解释给下一层接口,最终难以直接使用的电流控制可以用一条简单易记的接口调用来实现.因而编写软件才显得如此容易. 再介绍一个概念:运行级别(ring).在x86的处理器上(主要是IntelAMD的主流处理器),可以存在四个运行级别ring0-3,Windows NT系列系统(XP/2003......)使用其中的两个,就是ring3和ring0两个级别,用户程序运行于ring3级别,而ring3级别的程序不被允许直接访问硬件,这样一方面也是为了防止程序错误的操作导致系统崩溃或者硬件故障.对应的,系统内核运行于ring0级别,拥有对全部内存区域的访问特权,也可以直接访问硬件. 现在加入运行级别的概念,再重新看一下这幅图: 可能有些乱,我们来整理一下.(以下的"函数",通通替换为"功能",以方便理解.) 1.首先,应用程序产生一个请求,比如他要修改注册表,那么他调用Win32 API接口中的注册表操作相关功能.(RegOpenKey等等),实质是调用advapi32.dll中的相应功能. (Win32 API的功能主要位于kernel32.dll advapi32.dll user32.dll gdi32.dll等库中) 2.advapi32.dll中的功能受到调用,于是他继续解释而调用ntdll.dll中的功能(Native API接口). (Native API的所有功能封装于ntdll.dll,但是ntdll.dll并不是真正的执行者,他的任务只是将调用传到内核.) 3.ntdll.dll中的功能受到调用(NtCreateKey等等),于是他把对应的功能编号存入eax寄存器,然后使用SYSENTER指令,导 致"自陷"(早期使用触发Int 2e中断的方式,不过他们的效果是一样的),KiSystemService处理程序将运行. (这个就像你在银行里取钱,你把存单放到玻璃下面的凹槽里去,然后叫柜员,他会把存单取走,然后给你钱,看起来是你取出了钱,但事实上是银行内部提出的 钱.ntdll.dll就是取钱人,他把功能代号(存单)放到eax寄存器里(玻璃下方的凹槽),然后引发自陷以触发KiSystemService(叫 柜员),柜员就会去实际处理交易(执行对应功能).) 4.KiSystemService从eax寄存器里取出功能代号,在一种叫做SDT的结构中查找对应的Native API函数,这种结构在系统中一共有4个,其中一个叫做SSDT,位于ntoskrnl.exe(或者ntkrnlpa.exe)中,记录了系统关键功能的位置,涉及文件操作,注册表操作,进程操作等.还有一个叫做Shadow SSDT,位于win32k.sys中,记录了和用户与图形界面有关的功能,虽然都不是非常关键的功能,但也包括设置系统钩子等比较"特殊"的功能,另外两个SDT的位置则预留,也就是说,有人工创造SDT的可能.(不过这基本上是没有意义的) 5.找到位置后调用该功能,也就是内核中关于该功能的实际操作被执行,当然,之后还是一层又一层的接口,但通常情况下,这里已经是易于控制的最后一层接口.(某些高级木马使用了Object Hook,也就是说存在更底层的接口被控制的可能)对于注册表操作,他们会被解释成Cm****系列功能,当然最后还是要变成文件操作. 6.最后对一类特殊的调用进行解释,那就是调用驱动程序对象,很多功能最后会涉及到硬件操作,比如写文件.写文件的时候,系统会调用文件系统驱动(FSD), 如果之前有文件系统过滤驱动(FSD FilterDriver),那么会先通过文件系统过滤驱动,并经由他们层层解释后,最后传给底层文件系统驱动(FSD),FSD是易于控制文件操作的最 低一层接口.前面那个例子中,注册表修改的操作最终被解释为写文件的操作(因为修改注册表的本质是修改Hive文件),也要经过FSD,并经由FSD进一 步解释,继续传递给下一层接口. 这样就明白了,在这些调用的传递过程中,任何一个环节遭到了阻断都有可能导致失败.而通过"挂钩"这些关键功能,就可以实现对这些功能的控制. 挂钩有很多方式,但是目的只有一个,就是---比原功能更早获得通知,然后自行决定要不要继续把他传递下去,或者自行决定要不要把包含不利信息的结果传递回去. (就相当于你冒充学习委员,班主任让你查作业,你让真正的学习委员去查作业,真正的学习委员给你报了一串名单,里面有你,你把自己的名字去掉,再交给班主任.这样就可以躲过检查.)

现代木马隐藏自身

比如现代木马隐藏自身,他们可以修改SSDT中的文件操作功能的位置(Nt****File系列功能),让他们指向自己,然后自己再调用真正的文件操作功 能,返回信息时,他们只要把其中包含自身的信息抹掉即可.如图,当这样调用结果返回给应用程序时,其中并不包含自己(灰鸽子),应用程序自然也就不知道灰 鸽子的存在了.
设置"钩子"的位置很多,可以选择Win32 API下钩,可以选择挂钩ntdll.dll中的函数,但这是不保险的,因为他们都处于ring3级别(想起来我们的图了么?),也就是说,你设置的钩子可以被一个普通程序轻易绕过,或者消除. 所以大多数人选择在SSDT/Shadow SSDT下挂钩,或者安装文件过滤驱动等等,这些动作受到ring0保护,普通程序无法查知,也无法修改.(更高级的还有Object Hook) 同理,HIPS类软件使用和现代木马一样的手段,实现对于关键动作的监控. PS:SSM监控关机事件的方法是挂钩Native API:NtShutdownSystem.

HIPS VS 现代木马

最后还有一个疑问,一个程序怎么才能获得ring0的运行级别?方法有很多,可以通过安装驱动(动态加载或者静态写注册表服务键),操作 DevicePhysicalMemory以设置调用门,修改 win32k.sys,以及NtVdmControl,ZwSetSystemInformation等等等等,方法层出不穷. 当现代木马和HIPS都具有ring0级别时,他们之间是公平的,现代木马也可以轻易绕过HIPS的监控,或者彻底破坏HIPS.所以,无论是现代木马还 是HIPS,一旦获得ring0级别,就会全力封堵通往ring0的道路,比如SSM安装好之后就会阻止加载驱动,阻止写注册表服务键等等.现代木马也一 样,运行后大多会阻止加载驱动,防止HIPS或者ARK进入ring0,这样也就是说,谁先抢到了ring0,就会阻止别人进来,如果现代木马已经运行 了,差不多就只能通过另一个操作系统来删除他了. 最后,不得不提到的是内核操作的危险性.多种HIPS或者木马并存时,都会下钩,有可能重复,有可能正好碰在一起.由于在内核的操作已经没有人保证其正确 性了,所以一旦因为设计缺陷出错,就会导致BSOD(蓝屏),这就是为什么"XX上网"会导致莫名其妙的蓝屏,也是安装多种HIPS会出现冲突的原因.

评论

此博客中的热门博文

简单评测4个最好的PDF搜索引擎

借此机会将专业PDF 搜索引擎单独列出,并作简单的评测分析! 简单评测4个专业PDF搜索引擎 http://mygogou.com/mm-713/ 1、Search pdf 今天刚刚发现的专业级PDF 搜索引擎,也是基于Google,与PDFGeni十分相似,收录有225,000,000 本Ebook,支持中文关键词。界面清爽,没有广告,搜索结果可选择浏览或直接下载,支持iPaper阅读器(不推荐,速度慢!) hx9opyze 4个最好的PDF搜索引擎(简单评测) 网址:http://search-pdf-books.com/ 2、PdfGeni PdfGeni是一个专业的PDF文件搜索引擎,搜索的PDF文件可以直接下载。与Search pdf基于同一数据库,支持中文搜索,搜索结果几乎完全一样。搜索结果一页显示量大,减少分页浏览的繁琐。不过上面都是英文的PDF文档,没有中文PDF 资料。去淘一下吧,应该能找到一些不错的资源:) xcwcfmnt 4个最好的PDF搜索引擎(简单评测) 网址:http://www.pdfgeni.com/ 3、pdf-search 开 始一直和Search pdf 混淆,两者是完全独立的搜索引擎,但功能有的一拼。就功能而言,我倾向于pdf-search,提供专业的PDF文件搜索,支持中文,结果有三种分享方式:下载、浏览、代码,并且提供同一关键词doc文件、ppt文件专业搜索的入口,也就是说输入一次关键词,你可以得到三种文件的专业搜索!但是,最为遗憾的是速度较慢,甚至有打不开的现象。速度可是一个好的搜索引擎不可缺少的基本素质! v0fyk8ye 4个最好的PDF搜索引擎(简单评测) 网址:http://www.pdf-search-engine.com/ 4、Pdfdatabase Pdfdatabase 是一个不错的专项华搜索引擎,提供免费的PDF及doc文件的搜索服务,尤其是PDF搜索服务更是以大亮点。就数据库而言,与以上两者势均力敌,只是在用户操作性上更为灵活方便!不过,最大的缺陷是不支持中文搜索。 fvmhtxp4 4个最好的PDF搜索引擎(简单评测) 网址:http://pdfdatabase.com/ ------------------ 洛阳生活信息点评网:http://luoyanglife.com/ 洛阳生活信息...

网吧何时才走出尴尬局面

2009年9月14号13点34分,正式收到市文化局的通知,限期月底之前所有网吧全部安装上北京通罗时代科技有限公司出的轻松游2009平台软件,逾期没安装的网吧将停业安装。望着通知上面的白纸黑字红章,我怒了,不是因为要我们安装的软件不好,我承认左轮软件出的三层更新速度很快很稳定,他们的安全中心也是没的说,我只是怒我们网吧再次被强迫、被命令了。从有网吧的那天起,我一直没有离开过这个行业,再没有哪一个行业像网吧这样深刻体会到相关部门在管理网吧方面的不合理。但网吧是打不倒的巨人!      1.网吧的管理     管理网吧的部门有公安,消防,文化,工商,税务,教育,电信。几乎现在所有的执法部门都参与了网吧的管理,但他们只有一个目的,那就是钱,从网吧经营者那里榨取最大的价值,公安卖软件,文化来罚款,消防卖设备,工商让你订他们的书刊,税务要按娱乐的营业税税率20%来纳税,电信收你高额上网费等等,罚款,培训,订书刊,买软件,连灯箱都买,几乎没有他们不卖的,公安卖的软件,网吧没有收到软件就要付钱,报上登过一个专家的说法,要网吧全部用品牌机,不能再使用兼容机,他的理由是:兼容机游戏性太强,真不懂,电脑的游戏在于里面安装什么游戏软件,机器是品牌还是兼容有多少关系,现在在中国想找到一家没有被罚过的网吧太难太难了。 我认识的一个文化部门管理网吧的一般工作人员,他一年当中没有去银行取过他的工资,工资卡交给老婆,一分不要,只回家吃过几次晚饭,每年从网吧经营户那里就有30多万的灰色收入,这些部门管理网吧的工作人员,有几个懂网络懂电脑的,有些人连电脑开机关机都不会,(我亲眼看到一个到网吧检查的工作人员不知从哪里开机),中国太多的外行管内行,他们不懂网络拿什么管网吧?就一句话:罚你没商量         2.未成年人上网问题    第一.未成年人的监护人是谁?是他的家长!不是网吧的经营者,有些家人工作忙,没时间管自己的孩子,有些学校现在教学比过去松,节假日放六七天长假,下午早早就把学生放走。社会在发展,也有很多不良的或是不适合孩子的地方,管不好孩子,不能责怪网吧,孩子在网吧一玩就是一个通宵,家长哪里去了?家庭才是孩子成长的主要场所,家长才是他最好的老师,社会有网吧,很多孩子一样考上清华,北大。总不能因为孩子,把社会上所有不适合未成年人的场所都关掉。让全社会都孩童化...

八个出人意料的接吻高招

   你和他,面面相对,心旌摇曳,鼻子慢慢贴近,嘴唇轻轻相触,舔舐、吸吮,享受巧克力般的甜蜜滋味,电流迅速传遍全身上下每个细胞……     雕像吻     让他静静站立一分钟,仿佛一尊你顶礼膜拜的英雄雕像,任由你吻他个死去活来,耳际、双颊、嘴唇、脖子、胸脯……他不动弹,也绝不还"口"。你的热吻将令钢铁硬汉感觉到酥了、软了,最后High了,刹那间幻化为无形。然后转换角色,你当女神,让他狂吻你。     镜吻     精心构造诗意背景,在大镜子前做接吻游戏。别忘了涂上珠光唇彩,使美唇光鲜照人。睁大双眼,从镜子中欣赏每个醉人的细节。先将耳朵贴在他宽阔的胸前,悉心 倾听他的心跳声,然后让他如法做,心跳加剧之时最能感知对方的兴奋度。温柔四射的目光交接,足尖快乐地蜷曲,手指沿着他的唇部外侧自上而下轻轻抚摸,触及 他的下唇时轻拧一下,然后一把拉近他,吸那片性感热唇入你的口。轻拧的微痛感会刺激他更加亢奋。     数数吻     让他在1—20之间选择一个数字,比如6,然后吻他6遍,逗弄任何性感地带。每个吻变换压力、长度和湿度,或轻柔如羽,或湿气蒸腾,或若有若无,或低吟浅 尝,或密密咬合。其间,伴以热情的喘息,深深吸一口气,轻送入他嘴中,同步呼吸,分享你们的生命气息,合二为一,激情如春风荡漾。     猜谜吻     你尖挺的唇尖在他嘴里顽皮游走,轻触每个甜蜜部位,顺着口腔顶伸向喉咙,再向侧面移动,沿着齿龈滑行,潜入舌头底部,然后,让他猜猜你拼写出什么字母,并 约法三章。如果猜错,罚他吻你,想要多长就多长。用这种由你主动出击的吻,探索不曾涉猎的性感角落,恣意的驰骋带来无限的满足,飘飘然入仙境。最后结束 时,你的舌头环绕住他的唇,彻底覆盖,强有力的收势更能让他心神荡漾。     灵魂吻     四目相锁,深情凝视,能坚持多久就多久。火辣辣的目光仿佛一束高能激光,穿透对方灵府最深处,脑中幻想翩翩,想尝试...