MS10-046_LNK文件快捷方式漏洞的原理分析(多图杀猫)

文件快捷方式漏洞MS10-046是除了n年前的动画光标(.ani)漏洞之外另一个让我觉得比较有趣的漏洞,毕竟是本机执行任意代码的权限,当然,n年前我还只是一个菜鸟,神马都不懂.     入正题吧,欢迎拍砖,大家一起进步.(后面我会把一些参考文章贴出来的)     由于MS10-046的漏洞是在shell32.dll当中,windows出于美化的目的,会现实快捷方式的图标,这个图标可
摘要由CSDN通过智能技术生成

    文件快捷方式漏洞MS10-046是除了n年前的动画光标(.ani)漏洞之外另一个让我觉得比较有趣的漏洞,毕竟是本机执行任意代码的权限,当然,n年前我还只是一个菜鸟,神马都不懂.

 

    入正题吧,欢迎拍砖,大家一起进步.(后面我会把一些参考文章贴出来的)

 

    由于MS10-046的漏洞是在shell32.dll当中,windows出于美化的目的,会现实快捷方式的图标,这个图标可能是程序本身自带的ico,也可能是系统默认的那些图标,对于一个快捷方式,系统会对它进行解析从而获取他要显示的那个图标,但是在解析的时候没有做好参数验证工作,我觉得在设计上也是有一定缺陷的,后面会详细说.

 

    首先必须解决的问题是调试,怎么去调系统的解析操作,当然是用windbg啦,ring0还是比较劲的,但是默认的情况下,windbg是不会加载ring3的符号的,怎么解决这个问题,让windbg能够调试应用层的程序,步骤如下:

1.!process 0 0 explorer.exe     //主要是获取explorer.exe的_EPROCESS地址,上下文切过去

2..process /p _EPROCESS地址  //这是点命令,切到指定的进程上下文去

3..reload /user [/f] [dll名称]      //也是点命令,用于加载应用层的符号,如.reload /user shell32.dll

    之后就可以使用bp下断了,如bp shell32!_LoadCPLModule

 

    解决了调试问题之后,我们来研究一下这个恶意构造的lnk文件是如何构造出来的.

    操作系统能够让我们自己对控制面板里面的程序进行扩展,如图

    快捷方式跟控制面板的这些程序还是有点关系的.这些程序被称为Control panel applets,他们的实质就是一个后缀名为.cpl的文件,如图,VMware Tools对应的.cpl

    虽然后缀名是.cpl,但是实质上他是一个dll,至于怎么判断出来的,我们都知道,dll和exe都是PE文件格式,具有相似性,并且,exe文件也是可以具有导出目录的,那么如何在PE格式的这个角度判断一个文件是exe还是dll,这个下午也花了点时间去找资料,在<An In-Depth

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值