Lucifer是一种针对Windows挖矿和DDOS的混合恶意软件。研究人员在今年6月发布了一份报告,详细介绍了其攻击活动。最近,新的证据表明这种攻击始于2018年。最初是针对Windows系统的自我传播矿工,现已发展成为针对Linux和物联网设备的多平台、多架构恶意软件。从ThreatCloud收集的数据显示,美国、爱尔兰、荷兰、土耳其和印度的超过25个组织最近受到攻击。攻击来自各个领域,包括制造业、法律、保险和银行业。当今物联网设备的主要攻击媒介是利用名为CVE-2018-10561的漏洞,该漏洞针对未打补丁的DasanGPON路由器设备。该恶意软件具有多种功能:多种类型的DDOS攻击、可下载和执行文件的全命令和控制操作、远程命令执行、使用Xmrig挖矿软件进行门罗币挖矿以及通过各种利用技术自我传播的Windows系统。攻击活动简介攻击源自被攻击者破坏的服务器。图1显示感染链是多平台的,针对Windows、Linux和IoT设备。受感染的Windows计算机然后继续在网络内部和远程目标传播恶意软件。在更新的感染链恶意软件中揭示了一个有趣的字符串序列:在最近的Windows、Linux、ARM和MIPS样本中发现的字符串对这些字符串的进一步研究使我们开展了两项活动,一项是趋势科技发现,他们称之为BlackSquid,以及另一个是腾讯发现的,叫做Rudeminer/Spreadadminer。也可以通过追踪财务记录(在我们的例子中,使用的XMR钱包)将这两个活动与Lucifer活动联系起来。三个活动被追踪到所使用的XMR钱包。当我们使用图3中的第一个钱包探索Blacksquid样本时,我们发现了两个几乎相同的样本(样本1和样本2)。两个样本的互斥模式相同:BlacksquidXMRstratum+tcp://[Minerpooladdress]:[port]第一个样本使用图3中的第一个钱包,第二个样本使用第二个钱包。第二个钱包也用于其他各种Lucifer样本(样本3),使我们能够将这两个恶意软件关联起来。将Blacksquid攻击家族与Spreadminer比较研究关联起来确实很复杂,因为腾讯提供的示例(示例1)使用了没有XMR钱包的自定义XMR矿池。但是,我们能够找到使用钱包1的几乎相同的样本(样本2)。Blacksquid活动中使用的XMR钱包提供了2018年底的样本,表明攻击者更早开始了他们的行动。基于这些发现,我们创建了以下时间线:该活动中变体的时间线此恶意软件的Linux变体中可以找到另一个有趣的字符串:Linux版本的恶意软件中使用的字符串我们认为该字符串是对恶意软件的响应腾讯发布的名为“Rude”。这些发现表明,该活动背后的攻击者已经活跃了一年半以上,并且该恶意软件一直在进化和升级其代码库。从公开的数据来看,我们估计Lucifer攻击给攻击者带来了18.643456520496XMR,大约是1769美元。由于旧的XMR钱包现已被封锁,因此无法知道Blacksquid和Spreadminer攻击家族赚了多少钱。DDOS功能的增加表明攻击者正在寻找赚钱的方法来扩大他们的恶意软件。Windows的自我传播功能基于过时且公开可用的漏洞利用和暴力攻击。随着时间的推移,Windows本身在功能上只发生了微小的变化,这可能表明攻击者已经成功地使用了这些方法。新活动的第一批样本已于2020年2月上传到VirusTotal网站,随后几个月上传了更多样本,目前仍在检测新样本。迄今为止第一个也是唯一一个ARM示例于5月10日上传到VirusTotal。VirusTotal中的ARM示例列表目前尚未确定此示例是否是恶意的,ARM示例仅具有DDOS功能并且与Linux示例具有不同的行为,这可能是由于物联网设备造成的限制。C2服务器有一个可公开访问的HFS服务器,让我们见证了攻击的演变过程:最新的二进制样本已经上传到C2HFS公共服务器可以看到,该活动在不断发展并发布新版本。上传的“office.exe”、“sb360..exe”可执行文件是gh0stRAT的变种,表明攻击者想在受感染的计算机上扩展恶意软件的功能。Linux、ARM、MIPS版本的调试符号未被删除,这使我们能够将所有平台的新版本代码库与2009年名为“StormAttackToolVIP2009”的中国DDoS程序相关联,人们可以在以下位置找到该程序该程序的可下载版本可以在各种开源中文网站上找到。Storm攻击工具面板图片所有最新版本的DDoS攻击都源自该软件,其余恶意软件经过大量修改以实现其他功能,例如完整的C&C操作、Monero挖矿、Windows系统中的自我传播以及Linux和Ports对于物联网设备。在本文的其余部分,我们将深入研究Linux、ARM和MIPS示例。Linuxx86/x64Linux版本与Windows版本的不同之处在于它不是自扩展的。此外,Linux示例不会删除调试信息。成功利用后,恶意软件使用daemon命令将自身与终端分离,并在后台作为守护进程运行。恶意软件检查是否可以设置绑定到端口,端口号取决于版本,最新版本使用端口20580。如果恶意软件无法设置套接字或绑定到它,则退出。绑定后,并没有调用listen函数真正开始监听端口。套接字的目的不是进行通信,而是强制执行以下行为:一次只能运行一个进程的恶意软件,因为不能有多个套接字使用同一端口。恶意软件为以下信号设置了三个信号处理函数:SIGPIPE:对被攻击的管道执行写操作;SIGTERM:请求程序终止;SIGINT:请求程序正常关闭;恶意软件执行以下命令:/sbin/servicecrondstart;chkconfig--level35crondon;命令的第一部分启动crond服务,第二部分将crond服务设置为在以下运行级别上运行:多用户模式,仅控制台登录。具有显示管理器和控制台登录(X11)的多用户模式。chkconfig命令失败,因为它在-level35之前缺少另一个连字符。这两个命令仅适用于基于CentOS/RHEL的发行版。恶意软件的下一个目标是增加文件描述符限制,UNIX的定义特征之一是“一切都是文件”,套接字也是如此。当恶意软件发起DDoS攻击时,它需要打开尽可能多的套接字以向目标发送尽可能多的流量。这可以通过增加操作系统设置中的文件描述符限制来实现,为了更改文件描述符限制,恶意软件首先检查用户ID。当程序以root身份运行时,其用户ID为零。如果恶意软件以用户ID0(root)运行,则:执行命令:ulimit-HSn65536;在文件/etc/sysctl.conf中添加行“fs.file-maxto6553560”;将这些行添加到文件/etc/security/limits.conf:softnoproc65535hardnoproc65535softnofile65535hardnofile65535如果它不是以用户ID零运行,它将按以下顺序发出两个命令:ulimit-HSn4096ulimit-HSn10240恶意软件首先以较小的限制运行它,然后withalargerlimit两个命令,如果增加失败,则较小的limit是回退选项。只有当用户ID为0时,恶意软件才会持久存在:如果文件/etc/rc.local存在,恶意软件会在该文件中写入或附加以下行:MALWARE_PATHstart恶意软件会在文件/etc/crontab中写入以下内容line:*/1****MALWARE_PATH所有正常的系统服务启动后,会执行/etc/rc.local脚本。添加到crontab的这行代码导致Linux每分钟执行一次恶意软件。恶意软件配置其持久性后,它会解密以下五个字符串:C&C地址:qf2020[.]top;Xmr矿工的参数列表:-ostratum+tcp://pool.supportxmr.com:3333-u4AfAd5hsdMWbuNyGbFJVZjcMLeKHvrXnT155DWh8qGkYRPbVGKBT9q1Z5gcFXqmwUuh2Kh6t2sTnHXPysYrGf2m9KpBwzX;Xmr挖矿程序的参数列表:-ostratum+tcp://gulf.moneroocean.stream:10001-u4AfAd5hsdMWbuNyGbFJVZjcMLeKHvrXnT155DWh8qGkYRPbVGKBT9q1Z5gcFXqmwUuh2Kh6t2sTnHXPysYrGf2m9KqBwz9e-pX-acn/r;xmr挖矿程序的位置:/tmp/spreadtop;Xmr矿机地址:122[.]112[.]179[.]189:50208/X64;初始化后,恶意软件通过启动以下五个线程来启动主要逻辑:挖矿线程:它首先下载Miner程序并将其保存到/tmp/spread。这使它能够确保挖矿程序正在运行,并在需要时停止或重新启动挖矿过程。进程阻塞线程;Thread尝试查找并阻止以下列字符串之一开头的进程:Linux-;,CPU使用率和网络使用率报告被发送到C&C服务器;报告消息示例线程设置后,恶意软件开始无限循环并保持与C&C的持续连接。C&C命令模式:LinuxARM/MIPSARM/MIPS版本是Linux的简单版本,它们只包含DDoS功能。初始化和linux版本差不多,都是用daemon做隔离,用socket绑定的方式保证只有一个进程在运行。该恶意软件仅为SIGPIPE设置一个信号处理程序,如果它以root身份运行,它会将文件描述符限制增加到20480,并将其路径写入/etc/rc.local文件以实现持久性。如果不以root身份运行,它将文件描述符限制增加到4096。然后恶意软件解密C&C地址:tyz2020[.]top。初始化后,恶意软件通过启动以下线程之一来启动主要逻辑:看门狗通信线程;首先检查是否存在以下设备:/dev/watchdog或/dev/misc/watchdog。如果其中之一存在,则使用ioctlWDIOC_SETTIMEOUT会将Watchdog超时增加到15秒。然后线程开始无限循环,每10秒向看门狗发送ioctlWDIOC_KEEPALIVE。看门狗的作用是保证系统的稳定性。如果出现系统问题,用户空间看门狗会停止写入看门狗设备,而内核看门狗会重新启动设备。通过使用这个线程,恶意软件确保监控设备始终将数据写入看门狗设备。这可以防止设备重新启动。如前所述,在建立线程后,恶意软件开始无限循环并保持与C&C的持续连接。C&C命令模式:模式4对目标发起DDOS攻击;模式5停止当前的DDOS攻击或重新启用未来的攻击;摘要正如我们在本文中所介绍的那样,该活动正在向跨平台发展,并增加了获取的新方式来获利和传播自己。即使攻击者使用已知的漏洞来感染计算机并自我传播,也并非所有系统都始终得到更新。当组织的密码策略薄弱时,暴力攻击可能会很有效。在撰写本文时,这些是攻击者在所有架构和平台上使用的功能:我们相信该活动将继续发展,包括修改Windows中当前的自扩展方法和功能并将它们添加到Linux、ARM和在MIPS版本中。本文翻译自:https://research.checkpoint.com/2020/rudeminer-blacksquid-and-lucifer-walk-into-a-bar/
