4

偷天换日——新型浏览器劫持木马“暗影鼠”分析 | WooYun知识库

 6 years ago
source link:
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

偷天换日——新型浏览器劫持木马“暗影鼠”分析

0x00 背景


近日哈勃分析系统截获了一批新型浏览器劫持木马 “暗影鼠”,该木马通常被打包在压缩包内伪装视频播放器通过网页进行传播。该木马的主要功能是对浏览器访问导航页的流量进行劫持,重定向到自己的推广页,非法获取推广利润。该木马最早出现是在今年的4月末,5月初开始小范围传播,但是从5月23开始突然爆发,高峰期全网中此木马用户数超过30W每日,保守估计近期木马作者以此获利总额有近百万元人民币。

传播趋势

0x02 木马介绍


“暗影鼠”启动后首先释放大批子文件,如下图所示

释放文件列表图

主要子文件功能:

  • cBLK.dll 木马核心功能模块,注入浏览器进程,流量劫持
  • newts.exe 64位系统下kill浏览器进程
  • undoing.exe 获取木马作者后台的推广列表
  • run.bat 清空浏览器缓存和临时文件
  • clk.ini 木马使用的配置文件

“暗影鼠”核心作恶流程

该木马在释放了一批子文件之后,枚举当前系统中的进程,与设定好的国内主流浏览器进程名进行对比,如果发现这些浏览器进程的存活,则杀掉相应进程,并且生成一个相应被感染的浏览器主进程的可执行文件。然后拉起这个被感染的假浏览器进程,假浏览器进程会加载之前释放的核心功能dll,然后再dll中hook关键系统函数,进行流量劫持。

0x02 主要功能模块技术分析


1.遍历进程杀浏览器进程

进程名比较代码段

枚举进程,寻找国内主流浏览器进程名。在此本文以chrome浏览器为例,对木马母体的TerminateProcess函数下断点,查看第一个参数。

结束chrome进程

查看句柄的含义

procxp中查看句柄含义

句柄对应的就是chrome进程

任务管理器中查看chrome的进程ID

可见木马母体中去杀的进程就是chrome.exe。

2.“狸猫换太子”假浏览器出场

杀掉真的chrome之后,木马母体在chrome.exe的同级目录下创建了下边两个文件。

释放被感染的chrome

上图中的exe就是一个被感染的chrome,会在启动时加载cBLK.dll,然后执行其内部包含的真正的chrome.exe。

假的chrome启动后,我们用spy++查看当前的浏览器窗口归属

spy++查看窗口的进程归属

假chrome进程树

0:000> ?9d4
Evaluate expression: 2516 = 000009d4

0x9d4转成10进制就是2516

可以看到现在使用的chrome就是被感染的chrome。

3.cBLK目的何在

调试器附加假chrome

由上图可知假chrome加载了cBLK.dll,这个dll的主要功能就是hook系统关键函数。

主要Hook点

hook LoadLibraryExw

阻止加载列表

这个hook点的主要目的就是防止安全软件的浏览器安全模块加载。

hook WSASend发现对导航页的访问时

监控的导航页列表

构造302页面

发现对上述导航页的访问,则构造相应的302跳转页面。

hook WSARecv将对应的302页面返回,达到劫持目的

返回302页面

上图中的代码是在cBLK的WSARecv的hook函数中找到的,后边会调用真正的WSARecv,使得浏览器误以为接收到了302跳转页面,达到劫持目的。

4.其他技术点

启动被感染的浏览器进程,该样本还使用了监控浏览器桌面快捷方式点击的方法,非主要技术点在此不展开介绍。该样本也hook其他模块加载和网络发送接收函数,道理和上边说的一致,也不重复了。

哈勃分析系统目前对此样本的已经查杀。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK