0×1 概述
近日,腾讯御见威胁情报中心监测发现,借助U盘、移动硬盘传播的Bondat蠕虫病毒呈活跃趋势。该蠕虫构建的僵尸网络不仅通过浏览器执行JS挖矿木马,还会传播GandCrab3勒索病毒。
Bondat蠕虫最早出现在2013年,早期的Bondat蠕虫主要通过修改主页获利,在2018年3月份左右开始进行门罗币挖矿攻击,近段时间活跃的Bondat蠕虫不仅保留了主页修改、门罗币挖矿功能,还增加了传播勒索病毒的功能,危害等级逐步提高。
图1 Bondat蠕虫感染流程
图2 Bondat僵尸网络近期活动趋势
0×2 分析 1. 传播方式Bondat蠕虫主要通过移动存储设备进行传播,通过枚举移动存储设备中的exe、doc、pdf等文件,然后创建这些文件名的同名快捷方式,并使快捷方式指向Bondat蠕虫启动器Drive.bat,当移动设备被另一台电脑打开时,病毒快捷方式很容易被执行导致蠕虫的扩散。
图3
2. JS分析Bondat僵尸网络的主要功能都是通过一个JS完成,包括测试网络、检测杀软、隐藏文件、下载其他木马、感染等功能。感染成功后在AppData目录下创建随机名文件夹并释放exe和JS文件。
图4
EXE文件实际上是Wscript.exe被重名为随机名,用随机名的exe来启动JS脚本来躲避对Wscript.exe进程的监控。
图5
蠕虫主体JS经过强混淆,需要多步骤解密才能看到原来的代码。
图6
第一步:Ascii编码转换为对应的函数名
\x72\x65p\x6cace –>replace
ch\x61\x72\x43o\x64eAt –>charCodeAt
x74oS\x74r\x69\x6e\x67 –>toString
转换前:
图7
转换后:
图8
第二步:命令行字符运算
字符运算得到replace函数:
charCodeAt,toString,length--> "replace"图9
字符运算得到最终结果(包含replace运算)
图10
字符运算得到最终结果(不包含replace运算)
图11
第三步:循环进行第二步得到解密后的JS代码
图12
JS执行时先访问microsoft.com或google.com或bing.com测试网络是否畅通,然后检测wireshark等监控软件是否存在。