HTTP代理进程(ADSafe.exe)劫持策略更新流程(图)

优采云 发布时间: 2021-07-30 22:23

  HTTP代理进程(ADSafe.exe)劫持策略更新流程(图)

  HTTP代理进程(ADSafe.exe)主要负责处理网络过滤驱动转发的HTTP请求,可以根据不同的规则进行广告过滤和流量劫持。 ADSafe 规则分为两部分,分别放在两个不同的目录中。规则目录的位置和用途如下图所示:

  

  规则目录的位置和用途

  如上图所示,用户订阅规则主要对应ADSafe中的自定义广告过滤规则,主要用于广告过滤、*敏*感*词*软件过滤等;流量劫持规则主要包括劫持策略和劫持内容。劫持生效后,可以用提前准备的劫持内容替换原来的HTTP请求,达到劫持的目的。以参观为例。由于跳转过程较快,我们截获了被劫持的链接(hxxps:///c?w=***&t=/)。劫持效果,如下图所示:

  

  流量劫持

  最后跳转页面,如下图:

  

  终于被劫持的地址

  流量劫持策略不仅会由5.3版本的ADSafe直接发布,还可以进行云控制更新。正在分析中,劫持策略还在更新中,所以下面提到的劫持策略均以我们获取的最新版本为准。

  ADSafe 策略文件中的数据采用 AES 算法加密,加密数据采用 BASE64 编码。由于所有策略文件的解密过程完全相同,下面不再赘述。相关解密逻辑如下图所示:

  

  解密逻辑相关代码

  策略更新功能主要对应ADSafe中的AdsCdn.dll模块,主要负责策略请求、下载和解密过程。劫持策略更新过程首先访问C&C服务器地址,请求策略配置数据CdnJsonconfig.dat。 C&C服务器地址,如下图所示:

  

  C&C 服务器地址

  请求CdnJsonconfig.dat的数据相关代码,如下图:

  

  请求 CdnJsonconfig.dat 数据代码

  文件解密后,我们可以得到如下配置:

  

  CdnJsonconfig.dat 解密数据

  如上图,“0002020A”属性中存放的是策略更新配置文件的下载地址(hxxp:///pc_v4/rulefile/source_9800.xml?-70969872),我们可以使用HTTP请求获取如下配置:

  

  策略更新配置

  如上图所示,每组""标签对应一个策略或数据文件,下一级的""标签存放的是文件下载地址。每个文件下载到本地后,文件的MD5值都会改变。进行比较以确保文件的完整性。验证MD5后,将规则文件解压到ADSafe安装目录下的res目录下。策略更新的相关代码如下图所示:

  

  策略更新代码

  我们前面提到过,ADSafe官网版本(4.0版本)中没有收录流量劫持策略。其实是因为低版本AdsCdn.dll动态库中用于请求CdnJsonconfig.dat数据的URL指向一个局域网地址(hxxp://192.168.1.77:823/i .ashx),因此劫持策略无法更新。不仅如此,官网版安装包安装后,网络过滤驱动不会发布,直接导致安装官网版ADSafe根本没有任何广告过滤功能。

  代理服务进程除了上述操作外,还会通过检测窗口名称(OllyDbg等)、修改线程调试属性等方式进行反调试,相关代码如下图所示:

  

  检测调试器

  流量劫持策略

  流量劫持策略下发到本地后,会先解密,再加载到HTTP代理服务中。下面为了方便我们对劫持规则的描述,首先引用ADSafe过滤器语法汇总表来解释过滤规则的关键词。关键词及相关用途如下图所示:

  

  过滤语法总结

  流量劫持策略保存在ADSafe安装目录下的“res\tc.dat”文件中。解密后,我们可以得到劫持策略。部分劫持策略,如下图所示:

  

  劫持策略

  如上图所示,每条劫持规则的含义大致相同。首先,通过常规规则匹配 URL。 URL匹配成功后,返回“$$”后的HTTP数据包内容,返回的数据包中收录有流量劫持功能的JavaScript脚本。以0025.dat的解密数据包内容为例,如下图所示:

  

  包装内容

  以之前的劫持规则为例,劫持生效后,当用户访问“当当”网上商城时:图书、母婴、美妆、家居、数码、家电、服装、鞋子、箱包等,正品低价,*敏*感*词*对于诸如“苏宁易购()-准时发货,更超值,新货发货更快”等网址,返回的数据将替换为HTTP数据数据包 0025.dat。数据包文件的内容也需要解密。解密后,我们可以看到由JavaScript脚本控制的相关劫持逻辑。

  劫持京东网站等电商

  首先,脚本会根据不同的URL执行不同的劫持逻辑。 URL列表如下图所示:

  

  网址劫持规则列表

  如上图所示,url属性存储的是要劫持的URL,name存储的是劫持调用函数。在劫持脚本中,每个URL对应不同的劫持函数。劫持函数调用逻辑,如下图所示:

  

  劫持函数调用

  由于被劫持的网址数量众多,我们只描述几个典型的劫持情况。我们以京东商城劫持为例。用于劫持的函数是_fun_17。功能逻辑,如下图所示:

  

  用来劫持京东的_fun_17功能

  函数_fun_17从预先准备好的劫持数据中解密出一组被劫持的链接,每个链接对应一个劫持概率。劫持概率按比例顺序存储在被劫持的链路阵列后面。解密后的劫持数据如下图所示:

  

  数据劫持

  获取上述劫持链接后,会调用ft_r函数在当前页面插入刷新标签进行跳转。如下图所示:

  

  ft_r 函数内容

  如上图所示,每个被劫持的链接都是通过广告推广平台(如易奇发、星落、多麦等)链接到最终京东首页的链接。 ADSafe 将通过这些广告推广平台变现流量。其他网站的劫持也大致相同。下面简单介绍一下其他劫持逻辑。

  劫持Hao123导航

  Hao123的劫持逻辑如下图所示:

  

  如上图所示,用于劫持Hao123的HTTP数据存储在0021.dat中。解密后与0025.dat大致相同,但该文件中只保存了Hao123的相关劫持代码。劫持功能,如下图所示:

  

  Hao123劫持功能

  上图中的脚本会从促销号列表中随机选择一个促销号拼接在“hao123_Internet from here”链接后面,然后插入刷新标签进行跳转。用于劫持的促销号共有8个,如下图所示:

  

  用于劫持Hao123的推广账号数据

  劫持百度搜索

  劫持百度搜索的劫持策略,如下图:

  

  劫持策略

  数据劫持百度搜索在0023.dat,劫持功能如下图所示:

  

  百度搜索劫持功能

  类似于Hao123劫持的情况,列表中有36个推广号,如下图:

  

  促销编号列表

  四、同源分析

  除了上一篇提到的反网卫,我们还发现了一款​​广告过滤软件“Ad Filter Master”,其劫持策略和功能模块与ADSafe相同。该软件有两个页面完全相同的官网,hxxp:///和hxxp:///,“广告过滤大师-简单好用的广告软件”域名以“”注册。如下图所示:

  

  注册信息

  官网页面不仅一样,还有多个安全软件的安全认证,如下图:

  

  广告过滤大师官网页面

  广告过滤大师劫持策略目录与ADSafe、清网防御者对比,如下图:

  

  劫持策略目录对比

  不仅目录中的文件名基本一致,用于流量劫持的数据的SHA1也基本一致(只有0025.dat的SHA不同),三个软件也收录相同的功能模块。所以我们可以判断这三个软件属于同一个软件厂商。 SHA1对比,如下图所示:

  

  流量劫持数据文件SHA1对比

  五、附录

  文章涉及样本SHA256:

  

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线