[ 登录 ][ 注册 ] 天极传媒: 比特网 | 天极网 | IT专家网 | IT商网 | 52PK游戏网 | 手机天极 | IT分众 |
您现在的位置: IT专家网 > 安全子站 > 安全技巧

浅谈Rootkit如何在内核模式实现后门隐藏

作者: KiSSinGGer,  出处:IT专家网, 责任编辑: 张帅, 
2008-11-11 01:00
  如今对Rootkit感兴趣的越来越多,Rootkit也已广泛被黑客所采用。很多Rootkit所做的主要工作是在内核态做手脚以隐藏后门。那么相应就有很多检测工具来检测隐藏的进程与线程。

  【IT专家网独家】很多人对Rootkit感兴趣,Rootkit技术已经用于很多流氓软件中,杀毒软件开始重视Rootkit。很多Rootkit所做的主要工作是在内核态做手脚来隐藏攻击者的后门。那么相应就有很多检测工具来检测隐藏的进程与线程。

  有没有办法在Rootkit的内核模块里就实现一个完整的后门,提供一个CMD出来呢?这样就免去了隐藏进程所带来的风险。

  NT Rootkit试图这么做过,不知道什么原因这个功能并没有开发完成。这涉及到一个问题,如何从内核态来执行用户态代码。

  关于这个话题有人很早就已经研究了,但是目前还没有成熟的、公开源码的后门使用这样的技术。也许觉得这很神秘?其实不然。Rootkit.com上的valerino就提到过用APC的方法来CreateProcess。

  如果对Windows操作系统有深入的了解,那么很快你可以想到一个函数:KeUserModeCallback;如果你对linux也比较了解,你会知道一个宏:move_to_user_mode。他们两个实质都是使用中断返回的方式执行到了用户态代码。

  但这会带来一些问题,他们都只能让你的代码运行在当前线程,以及如何触发他们?

  你也许会想到Windows的APC,它可以让代码运行在一个你任意制定的线程环境中。然而APC常常为系统所用(比如I/O Manager),通常的开发人员是不会去接触这个东西,所以相应的文档资料就少得可怜。

  APC(Asynchronous Procedure Call) --- 异步过程调用

  APC的精确定义我不太明确,通过它的行为,可以这样理解:将一个内核过程插入到一个线程队列等待执行,相当于强行插入到特定线程上下文中去执行的一段代码。

  系统中存在三种APC:

  普通内核APC:它们可以插入内核线程,它们在那个内核线程没有执行其他APC的时候执行。

  特定内核APC:基本上和上面的一样。但它们运行在APC_LEVEL中断级,而且不能被阻塞,除非它们运行在更高的中断级。它们可抢占普通内核APC的执行。

  用户态APC:这种APC只能插入到一个用户线程中,这个线程必须事先调用一个等待函数比如WaitForSingleObject而且将Alertable置为TRUE。下一次线程从内核返回的时候,这个APC就得以执行。这就是我们要利用的APC了。

共3页。 1 2 3 末页

网友评论

笔名 
请您注意:遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。    IT专家网友拥有管理笔名和留言的一切权利。

邮件订阅


    • 解析Windows密码安全问题(第三部分)评论
      在前两部分文章中,我们讨论了Windows密码政策的问题以及它是如何在Active Directory环境被控制等问题,大家应该还记得在默认情况下密码政策和相关的设置位于默认域策略中(Default Domain Policy)。另外同样探讨了可以使用哪些技术破获windows密码,以及每种攻击方式的限制问题。那么,在本文中,我们将讨论如何让windows密码变得更加安全,以及如何能够解决在前两部分文章中出现的所有问题。本文将涉及Windows2002/2003/2008Active Directory默认安装带来的可能性以及其他能够整体提高密码安全的技术。
    • IDC创新和安全白皮书:合作或竞争评论
      业务创新是业务发展战略非常重要的一部分,并而日益成为公司保持竞争优势的决定性因素。由于创新的战略重要性,导致了我们越来越关注信息安全机制在抑制甚至扼杀业务创新方面起到的作用。IDC认为公司不仅是需要找到业务创新和有可能扼杀这种创新的信息安全机制,而且需要在这两者之间找到一个简洁的平衡来满足自己的业务需求。成功的企业能够在商业竞争中占有优势,是因为他们懂得去合理的利用两者使之成为一种具有杠杆作用的机制,而其它的企业只是单单强调其中的一个。
    • 预防企业数据丢失的6种最佳实践评论
      根据“私有权清算中心”(一家非赢利性消费者信息和倡导组织)的统计,自2005年1月以来,有将近2200万条记录遭到破坏。数据失窃和丢失案件数量惊人,这不仅是因为安全入侵事件正在以惊人的速度持续增长,数据丢失引发的财产损失事件也同样在飞速增加。根据美国政府的估计,所谓的“企业数据丢失”在去年使商业界损失了近1050亿美元。根据波尼蒙研究所(Ponemon Institute)的统计,仅仅内部人士导致的数据受损一项,每年给商业界造成的损失为平均每家公司3-4百万美元。产业分析公司Gartner集团估计,恢复数据的开销可以达到每条破坏记录150美元之高——这一数字还没有包括重拾客户信任和重建品牌价值、可能的罚款以及法律诉讼代理费的资金投入。在企业数据丢失案件有增无减的同时,公司也正在不断搜集更多数据,以求优化商业流程,改善客户服务,以及提升与合作伙伴的关系。更多的数据转化为相关数据在整个企业中数量不断增多的信息系统之间更广泛的传播。其结果就是——随着公司内外越来越多的用户获得接入系统的权限,敏感数据遭到破坏的风险也在不断增大。
    • RSA白皮书:管理银行的信息风险评论
      信息是银行的基础,但直到现在,金融机构还往往满足于以业务封闭式的方式管理风险。然而,行业的压力促使银行开始对这种战略展开思考。