金山主页锁定分析

来源:互联网 发布:数据挖掘的研究现状 编辑:程序博客网 时间:2024/05/16 00:37

金山主页锁定分析

现象

最近打开浏览器,发现地址栏是锁定的默认主页,但是显示的网页内容确是毒霸网址大全


 

通过分析,发现金山是通过inline hook, 拦截用户启动快捷方式,当发现启动的是浏览器时,将启动金山的Kslaunch.exeKslaunch.exe启动浏览器,并进行主页劫持。

分析

(1) inline hook

重点分析了一下金山拦截用户启动浏览器并由KsLaunch.exe劫持的过程,其关键部分如下:

首先在 shlwapi![SHInvokeCommandOnContextMenuEx+0xXX]+0xXX挂了一个钩子,

这个钩子藏得挺深的,这是一个未公开的函数,函数的作用不好说,只是知道用户启动快捷方式的时候总会先执行到这里。

 

 

(2) 浏览器劫持分析

接管启动的所有快捷方式后调用ks3rdhmpg32!OpenLnk函数解析快捷方式。当发现启动的是浏览器时将使用KsLaunch.exe替换掉原有的WebBrowser来实现浏览器的劫持。我以QQ浏览器为例来分析。

启动浏览器快捷方式后,会被修改成启动KsLaunch.exe

首先根据启动的快捷方式,获取exe的所在路径

 

 

通过exe的名称比较浏览器列表,并取出浏览器对应的网址URL

(部分浏览器列表)

 

拼装URL参数

 

获取kslaunch.exe路径(原始路径:c:\program files\kingsoft\kingsoft antivirus\kslaunch.exe毒霸安装目录,拷贝到一个临时的目录,并返回临时目录:C:\Users\Andy\AppData\Roaming\Kingsoft\kslaunch\kslaunch.exe

 

URL使用Base64加密,在进行Md5加密后拼装字符串

"C:\Users\Andy\AppData\Roaming\Kingsoft\kslaunch\kslaunch.exe" /app:"C:\Program Files\Tencent\QQBrowser\QQBrowser.exe" /url:"https://www.duba.com/index.html?f=qlswdhq&ft=gjlock&--type=0&hid=100_50_&pru=1" /encode:"aAB0AHQAcABzADoALwAvAHcAdwB3AC4AZAB1AGIAYQAuAGMAbwBtAC8AaQBuAGQAZQB4AC4AaAB0AG0AbAA_AGYAPQBxAGwAcwB3AGQAaABxACYAZgB0AD0AZwBqAGwAbwBjAGsAJgAtAC0AdAB5AHAAZQA9ADAAJgBoAGkAZAA9ADEAMAAwAF8ANQAwAF8AJgBwAHIAdQA9ADEAAAA=" /hash:"4d6537b0b8808374a263a415a615d737"

 

 

然后KsLaunch.exe启动目标浏览器 并劫持URL

 

Command Line: "C:\Program Files\Tencent\QQBrowser\QQBrowser.exe" https://www.duba.com/index.html?f=qlswdhq&ft=gjlock&--type=0&hid=100_50_&pru=1

结论

通过在启动所有快捷方式的过程中并匹配浏览器后替换为KsLaunch.exe来劫持主页,可以避免与主页保护软件的正面对抗,达到劫持效果,思路令人佩服。如果用在正规的主页保护技术上那就更好了。

 

原创粉丝点击