查看: 2822|回复: 9
收起左侧

[转帖] 捉鬼记:深入 Norton UAC Tool 实现原理

[复制链接]
zwl2828
发表于 2008-10-18 17:37:21 | 显示全部楼层 |阅读模式
张康宗(Smallfrogs)
http://www.KZTechs.com

刚刚看到 Asuka 的一篇文章《Norton UAC Tool原理剖析》,文章中已经很好的解释了Norton UAC是如何做到 Don't ask me again的,从开发的角度上看,这个要实现不是很难,但是我感兴趣的地方是: Norton 是如何把 Microsoft 的 Consent.EXE 给截获的,如果能够截获 Consent.EXE,就很容易实现 Norton 的功能了。

下面就让我带领大家深入这个工具的实现细节吧:

  • 下载安装过程很简单,不停的Next就可以了。
  • 安装完成以后,我找了一个会启动 UAC 的软件试了试,果然出现了 Norton 的 UAC 提示框。Microsoft Windows Vista 的那个 UAC提示框不见了。当时很诧异!!
  • 当 Norton UAC 提示框正在询问的时候,用 Process Explorer 看了看进程,惊讶发现 Process Explorer 进程列表里面显示的是 Symconsent.EXE,但是这个进程的相信信息里面 Image 指向的是 Windows Vista 的 Consent.EXE。惊讶~~!

       

    发现上述的内容,Smallfrogs 第一反应是想到碰到鬼了~
    但是根据 Smallfrogs 多年的经验分析,得出这个“鬼”一定是人为的。看来 Norton UAC Tool 这个东东有搞头,于是乎马上振作精神,开始进一步的分析。

  • 启动 Process Monitor,开始检测进程的创建过程,果然,鬼情出现了:在触发 UAC 的时候,Consent.EXE 进程加载的时候,Consent.EXE 会执行一个 LoadImage 动作,但是发现 LoadImage 对象不是 system32\consent.exe,而是 system32\symconsent.exe,如下图:



    这是一个非常重要的现象,根据这个现象,Smallfrogs 当机立断,有东东做了 Hook。
  • 使用 Image File Execution Options 技术,对 consent.exe 设置了调试器通知,确认在触发 UAC 的时候,系统的确调用了 consent.exe 进程,而且进一步发现,调试器模式下,挂接 consent.exe 进程以后,Norton UAC Tool 的提示框没有出现。

    Smallfrogs 当时想:这只鬼很神奇啊~~难道要逼迫 Smallfrogs 做复杂、烦琐的内核调试吗?Smallfrogs 环顾四周,周围只有一台用了2年的本本,看来又要伤机器了。

  • 正在准备开启VMWare的时候,Smallfrogs 突然想起忘记看看安装程序做了什么事情了,于是乎对安装程序 NUACx86.exe 进行了一个简单的分析,发现不就是一个普通的EXE嘛,而且这个EXE不是 symconsent.exe,看来这个EXE 有隐藏的东东。在 Exescope 的帮助下,果然发现 NUACx86.exe 有附带几个资源二进制文件,解出来一看,哈哈,这只鬼终于现身了。

    Norton UAC Tool 安装了一个文件过滤驱动,叫做 SymAFR,当然,这个驱动通过了 Microsoft WHQL 认证(这只鬼做的还挺标准的),数字签名日期是 2008年2月29日 22:47:48。驱动的文件名叫做 SymAFR.sys。

    Norton UAC Tool 可能是这样实现的(有不对的地方请大家指正):

    1、当 UAC 触发的时候,Windows Vista 尝试加载 system32\constent.exe。

    2、SymAFR.sys 截获了这个操作,然后转而让系统加载 symconstent.exe。

    3、symconstent.exe 成功的代替了 Windows Vista 的 constent.exe 进程,后面的事情就简单了。

    4、验证方法很简单,执行 sc stop symafr 命令以后,再看看你还能够看到 Norton UAC Tool 的提示吗?呵呵。
Smallfrogs 评论:恩,这是一个非常巧妙的方法!实现简单,稳定,有效~

注意:Norton UAC Tool 是会把每一个触发 UAC 的程序的信息上报给 Norton 信息收集中心的。
嘁。不稀罕~
发表于 2008-10-18 17:40:32 | 显示全部楼层
意思是。。。画皮。。。
火球
发表于 2008-10-18 17:40:55 | 显示全部楼层
和诺顿手里有微软源代码有关么?
chenyilong58
发表于 2008-10-18 17:47:18 | 显示全部楼层
技术真搞,不愧有微软代码
zwl2828
 楼主| 发表于 2008-10-18 17:51:32 | 显示全部楼层
原帖由 abeyl 于 2008-10-18 17:40 发表
意思是。。。画皮。。。

画心、
wcb46888
头像被屏蔽
发表于 2008-10-18 17:54:46 | 显示全部楼层
了解一下,看来挺好玩的..
ll123456
发表于 2008-10-18 18:35:38 | 显示全部楼层
支持诺顿!制造出出色的产品!
zwl2828
 楼主| 发表于 2008-11-8 04:06:52 | 显示全部楼层
原帖由 ll123456 于 2008-10-18 18:35 发表
支持诺顿!制造出出色的产品!

Betaing......
carltan
发表于 2008-11-8 10:42:11 | 显示全部楼层
嗯 学习了
wodewowo
头像被屏蔽
发表于 2008-11-8 16:31:03 | 显示全部楼层
挺NB的嘛
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2025-1-6 19:24 , Processed in 0.138787 second(s), 16 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表