现在的位置: 首页 杂谈 >正文

坑爹补丁kb3045645

给虚拟机打补丁的时候顺手点开了详情,然后就看到了kb3045645……

其链接是: https://support.microsoft.com/en-us/kb/3045645,更新的文件不少,实际上主要就是删掉了sdbinst.exe的内嵌清单中autoElevate一节。

autoElevate一节决定了应用程序能否自动进行UAC提升(对于windows本身的组件而言就是在UAC默认等级下不弹框地提升至high mandatory),这点在微软某篇文档内进行了说明(太早了所以链接忘记了)。

而sdbinst的作用是安装一个兼容性数据库,这里能做的事情就太多了。兼容性并不单纯是exe右键属性那些配置,借助sdb配置的兼容性能完全改变一个exe的执行流程。

例如可以告诉系统explorer.exe是有问题的程序,需要进行修补,修补程序是一个dll。之后每次explorer启动都会加载这个指定的dll。

再例如可以告诉系统sdbinst是有问题的程序,需要启动另外一个程序代替他。那么之后启动sdbinst时会运行另外一个exe。显然,这个exe作为sdbinst的替代品执行,当然是过了uac的。

Dridex木马内置了这种方式来过UAC(见我大数字的译文:http://bobao.360.cn/learning/detail/420.html),所以在披露之后微软立刻出了这么个补丁作为防护措施。

虽然说过UAC的方式还有几种而且远比这个好用,但被和谐了一个还是感到很不爽。