【快讯】
近期,火绒监测到“LemonDuck”(柠檬鸭)蠕虫病毒感染量正在持续增加。该病毒入侵用户电脑后,会执行挖矿模块,同时还会通过多种方式在网络中进行横向传播。该病毒在2019年被首次发现,至今依然在不断扩大其影响范围。火绒安全软件(个人版、企业版)可查杀该病毒。
“LemonDuck”通过多种暴破方式(SMB暴破,RDP暴破,SQL Server暴破)和漏洞(USBLnk漏洞,永恒之蓝漏洞)传播。病毒入侵用户电脑后,会执行木马下载器PowerShell脚本。该脚本运行后会下载执行挖矿模块和病毒传播模块。
根据火绒此前报告显示(详见资料1),近年来通过暴破方式入侵电脑进行挖矿的蠕虫病毒呈增长趋势。而企业内经常存在密码强度弱、密码复用等安全问题。针对此现象,火绒企业版于今年2月推出“动态认证”功能,通过二次验证的方式,可有效防御此类病毒RDP暴破行为带来的危害。(详见资料2)
补充资料1:
《新型蠕虫病毒攻击服务器 政企电脑变矿机》
https://www.huorong.cn/info/1555676664203.html
《蠕虫病毒"RoseKernel"迅速蔓延 政企单位网络易被攻击》
https://www.huorong.cn/info/1548937997190.html
补充资料2:
《火绒产品公告——企业版推出“终端动态认证”功能 阻止RDP弱口令渗透》
https://www.huorong.cn/info/1582608651429.html
一、详细分析
近期,通过我们火绒终端威胁情报系统发现,LemonDuck病毒在互联网中大量传播。由于该病毒会通过暴破和漏洞利用执行远程命令等方式进行传播,从而造成该病毒在互联网中的感染量较大。主机在被入侵感染后,会执行木马下载器PowerShell脚本。该脚本经过多次混淆,运行后会下载执行病毒传播模块(if.bin)和挖矿模块(m6.bin, m6g.bin)。在利用被攻陷主机资源挖矿的同时,还会继续尝试入侵网络内的主机进行横向传播。 该病毒近期的传播趋势,如下图所示:
病毒传播趋势图
被感染的主机会通过计划任务定时执行或直接执行PowerShell命令行,命令行下载执行PowerShell脚本。命令行的具体代码,如下图所示:
PowerShell命令行
下载得到的PowerShell下载器脚本(经过去混淆后)如下图所示:
去混淆后的脚本
下载器木马脚本的主体功能为下载执行挖矿模块和病毒传播模块。相关代码,相关代码如下图所示:
下载执行挖矿模块和病毒传播模块
传播模块
在病毒执行后,会从C&C服务器下载并执行一个名为if.bin的PowerShell脚本文件,该脚本为混淆后的病毒传播模块。病毒传播模块首先对固定的局域网IP和主机所在的公网IP段进行扫描,确定开放具体端口的IP地址,然后进行病毒传播。病毒传播的手段包括SMB暴破,RDP暴破,SQL Server暴破, USBLnk漏洞,永恒之蓝漏洞。其中暴破所用的用户名、密码和hash值为固定的字典加上凭证抓取工具(Mimikatz、Powerdump)取得的本地登录凭证。漏洞攻击或是暴破成功后,被感染的主机均会从C&C服务器下载PowerShell脚本直接进行执行或者创建计划任务定时执行,下文中不再赘述。下载的脚本会创建计划任务运行PowerShell命令行,从而进一步在被感染的新机器上进行挖矿和病毒传播。
在执行漏洞利用和暴破之前要进行端口扫描,病毒会对固定的局域网段、从主机获得的局域网段、主机的公网网段和随机生成的公网网段进行扫描。扫描得到可以实施暴破或漏洞利用的IP地址。具体代码,如下图所示:
获得要扫描的局域网段和公网段
端口扫描
在确定可以攻击利用的IP地址后,就要进行相应的暴破和漏洞利用。其中暴破所使用的用户名,密码和hash值为固定的字典加上本地登录凭证抓取工具(Mimikatz, Powerdump)抓取的登录凭证。具体代码,如下图所示:
固定的暴破字典
利用工具抓取本地登录凭证
其中调用Mimikatz和Powerdump的PowerShell脚本均由开源的脚本修改而来。具体代码,如下图所示:
简单混淆后的Invoke-Mimikatz.ps1开源脚本
Get-PassHashes.ps1开源脚本
病毒在确定可以暴破或漏洞利用的主机IP以及初始化暴破字典后,便进行具体暴破和漏洞攻击。具体的攻击方式如下:
1) SMB暴破
病毒会进行SMB暴破,成功后执行远程命令,下载执行恶意PowerShell脚本。并将木马下载器js脚本flashplayer.tmp放入不同用户的%APPDATA%目录下, 并将启动快捷方式flashplayer.lnk放到不同用户的开机启动目录中。
执行远程命令并释放恶意脚本开机执行
2) RDP暴破
病毒会进行RDP暴破,成功后,如果当前账户为管理员则会执行远程命令,下载执行PowerShell恶意脚本,并把暴破成功的主机IP和密码回传至C&C服务器。具体代码,如下图所示:
RDP暴破传播
3) SQL Server暴破
病毒会暴破SQL Server数据库,暴破成功后,执行远程命令行下载执行恶意PowerShell脚本,并把暴破成功的主机信息(包括版本, IP地址, 密码等)回传至C&C服务器。具体代码,如下图所示:
SQL Server暴破传播
4) USBLnk漏洞传播:
病毒会在主机的移动硬盘和网络硬盘中创建快捷方式和相应的dll。当其他主机双击查看被感染的移动硬盘或是网络硬盘后,便会加载执行dll,下载执行恶意PowerShell脚本。
USBLnk漏洞传播
5) 永恒之蓝漏洞传播
病毒使用PingCastle扫描之前收集的IP地址所对应的主机是否存在永恒之蓝漏洞,如果存在,利用漏洞执行远程命令下载执行恶意PowerShell脚本。
永恒之蓝漏洞传播
漏洞利用或是暴破成功后执行远程命令行或运行可执行文件。远程命令行或可执行文件功能基本一致,可以在被感染的新主机上创建计划任务下载执行恶意脚本。具体代码,如下图所示:
定义远程命令行和可执行文件
以其中一个下载执行的rdp.jsp脚本为例,这个脚本会创建计划任务执行PowerShell命令行,命令行内容与最初截获的样本命令行内容一致。从而病毒可以在新感染的机器上进行挖矿和传播。具体代码,如下图所示:
在新感染的机器上创建计划任务
同时在if.bin脚本中,病毒还会定时停止和删除主机上的一些服务、计划任务和其他的挖矿程序,为自身挖矿腾出资源空间。具体代码,如下图所示:
结束其他任务和挖矿程序
病毒还会定时回传受害主机的信息,包括计算机名, MAC地址,开放各种端口的IP个数,获得的密码等信息。
定时回传受害主机信息
挖矿模块
病毒脚本运行后,将会访问http://207.154.225.82/m6.bin和http://207.154.225.82/m6g.bin下载XMR挖矿所需的恶意文件。该文件分为两个部分,前一部分为base64编码后的反射注入进程开源PowerShell脚本Invoke-ReflectivePEInjection.ps1,后半部分为压缩的XMR挖矿程序。当该文件下载完成之后,脚本便会运行Invoke-ReflectivePEInjection.ps1将解压后的挖矿程序注入进PowerShell进程。相关代码如下图所示:
m6.bin
解压恶意程序并将其注入PowerShell进程相关代码如下图所示:
解压恶意程序并将其注入PowerShell
挖矿程序为XMRig开源项目所编译完成,矿池地址为:lplp.ackng.com:443,相关信息如下图所示:
挖矿程序运行信息
二、附录
样本hash
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)