近年来,非法使用计算资源挖掘加密货币的加密货币劫持活动变得越来越猖獗,攻击者围绕一整套攻击工具、基础设施和服务发展起了网络犯罪经济,通过瞄准包括物联网设备在内的众多易受攻击的系统来获取收入。微软研究人员最近发现了一种攻击利用自定义和开源的工具,针对面向互联网的基于Linux的系统和物联网设备下手。这种攻击使用OpenSSH的补丁版本来控制受影响的设备,并安装加密货币劫持恶意软件。
攻击背后的威胁分子利用已建立的犯罪基础设施,将一家东南亚金融机构的子域用作指挥和控制(C2)服务器,他们使用后门来部署各种工具和组件,比如rootkit和IRC机器人程序,以窃取设备资源从事挖币活动。后门还在受影响的设备上安装OpenSSH的补丁版本,以便威胁分子劫持SSH凭据,在网络中横向移动,并隐藏恶意SSH连接。这种攻击的复杂性和范围表明攻击者不遗余力地逃避检测。
我们在这篇博文中分析了这次攻击中使用的工具和技术,以及威胁分子为逃避受影响设备端的检测所做的努力。
攻击链
威胁分子通过试图在配置错误的面向互联网的Linux设备上蛮力破解各种凭据来发起攻击。一旦闯入目标设备,他们就禁用shell历史记录,并从远程服务器上检索一个名为openssh-8.0p1.tgz的受攻击OpenSSH归档文件。该归档文件含有良性的OpenSSH源代码以及几个恶意文件:shell脚本inst.sh、面向多种架构(x86-64、arm4l、arm5l、i568和i686)的后门二进制文件,以及含有shell脚本vars.sh的归档文件(包含用于后门活动的嵌入式文件)。
在安装攻击载荷之后,shell脚本inst.sh运行与目标设备的架构相匹配的后门二进制文件。后门是一个shell脚本,使用名为Shell脚本编译器(shc)的开源项目编译而成,使威胁分子能够执行后续的恶意活动,并在受影响的系统上部署额外的工具。
图1. OpenSSH木马攻击链
自定义后门部署开源rootkit
一旦在设备上运行,shell脚本后门就测试对/proc的访问,以确定该设备是不是蜜罐。如果它不能访问/proc,它确定该设备是蜜罐并退出。否则,它会泄露有关设备的信息,包括其操作系统版本、网络配置以及/etc/passwd和/etc/shadow里面的内容,通过电子邮件将这些信息发送到硬编码地址dotsysadmin[@]protonmail[.]com以及威胁分子作为脚本参数提供的任何电子邮件地址。
在受支持的系统上,后门会下载、编译并安装GitHub上的两个开源rootkit:Diamorphine和Reptile。后门配置Reptile以便通过端口4444连接到C2域rsh.sys-stat[.]download,并隐藏其子进程、文件或其内容。微软研究人员估计,Diamorphine rootkit也被用来隐藏进程。
图2. 文件中出现在__R_TAG之间的任何内容(被定义为“ubiqsys”)都将被隐藏
为了保证对设备的持久SSH访问,后门会在系统上所有用户的authorized_keys配置文件中附加两个公钥。
图3. 为所有用户添加SSH密钥,以实现持久SSH访问
后门通过从Apache、nginx、httpd和系统日志中删除含有作为脚本参数指定的IP和用户名的记录来隐藏活动。此外,它还能够安装一个名为logtamper的开源实用程序,以清除记录有关用户登录会话和系统事件的信息的utmp日志和wtmp日志。
通过垄断设备资源,并阻止和与这些活动相关的硬编码主机和IP列表进行通信,后门消除了可能存在于设备上的其他挖币软件的加密货币挖掘竞争。它通过添加iptables规则以放弃与主机和IP的通信,并配置/etc/hosts使主机解析为本地主机地址来做到这一点。它还通过名称识别挖矿软件进程和文件,终止它们或阻止对它们的访问,并删除authorized_keys中配置的其他攻击者对SSH的访问。
修补OpenSSH源代码
后门使用Linux patch实用程序,为其软件包中所含的OpenSSH源代码打上补丁文件ss.patch(该补丁文件嵌入在vars.sh中)。一旦打上了补丁,后门就会编译并在设备上安装修改后的OpenSSH。
受感染的OpenSSH授予攻击者对设备和设备处理的SSH凭据的持久访问权。补丁安装的钩子(hook)可以拦截设备SSH连接的密码和密钥,无论是作为客户端还是作为服务器。然后将密码和密钥加密存储在磁盘上的一个文件中。此外,补丁支持通过SSH进行root登录,并通过禁止记录威胁分子的SSH会话来隐藏攻击者的存在,这些会话由特殊密码加以区别。
OpenSSH的修改版本模仿合法OpenSSH服务器的外观和行为,因此可能比其他恶意文件对检测工作构成更大的挑战。补丁版本的OpenSSH还可能使威胁分子能够访问和破坏其他设备。这种类型的攻击表明了企图渗入和控制暴露设备的攻击者采用的技术和持久性。
图4. OpenSSH补丁保存入站的SSH密码(ss.patch)
僵尸网络活动
后门运行嵌入在shell脚本vars.sh中的第二道攻击载荷,这是略微修改的ZiggyStarTux版本,而ZiggyStarTux是基于Kaiten恶意软件的开源IRC机器人程序。其功能之一是执行从C2发出的bash命令,并拥有分布式拒绝服务(DDoS)功能。
该后门使用各种机制在受感染的系统上实现ZiggyStarTux持久性。它将ZiggyStarTux二进制文件复制到磁盘上的几个位置,并建立计划任务以便定期调用该二进制文件。此外,它运行一个bash脚本,通过创建和配置服务文件/etc/systemd/system/network-check.service将ZiggyStarTux注册为systemd服务。
图5. 将ZiggyStarTux注册为systemd服务
分析ZiggyStarTux后发现,威胁分子剥离了与日志记录相关的二进制字符串,加入了一个函数,将机器人程序的进程ID写入到/var/run/sys_checker.pid,允许后门读取该文件,并使用已安装的rootkit隐藏该进程ID。
ZiggyStarTux机器人程序通过托管在位于不同地区的各个域和IP上的IRC服务器与C2进行通信。有证据表明,威胁分子利用托管在他们自己的一台服务器上的东南亚金融机构的子域来伪装流量。
为了接收命令,ZiggyStarTux机器人程序连接到IRC服务器,并加入一个名为##..##的由密码保护的隐藏频道。该服务器发出bash命令,指示机器人程序从远程服务器下载并启动两个shell脚本。第一个脚本lscan从服务器检索lssh.tgz。这个脚本归档文件扫描子网中每个IP,以查找使用密码列表的SSH访问。脚本将每次连接活动的结果都记录在日志文件中。
第二个脚本zaz从远程服务器获取带有嵌入式后门的受感染的OpenSSH软件包。使用电子邮件地址[email protected][.]com作为参数进行安装,充当设备信息的额外泄露点。此外,zaz检索名为hive-start.tgz的归档文件,该归档文件含有针对Hiveon OS系统设计的挖矿恶意软件,而Hiveon OS是一种基于Linux的开源操作系统,专为加密货币挖掘而设计。
表明犯罪合作的迹象
微软研究人员追踪到这起活动源于黑客论坛cardingforum[.]cx上一个名为asterzeu的用户,该用户在这个平台上出售多种工具,包括SSH后门。域madagent[.]tm于2015年注册,电子邮件地址与用户名相匹配,并在四年期间里与ZiggyStarTux的C2域之一madagent[.]cc共享多台服务器。此外,研究人员已查明了威胁分子之间shell脚本后门的分布,加强了在恶意软件即服务市场上共享或销售的工具和基础设施网络的证据。
图6. 用户“asterzeu”在黑客论坛出售恶意工具的帖子
缓解和保护指南
微软建议企业采取以下步骤来保护设备和网络免受该威胁:
加固面向互联网的设备,以远离攻击
确保设备的安全配置:将默认密码修改为强密码,并禁止外部访问SSH。
通过更新确保设备安全状况:确保设备已打上了最新的固件和补丁。
使用最低权限访问:使用安全虚拟专用网(VPN)服务进行远程访问,限制对设备的远程访问。
如果可能,请将OpenSSH更新到最新版本。
采用全面的物联网安全解决方案(比如Microsoft Defender for IoT),以便洞察和监测所有物联网和OT设备、进行威胁检测和响应,并与SIEM/SOAR和XDR平台(比如Microsoft Sentinel和Microsoft 365 Defender)进行集成。
使用具有跨域可见性和检测功能的安全解决方案,比如Microsoft 365 Defender,它提供跨端点、身份、电子邮件、应用程序和数据的集成式防御。
攻陷指标
参考及来源:https://www.microsoft.com/en-us/security/blog/2023/06/22/iot-devices-and-linux-based-systems-targeted-by-openssh-trojan-campaign/