首页
社区
课程
招聘
[原创]LNK快捷方式文件漏洞简要分析
2010-7-22 00:04 74264

[原创]LNK快捷方式文件漏洞简要分析

2010-7-22 00:04
74264
收藏
点赞6
打赏
分享
最新回复 (48)
雪    币: 91
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
xygwf 2010-7-23 09:07
26
0
不好意思, 看了 http://www.exploit-db.com/exploits/14403/
才知道, 要用 Dbgview.exe 去看, restart explorer 进程之后就能看到很多次, 根本不需要去点击
雪    币: 33
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
dongmkr 2010-7-23 09:25
27
0
有没有详细分析LNK格式的文章啊?
我也只找到 《windows平台.lnk文件感染技术研究》http://bbs.pediy.com/showthread.php?t=110426 这篇。
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
kit 2010-7-23 09:28
28
0
实验了一下,发现一个问题。将lnk文件放到硬盘上,仅“看一眼”是不行的,但复制、重命名该文件时是可以的。删除到回收站中,只是“看一眼”就行了。
是不是硬盘上的图标存在缓存?导致shell不去加载该DLL?
雪    币: 228
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
junzz 2010-7-23 11:31
29
0
第三层就是后面长度为0xA2的目标文件。这里面偏移0x7A处的9C FF FF FF是用来指明快捷方式图标的index。貌似是这样的。


这个说法是不准确的,这个偏移是系统的图标Id,系统默认有很多个图标ID,9CFFFFFF只是其中一个;

并且楼主可以看看"快捷方式 到 网络安装向导"中的此处偏移,一样为0;
雪    币: 228
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
junzz 2010-7-23 11:33
30
0
是和图标缓存有关,如果用TC浏览,就真的是"每次看一眼就中"

同时发现,360对此lnk的检测有漏洞
雪    币: 228
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
junzz 2010-7-23 11:38
31
0
小聪牛的分析流程很精准了,只有当Root节点为control paneld的时候,系统才有加载CPL这个机制;

不过360没判断这个上层节点的GUID,而是直接在Lnk Header后面开始逐节搜索,然后判断UNICODE和ANSI编码,解析为路径,再去判断路径是否存在
雪    币: 820
活跃值: (380)
能力值: ( LV12,RANK:310 )
在线值:
发帖
回帖
粉丝
古河 6 2010-7-23 11:44
32
0
其实不是只有dll才行的
这个shortcut文件其实是控制面板应用程序(.cpl)的shortcut上改过来的, 整个流程不只是找一张图标那么简单, LoadCPLModule里面其实还会把这个cpl映射进来做redirect用, cpl的入口点(CPLApplet)会被调用
cpl文件其实就是一个dll,但是入口点是"CPlApplet", 你可以自己编一个cpl出来,替换你的dll文件,一样可以被调用起来
所以要修这个漏洞没有这么简单,因为当初的设计就是要把cpl load起来做一些事情的,只能说是微软设计有缺陷。。。
雪    币: 211
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
byxxdrls 2010-7-23 22:13
33
0
想找个样本,找到这个更好。
雪    币: 3171
活跃值: (71)
能力值: (RANK:250 )
在线值:
发帖
回帖
粉丝
snowdbg 6 2010-7-23 22:17
34
0
http://www.utf.com.cn/article/s1613
雪    币: 29
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
webwizard 2010-7-24 05:34
35
0
学习了。那个偏移7A处的Index是否就是漏洞被触发的关键?
如果还有其他正常的LINK文件在该处的数值也是全零的话,检测岂不会出问题。
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
robar 2010-7-24 16:33
36
0
哎,又多了一种病毒传染途径了
雪    币: 292
活跃值: (126)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
lofullen 2010-7-24 18:24
37
0
呵呵,这漏洞用来U盘传播病毒有点浪费,微软说这漏洞补上还得一段时间,发挥想象吧,我得好好利用一下
雪    币: 292
活跃值: (126)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
lofullen 2010-7-24 18:25
38
0
顺便在这里提个问题。。。

EnumResourceNames 资源名称枚举法的缺点是需要函数回调得到,不方便,如果是无窗口的程序还得以消息的方式通知,太麻烦了。有没有什么方法能获取默认,也就是第一个 RT_GROUP_ICON 格式的图标资源名称。
雪    币: 95
活跃值: (15)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
zphdebug 1 2010-7-30 15:20
39
0
本人一菜鸟,想问下如何用od调试lnk文件,那位高手教下方法
雪    币: 722
活跃值: (123)
能力值: ( LV12,RANK:300 )
在线值:
发帖
回帖
粉丝
轩辕小聪 7 2010-7-30 20:45
40
0
LNK是由资源管理器来识别的,所以其实是用OD调试explorer.exe进程,可在前面提到的那些函数上下断。
雪    币: 716
活跃值: (162)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
elance 6 2010-7-30 23:04
41
0
楼主帖子精彩,跟帖补充的也精彩,学习了。
雪    币: 81
活跃值: (55)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
ccnyou 2010-8-16 05:26
42
0
但不理解人家怎么用来传病毒,要弄几十个文件出来遍历文件夹,又不能隐藏。傻子看到都知道中毒啦。而且我测试时机子不停地加载dll,几乎死机
雪    币: 255
活跃值: (37)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
孤行有你 2010-10-11 11:50
44
0
有测试代码吗
雪    币: 563
活跃值: (95)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
lixupeng 2010-10-11 13:24
45
0
不错的方法应该不会被杀
雪    币: 7
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
艾米 2010-10-19 02:01
46
0
不是不会被杀,而是已经被杀烂了
卡巴貌似还好
诺顿在使用网络路径“\\”时必杀,使用本地路径会检测后缀,如果是dll就杀掉,cpl则放行
大蜘蛛在0x7A处是00 00 00 00的时候,只要后面跟有文件名就会杀
…………

不知道pif的利用方法有没有人研究过?应该还有些价值吧
雪    币: 107
活跃值: (311)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Fido 2010-10-20 12:22
47
0
恩..10楼可以加精
雪    币: 2477
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
oatzhang 2011-6-15 14:37
48
0
看看多少分看看多少分
雪    币: 216
活跃值: (144)
能力值: ( LV10,RANK:160 )
在线值:
发帖
回帖
粉丝
zouzhiyong 3 2011-6-15 21:04
49
0
感谢LZ,mark一下~~
雪    币: 306
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
baohongyu 2011-6-17 09:51
50
0
技术文章,都要顶滴
游客
登录 | 注册 方可回帖
返回