内容简介:CVE-2017-8759漏洞新利用:Java Keylogger盗号木马分析
0×1 概况
腾讯安全御见情报中心近期在监测CVE-2017-8759漏洞利用情况时,捕获到一款名为jLog(Java Keylogger)的盗号木马。在未修复此漏洞的机器上,用户一旦打开攻击者精心构造的恶意文档,就会触发漏洞,下载运行木马。
值得注意的是,该木马的利用方式较为新颖。以往利用此漏洞的木马通常会在漏洞触发时利用mshta程序执行hta脚本,以下载和执行“EXE版”的木马母体。而在此次发现中,攻击者却直接将具有木马功能的jar包藏在了c#代码中。
(木马运行流程图)
Jar包由 java 语言编译生成,在运行时由JAVA运行环境中的java.exe以命令行方式拉起,相对于“EXE版”的木马,java.exe成为了“Jar版”木马天然的白利用载体,隐蔽性更高,杀毒软件更难发现。Java程序的另一个特性是跨平台运行,即同一jar包在windows、 linux 、mac等系统上都能运行。此外,该木马能够收集计算名、用户名、cpu、网络、国家、操作系统等信息,具有键盘记录器、截屏上传和盗取Firefox、Chrome浏览器密码等功能。
0×2 木马行为分析
1. 恶意word文档行为分析
该恶意word文件中除了一个“链接对象”外,没有其它任何内容。在未修复CVE-2017-8759漏洞的机器上双击打开此word文档时,word程序在解析此“链接对象“时会触发漏洞,从而导致链接对象中的恶意代码下载并执行起来。“链接对象”指向的url为hxxps://a.pomfe.co/sqwkim.png。
(文档中的链接对象)
(word程序下载“链接对象”中的png文件)
“链接对象”中的png文件为精心构造的用于触发漏洞的文件,后缀虽然为png但并不是真正的图片文件。png文件中存储着一段混淆过的c#源代码,漏洞触发时该代码会被c#编译器csc.exe编译并执行。
(png文件中的c#源代码)
2. png文件中的C#源码分析
将此c#源码编译成dll文件,再用反编译软件打开,发现主要功能都在InteropNS.agFR类的构造函数中。此dll的主要作用是将存储的jar文件释放到临时目录,并即时编译另一段c#代码用来加载释放的jar文件。
(buffer中存储的jar文件)
(释放buffer中的jar到临时目录)
(第二段c#代码的类名为“CJ3MS”)
(即时编译第二段c#代码,调用”CJ3MS“类的构造函数)
(”CJ3MS”函数的作用就是创建进程,即拉起上文释放的jar文件)
3. 木马本尊jar文件分析
上文释放的jar随机文件名为tmp1A9C.jar。反编译此jar文件后,发现有混淆,明文字符串都被加密。
(jar文件目录结构)
Jar的入口点函数为com.Nimex.Initializer的main函数,从”MF“文件可以看出该jar运行时依赖jdk 1.8版本,也就是说如果jdk版本低于1.8或没安装jdk,该木马就运行不起来。
(MF文件)
(加密的字符串)
1) com.Nimex.Initializer类分析
在此类的构造函数中会获取系统的名称,后续会对系统进行win/sunos/nix/mac等判断,可见该木马支持多平台。
(获取系统名称)
(判断是否是sunos)
(判断是否是nix)
(判断是否是win)
(判断是否是mac)
在main函数中会对资源进行解密,从而得到木马配置项。木马配置项的值以base64编码,后续图中会加上解密出的值。
(解密资源)
(解密后的配置项)
当配置项“STARTUP”的值为“true”时,会将jar复制到“path”配置项所指的目录,即tmp目录、appdata目录或“我的文档”目录。同时将依赖的库下载到对应的lib目录,最后重新拉起自己。
(根据STARTUP项复制自身到指定目录)
(复制jar到新目录)
(将依赖的库下载到lib目录)
(lib目录下的所有下载的库)
(运行新目录下的备份jar)
当“STARTUP”的值为“false”时会隐藏lib目录
(隐藏lib目录,并下载依赖库)
接着向hxxps://jlog.pw/dev/php/api/v1/api.php这个url POST数据来查询是否需要更新。Post内容为appid=%1s&method=UpdateStub&key=5a0vUVI4DGJmOJnTFbPJJovoYKYUxaTDkT8fPRjsx3PmMdgrp6a8uGxsqvmYGgC1,appid的值来源于配置项中的“ID”
(查询更新)
(判断是否有更新)
如果不需要更新就执行b类的main函数。
(不需要更新)
如果有更新就将配置项存储在木马运行目录下的tmp文件里,并拉起更新程序。
(存储配置项到tmp文件)
(拉起update.jar)
2) com.Nimex.b类分析
此类继承于org.jnativehook.keyboard.NativeKeyListener,可见具有键盘记录器的功能。经过详细分析后发现3种收信方式的实现都在此类中,分别是邮箱收信、ftp收信、web收信。截屏上传的功能也在此类中。
(继承自NativeKeyListener)
键盘记录器用的是开源库jnativehook,开源地址: https://github.com/kwhat/jnativehook
(jnativehook库简介)
(键盘记录器回调函数)
b类的main函数中同样会解密“res”得到配置项,接着会开启一个线程,线程函数为“run”。
( 解密”res”,开启线程 )
Run函数中会根据“setup”配置项决定使用哪种收信方式,本次分析的木马”setup”项的值为“SMTP”,也就是使用邮箱收信。
(run函数中根据”setup”的值,提取其它配置项)
Run函数会收集计算机名、当前用户名、国家、cpu信息、主板信息、网络ip信息、jdk版本信息、内存信息、操作系统信息等。
(收集计算机相关信息)
如果是windows系统,还会从“bin”资源中解密出一个exe,并执行此exe.执行完后会读取”%Appdata\gOQn2EaBrG.tmp”中的内容,并和收集的计算机信息一起发送到收信服务器。
(解密“bin”中的exe)
(执行bin.exe,读取“.tmp”文件中的内容)
( 将收集的信息发送给服务器 )
(邮箱方式收信)
(ftp方式收信)
(web方式收信)
根据”HIDEFILE”项决定是否隐藏文件:
(是否隐藏文件)
(利用attrib命令隐藏文件)
根据“STARTUP“项决定是否开机自启动,根据” KEYNAME”项决定开机自启动注册表项的名称。
(是否开机自启动)
(添加开机自启动注册表)
根据“WEBVIS”项决定访问网页,windows下访问网页的部分命令为“rundll32 url.dll,FileProtocolHandler…”
(是否访问网页)
(访问网页的方式)
线程函数末尾会创建一个timer,timer的作用是发送上线信息、上传一张截屏信息等
(创建timer)
(timer函数)
(发送上线信息)
(上传截屏信息)
0×3 溯源分析
进入攻击者的发信邮箱,发现了攻击者在投放木马时的几封测试邮件。通过发信时主题关键字” jLog – System Details ”进行关联分析,发现该木马叫“jLog”,即Java Keylogger,介绍页链接为 https://hackforums.net/showthread.php?tid=5749332
(jLog介绍页)
( jLog 功能简介 )
通过“jLog”的功能简介发现该木马还有盗取浏览器信息的功能,但在分析该木马样本时一直未发现有此功能,怀疑从资源中释放的“bin.exe”可能就是用来盗取浏览器信息的。在分析此样本时bin资源未配置到木马中。
收信邮箱密码未保存在配置项中,因此从发信邮箱进行分析。从测试邮件中,发现了攻击者访问木马服务器时的截图。测试邮件也暴露了攻击者的国家和ip信息。攻击者所在国家为“Algeria ” (阿尔及利亚),ip为105.98.7.227(阿尔及利亚) 。从ip进行关联分析,发现攻击者曾用两台计算机进行过测试,计算机名分别为”DGSN2014 ”和“Elwazir-PC ”。攻击者利用”DGSN2014 ”这台电脑进行“洗信”的行为,以及利用利用“Elwazir-PC ”这台电脑访问木马后台网页的行为都被记录了下来。
(发信邮箱曾经的登陆地址,精确到城市)
(12月初的测试邮件)
(测试邮件暴露了攻击者的ip及计算机名)
(测试邮件中的截屏,木马后台页面)
(测试邮件中收集到的攻击者“洗信”时的按键信息)
(攻击者在尝试利用盗取的账号登陆facebook)
(攻击者在尝试登陆另一个账号)
对发信邮箱中的邮件进行分析,发现该邮箱曾是WordPress盗号木马的收信邮箱,从2017年到1月29日到2017年10月4日到共盗取了112个WordPress的账号。使用WordPress可以快速创建个人免费网站或博客,因此推测攻击者可能会利用WordPress进行水坑攻击或从事挖矿等非法行为。
(盗取的WordPress账号和密码)
0×4 安全建议
通过分析发现,目前该木马主要活跃在阿拉伯国家阿尔及利亚,由于java程序在运行时依赖java运行环境,在JDK或JRE未安装或安装版本不正确的情况下,jar包都不能运行。但我们也不能掉以轻心,在强对抗环境下,这或将成为今后木马的一种发展趋势。
腾讯电脑管家安全专家建议用户特别警惕来历不明的邮件,勿随意点开其中的附件,也不要随意打开网上下载下来的可疑文档,保持电脑管家的正常开启,可有效拦截此类病毒攻击。
附录:IOC
Email:
esco6066@gmail.com(发信邮箱) hamzab57@gmail.com(收信邮箱)
C2:
hxxps://jlog.pw/dev/php/api/v1/api.php
Url:
hxxps://a.pomfe.co/sqwkim.png hxxp://jlog.pw/products/jlog-panel/lib/updater.jar hxxps://puu.sh/v3E9n.jar hxxps://puu.sh/v3E9o.jar hxxps://puu.sh/v3E9b.jar hxxps://puu.sh/v3E9d.jar hxxps://puu.sh/v3E9A.jar hxxps://puu.sh/v3E9j.jar hxxps://puu.sh/v3E9m.jar hxxps://puu.sh/v3E9w.jar hxxps://puu.sh/v3E9x.jar hxxps://puu.sh/vhda4.dll
恶意文档md5:
acc6bbe8742e42200b68f5c3a1116a3c
可执行文件md5:
126632625EFBDF01B1193EBA2D358230
*本文作者:腾讯电脑管家,转载请注明来自 FreeBuf.COM。
以上所述就是小编给大家介绍的《CVE-2017-8759漏洞新利用:Java Keylogger盗号木马分析》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 黑客不过年:steam盗号木马再泛滥
- 记一次对Steam盗号病毒的反制过程
- 黑吃黑:盗号交易论坛Ogusers被黑客入侵后整站上传
- 木马分析:分析针对意大利的Ursnif银行木马
- 驱动人生供应链木马攻击2019.1.30变种木马分析
- 年度挖矿木马研究浅谈:2019或是挖矿木马“转型”年
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
ES6 标准入门(第2版)
阮一峰 / 电子工业出版社 / 2016-1 / 69.00元
ES6(又名 ES2105)是 JavaScript 语言的新标准,2015 年 6 月正式发布后,得到了迅速推广,是目前业界超级活跃的计算机语言。《ES6标准入门(第2版)》是国内仅有的一本 ES6 教程,在前版基础上增补了大量内容——对标准进行了彻底的解读,所有新增的语法知识(包括即将发布的 ES7)都给予了详细介绍,并且紧扣业界开发实践,给出了大量简洁易懂、可以即学即用的示例代码。 《......一起来看看 《ES6 标准入门(第2版)》 这本书的介绍吧!