奥古斯托二世·雷米拉诺(Augusto II Remillano),小渊清(Kiyoshi Obuchi)和阿文·罗伊·马卡拉格(Arvin Roi Macaraeg)
随着加密货币的普及,网络分子继续开发和调整各种加密货币挖掘恶意软件也就不足为奇了。 的确,这种威胁是趋势科技最常被检测到的恶意软件之一,它影响了广泛的平台和设备。
我们最近遇到了一种影响Linux系统的加密货币挖掘恶意软件(由趋势科技检测为Coinminer.Linux.KORKERDS.AB)。 值得注意的是,它与Rootkit组件(Rootkit.Linux.KORKERDS.AA)捆绑在一起,该组件可从监视工具中隐藏恶意进程的存在。 由于被感染的系统仅会指示性能问题,因此这很难检测。 该恶意软件还能够更新和升级自身及其配置文件。
有趣的是,Unix和类似Unix的操作系统(例如Linux)中的权限模型使以特权方式运行可执行文件变得很棘手。 我们认为这种加密货币挖矿恶意软件的感染媒介是恶意的,第三方/非官方的或受感染的插件(即媒体流软件)。 安装一个程序需要授予其管理权限,并且在应用程序受到威胁的情况下,恶意软件可以使用授予该应用程序的特权来运行。 这不是一个不常见的媒介,因为其他Linux加密货币挖掘恶意软件工具也将其用作切入点。
图1:加密货币挖矿恶意软件的感染链 技术分析
初始文件(Trojan.Linux.DLOADER.THAOOAAK)连接并从Pastebin下载文件。 下载的文件是一个shell脚本,另存为 / bin / httpdns 。 创建计划的任务以运行 / bin / httpdns 每小时。 最后,执行下载的shell脚本。 / bin / httpdns 包含 一个外壳脚本,该脚本连接并下载另一个base64编码的文本文件。 解码后,生成的文件也是由 / bin / httpdns 。
图2:如何下载和保存Shell脚本
一旦执行,外壳程序脚本将首先检查是否存在可用于该恶意软件的更新。 在撰写本文时,该链接包含字符串“ noupdate ”表示当前没有该恶意软件的更新。 如果有可用的更新,则外壳程序脚本将随后调用其 echocron 功能,负责下载和安排将执行恶意软件更新的任务。 图3:显示shell脚本调用方式的代码段 echocron
如果没有可用的更新,则外壳程序脚本将通过首先调用其 downloadrun 功能(如图4所示),该功能可下载实际的恶意加密货币矿工。 尽管它连接的URL扩展名是.jpg,但实际文件是ELF可执行文件; 它另存为 / tmp / kworkerds 。
下载并执行加密货币挖掘恶意软件后,shell脚本随后调用其 init 函数,该函数将下载初始文件的版本。 下载的文件另存为 / usr / sbin / netdns ,然后将其安装为服务。 之后, echocron 函数被调用。 图4:代码片段显示了恶意软件的 downloadrun (顶部),init(中心)和 downloadrunxm (底部)函数
shell脚本将休眠10秒钟,然后检查是否在端口56415上建立了连接。如果没有连接,它将执行其 downloadrunxm 函数。 万一 downloadrun 功能无法正常工作。
图5:恶意软件的主要功能 安装rootkit组件
该恶意软件的更新版本具有 top 功能,该功能负责下载和安装rootkit。 它首先检查受影响的计算机中是否已经安装了rootkit。 如果找不到,它将下载并安装其rootkit,然后将其另存为 / usr / local / lib / libdns .so 。
通常,过程监视工具可以检测到加密货币矿工的存在。 图6显示了 htop (进程查看器)的图像 / Unix系统的监视工具)检测 / tmp / kworkerds 用尽了受影响机器的资源。 如图6所示,即使Rootkit组件检测到受影响系统的CPU使用率达到最大,该进程也会隐藏导致大量资源消耗的进程。 图6: htop 工具可检测矿工的 / tmp / kworkerds (顶部); 以及安装rootkit后该过程如何变得不可见(底部)
加密货币挖矿恶意软件的rootkit组件是公开可用代码的经过稍微修改/重新设计的版本。 安装后,所有名为“ kworkerds ”对于过程监视工具将是不可见的。 这些工具通常通过访问 / proc / {PID} 目录中的文件来工作。 通过阻止访问进程的 / proc / {PID} 目录,用户将无法通过常规方式检测到它。
为此,rootkit挂钩 readdir 和 readdir64 的 libc 库。 流程监视工具通常使用这些API来获取其信息。 通过 preloading (将文件存储在内存中),rootkit将通过替换普通的 readdir 文件,其中包含rootkit自己的 readdir (图7)。 钩上API后,进程监视工具将无法查看名称为“ kworkerds ”。 图7:代码片段显示了rootkit如何从监视工具中隐藏加密货币矿工的过程 最佳做法和趋势科技解决方案
尽管rootkit无法掩盖CPU的高使用率和加密货币矿工建立的连接,但它仅通过编辑几行代码并重新利用现有的代码或工具就提高了其隐身性。 借助该恶意软件的自我更新功能,我们希望其运营商增加更多功能,以使他们的恶意软件更具盈利能力。
挖掘加密货币的恶意软件可能会导致严重的性能问题,尤其是在Linux系统上,因为它们无处不在运行和维护业务流程-从服务器,工作站,应用程序开发框架,数据库到移动设备。 IT和系统管理员应练习安全卫生,其中包括: 通过禁用,删除或最小化未验证的库或存储库来实施最小特权原则。 通过使用经过验证的安全扩展来强化系统,这些扩展可以帮助解决配置错误等问题。 通过访问控制策略来减少系统的攻击面,该策略管理对文件和系统或网络资源的访问; 并定期监视系统和网络的异常活动。 定期修补系统,以防止漏洞被利用; 使用基于服务器的应用程序的更新版本来降低遭受损害的风险; 并且采用了入侵检测和防御系统等安全机制。
用户和企业还可以考虑采用安全解决方案,这些解决方案可以通过跨代混合的威胁防御技术来防御挖矿加密货币的恶意软件。 趋势科技XGen安全性提供了高保真机器学习,可以保护网关和端点并保护物理,虚拟和云工作负载。 借助采用Web / URL过滤,行为分析和自定义沙箱的技术,XGen安全性提供了针对不断变化的,绕过传统控件并利用已知和未知漏洞的威胁的保护。 XGen安全性还为趋势科技的安全解决方案套件提供了支持:混合云安全性,用户保护和网络防御。
妥协指标(IoC):
相关哈希(SHA-256): cdd921a5de5d5fffc51f8c9140afa9d23f3736e591fce3f2a1b959d02ab4275e(Trojan.Linux.DLOADER.THAOOAAK) baf93d22c9d1ae6954942704928aeeacbf55f22c800501abcdbacfbb3b2ddedf(Coinminer.Linux.KORKERDS.AB) 0179fd8449095ac2968d50c23d37f11498cc7b5b66b94c03b7671109f78e5772(Coinminer.Linux.KORKERDS.AA) 023c1094fb0e46d13e4b1f81f1b80354daa0762640cb73b5fdf5d35fcc697960(Rootkit.Linux.KORKERDS.AA)
相关的恶意网址: hxxps:// monero [。] minerxmr [。] ru / 1 / 1535595427x-1404817712 [。] jpg
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时候联系我们修改或删除,多谢