为了顺应当前形势和更好的发展,黑基网已于9月19日正式更名为【安基网】,域名更换为www.safebase.cn,请卸载旧的APP并安装新的APP,给您带来不便,敬请理解!谢谢

黑基Web安全攻防班
安基网 首页 IT技术 安全攻防 查看内容

BootKit 时代的启幕

2009-3-9 10:32| 投稿: security

摘要:   摘自绿色兵团  BootKit 时代的启幕  如果我问你什么是Rootkit,想必你已经很熟练地回答了。如果我问你什么是BootRoot,也许你要好好想想吧。那再问你什么是Vbootkit,你会不...
  摘自绿色兵团  BootKit 时代的启幕  如果我问你什么是Rootkit,想必你已经很熟练地回答了。如果我问你什么是BootRoot,也许你要好好想想吧。那再问你什么是Vbootkit,你会不会反问说“没见过这玩意”?  1、Rootkit  这里不打算再讲,下面来自百度百科:  “好多人有一个误解,他们认为rootkit是用作获得系统root访问权限的工具。实际上,rootkit是攻击者用来隐藏自己的踪迹和保留root访问权限的工具。通常,攻击者通过远程攻击获得root访问权限,或者首先密码猜测或者密码强制破译的方式获得系统的访问权限。进入系统后,如果他还没有获得root权限,再通过某些安全漏洞获得系统的root权限。接着,攻击者会在侵入的主机中安装rootkit,然后他将经常通过rootkit的后门检查系统是否有其他的用户登录,如果只有自己,攻击者就开始着手清理日志中的有关信息。通过rootkit的嗅探器获得其它系统的用户和密码之后,攻击者就会利用这些信息侵入其它的系统。 ”  2、BootRoot  通过在Windows内核启动过程中额外插入第三方代码的技术项目,即为“BootRoot”。国外组织eBye在通过这种新的Rootkit启动技术,并赋予这种无需依赖Windows内核启动过称去加载自身代码的技术及其衍生品——“BootKit”,即“Boot Rootkit”。  从此,BootKit时代开始启幕。  3、Mebroot是如何实现MBR感染与运作的  Mebroot  比Windows还要早一步启动,然后将自身驱动代码插入内核执行,从而绕过了注册表HIVE检测的缺陷。同时采用的底层技术让大部分Anti-Rootkit工具失明——因为它根本没有在系统内留下任何启动项目。检测工具自然会检测失效。然后通过DLL远程注入用户进程,为系统打开后门并下载木马运行。在这非传统的渗透思路下,反Rootkit工具是无法根除它的。  在任何版本的Windows系统里,“用户权限”限制的对象局限于注册表读写、文件读写、操作限制等,然而在普通用户权限及更高权限方面,Windows却不判断和阻止任何原始的磁盘读写操作,这不知是讽刺还是漏洞。例如一个受限账户的程序要读取被设定了只限管理员读写的权限的文件,在理想的状态下应该是会被系统阻止的。但事实上只要这个程序绕个大弯直接从磁盘底层向操作界面提出读写请求,Windows会爽快的放行。  当然,这种操作设计了底层知识与机器语言还有算法,通常很少人会写出这么多的底层操作的功能代码。但是,位于0 磁道0 柱面1 扇区的MBR读写,却是个不需要多少计算的技术活,因为任何进行磁盘底层操作的代码只要简单的打开“\\.\PHYSICALDRIVEO”设备,并将读写指针设置为0,从这里开始往后的512个字节就是性命攸关的第一扇区MBR代码了!  当年闹得轰哄烈烈的“江民磁盘逻辑炸弹”只用了很简单的几句代码将MBR全部用垃圾数据填充,却造成无数的“磁盘损坏”故障(主引导区记录被破坏导致BIOS跳转到这里的时候显示错误提示,分区表被破坏导致磁盘分区数据丢失)。所以之前的MBR病毒作者们都需要保护原始的MBR,除非该作者一开始就打算破坏别人的数据。  4、Mebroot的查杀  Mebroot的查杀要点就是必须突破它的Rootkit保护,目前新版本的RKU和GMER等Rootkit的分析工具已经可以扫描到它的存在,部分反病毒产品如赛门铁克的诺顿等杀毒软件也实现了对其的查杀。由于Mebroot篡改了MBR,所以杀毒商品还需要恢复原始MBR以免造成又一次“磁盘损坏”故障。对于普通用户来说,最简单的方法还是插入一张系统盘,进入命令控制台内使用fixmbr工具对MBR进行修复——前提是不能用已经带毒的硬盘来引导系统。  当MBR恢复正常后,依赖MBR启动的Mebroot及衍生产物也自然夭折了。  如果有人问你,如果仅仅使用fixmbr来破坏Mebroot的话,它所残留的加载代码和Rootkit本体怎么办?其实这个时候由于Mebroot已无法自加载,自然也无法完成上级交给它的恶意破坏工作,留着当病毒样本好了。  5、Mebroot的同袍  病毒花样如此之多,因此Bootkit自然也不只有一种了,利用MBR引导的Bootkit只是小弟弟,它的大哥就利用BootLoader滥杀无数。  温习一下Windows的启动知识:  “引导加载程序(BootLoader)”是启动系统内核的必经途径,BIOS自检完毕将控制权交给MBR,由MBR加载OBR(OS Boot Record,操作系统引导记录,位于0 柱面1 磁道第1 扇区,由DOS引导程序DBR演变而来),再由DBR实现BootLoader的载入,最后才开始各种操作系统的加载。  对于NT架构的系统,它们的BootLoader是由一个被称为NTLDR的文件实现的。  NTLDR文件以隐藏文件的形式放在磁盘活动分区的根目录下,它是整个Windows内核得以启动的重要程序,NTLDR负责整个启动环境初始化工作,最后加载Windows内核程序NTOSKRNL.exe,当用户看到Windows系统启动界面的时候,NTLDR的工作就完成了。  由于NTLDR如此接近内核,所以大牛们自然会对它关爱备至。尤其是BootKit的概念被提出及实现之后。  当NTLDR被OBR载入内存执行后,它首先被运行的是startup.com ,这是一个运行于实模式下的16位程序,负责初始化内存和各种环境参数后,将osloader.exe释放到一个合适的内存位置上,然后把处理器切换为保护模式,最后将控制权交给osloader.exe。此针对硬件环境初始化工作,但还不是引导内核的条件。当osloader.exe获得控制权后,系统引导正式进入第二阶段——  内存子系统、页表、IDT(中断描述符表)和GDT(全局描述符表)等重要环境参数被初始化,然后读取boot.int文件确认系统内核所在的磁盘分区及相应目录,并根据NTDETECT.COM返回的设备配置信息进一步初始化、取得内核文件名、驱动程序目录等基本环境变量,并加载内存和基本驱动程序。最后才将控制权交会内核,NTLDR光荣地结束使命。  6、BootKit出道  有了NTLDR这样与内核平起平坐的大野,BootKit自然喜欢拿NTLDR开刀了。  BootKit通过修改NTLDR里osloader.exe部分实现在内核启动时注入自己驱动模块的功能,这个操作能悄无声息地修改Windows系统的敏感文件。因为当你沉迷于上网的时候随时来个程序对NTLDR文件读写删改都不会有任何的拒绝和报警。  被篡改的NTLDR在系统启动过程中释放的osloader.exe包含有BootKit的hook代码,这段代码在内核被载入内存时自动运行,然后在等候初始化模块加载驱动程序时将自身驱动加入,从而实现初始启动的RootKit挂载。  目前的好消息是,这类BootKit的还原工作比MBR Bootkit更简单,用户只需去另一台相同系统环境的电脑中复制一个原来的NTLDR覆盖即可。  在十面埋伏的网络杀机中,普通人往往只能被任人鱼肉,甚至中招后仍蒙在鼓里。不在沉默中死亡,就只能在沉默中安装和使用各种反病毒软件和HIPS之类捍卫自己。以及学习必要的安全工作知识。  注——此文非原创,只是将各家舆论拼凑一下而已。鉴于本人为文盲,实在难以追随大牛脚步,只能抛砖引玉了。  A、什么是rootkit  http://baike.baidu.com/view/350343.htm  B、一种基于NTLDR的BOOTKIT──原理及实现:/Article/200811/30256.html  C、高级Bootkit :Tophet.a  http://tieba.baidu.com/f?kz=541413937  

小编推荐:欲学习电脑技术、系统维护、网络管理、编程开发和安全攻防等高端IT技术,请 点击这里 注册黑基账号,公开课频道价值万元IT培训教程免费学,让您少走弯路、事半功倍,好工作升职加薪!



免责声明:本文由投稿者转载自互联网,版权归原作者所有,文中所述不代表本站观点,若有侵权或转载等不当之处请联系我们处理,让我们一起为维护良好的互联网秩序而努力!联系方式见网站首页右下角。


鲜花

握手

雷人

路过

鸡蛋

相关阅读

最新评论

最新

返回顶部