路由器劫持导致广告肆虐

手机电脑打开网页经常莫名其妙的弹广告、跳转其他网站,也许并不是病毒在搞鬼!日前,360互联网安全中心追踪发现了一起路由器网络劫持的案例,网友反馈称自己日常上网出现了莫名其妙弹出广告或者跳转到其他网站的现象,使用安全软件检查并未发现病毒。经分析发现,始作俑者竟是网友家里的路由器!反馈用户使用的均为国内某几个品牌的路由器,而这些路由器存在着难以被及时察觉的网络劫持的行为。路由器作为家庭网关,本应承担保护家庭网络安全的任务,而这种恶意的网络劫持行为严重影响用户的上网安全。

我们在分析用户反馈过程中发现,此次的劫持情况分布广泛,且各大网站均出现问题,和之前常见的区域性劫持不同,也不是某几家网站存在问题。

在排除了机房问题,运营商链路问题,浏览器恶意插件,病毒木马等可能性之后,最终目标锁定在用户使用的路由器上。经过我们的分析测试,发现用户使用的几款路由器中存在数据包篡改劫持问题。而劫持的目标包括电商网站、网址导航、搜索引擎等网站,目的是赚取推广佣金;还会在其它一些网站中插入无关网页和游戏广告;甚至会直接把用户引向钓鱼或欺诈广告网站,对网民造成直接经济损失。

 

劫持过程分析

蚂XX&睿X路由器劫持过程分析:

首先我们提取了用户使用路由器的固件,对其进行了解包:

可以看出,这个路由器系统是在开源的OpenWrt基础上修改而来,我们分析的这两款路由器所使用的固件均来自深圳一家专门做路由器固件定制的公司,从其官网展示的信息看,还存在多款使用同类固件的机器。

在对比分析中,我们发现路由器固件中,存在网络数据包修改的功能,而修改后的内容和我们在网络抓包中获取到的劫持内容一致:

固件中提取的劫持相关文件和请求302跳转劫持

在原js内容末尾插入hxxp://113.113.120.118:2048/b.js

通过进一步分析,梳理了其劫持的逻辑:

蚂XX&睿X路由器劫持流程

上图中,用于劫持的b.js又引用了多个js,在其中一个hxxp://cdn.cowmalls.com/script/static/js/g.js中看到最终广告页面:

引用的广告页面及展示效果:

因为是在路由器中做的劫持,接入这个路由器的移动端也会受到影响:

被插入广告图:

在PC端中的劫持效果:

 

另外一款某知名品牌路由器劫持过程分析

在另一款知名度较高的路由器中,我们也发现了类似的劫持功能:

固件及telnet中和劫持相关的部分

浏览器访问页面中被插入js代码

插入访问网站中的JS

我们分析其劫持逻辑如下:

t.js混淆+RC4加密代码片断:并且不断更新变换加密及混淆方式以对抗分析:

t.js混淆+RC4加密代码片断

反混淆处理后代码如下图所示:JS中对phicomm.com、weibo.com、.gov.cn、.qq.com、.sina.com、.163.com、.weibo.com、.cctv.com、.baidu.com等几个大站点做了白名单处理,打开这些网站不会被插入广告,这些站点以外的网站则会根据移动端和PC端插入不同的广告JS,其中移动端会有小图标广告或移动网盟的广告。

反混淆t.js内容及对应部分广告展示

劫持简图及部分劫持案例

Lypc.js反混淆后部分片断可看到其中插入广告的页面:

游戏广告js中,鼠标移动上去即自动打开游戏广告代码

最终自动弹出全屏的页游广告

在正常访问网站右下角插入广告图

对于此类网络劫持,360互联网安全中心提醒:

  1. 普通网民尽量选择更有保障正规厂商品牌路由器,并且保持路由器固件更新。日常上网也可以尝试主动切换到https访问(目前主流站点多已经支持https的访问),避免通讯过程被篡改。
  2. 各大站长可以通过全站升级到HTTPS,防止此类劫持、篡改问题。
  3. 目前360浏览器已经对此类插入广告JS进行全面拦截,使用360浏览器可有效过滤掉插入的各类广告。