来自 Palo Alto Networks 公司旗下 Unit 42 威胁研究团队的安全研究员 Claud Xiao,Cong Zheng 和 Xingyu Jin 在本周一 (9 月 17 日) 发布的一篇博文中指出, 他们发现了一个针对 Linux 和 Windows 服务器的新型恶意软件家族, 并将其命名为 "Xbash".
根据 Unit 42 研究人员的说法, Xbash 是一个僵尸网络和勒索软件的结合体, 具有自我传播的功能, 类似于 WannaCry 或 Petya/NotPetya 所展现的蠕虫特性. 另外, 它还具有一些尚未启用的功能, 这些功能在启用之后将允许 Xbash 能够在目标网络中快速传播, 而这一点同样类似于 WannaCry 或 Petya/NotPetya.
值得注意的是, 与其说 Xbash 是一款勒索软件, 倒不如说它是一个数据擦除器. 在这一点上, 它与 NotPetya 非常类似. 也就是说, 它会对受害者数据造成永久性的破坏, 即使是受害者支付赎金, 这些数据也不可能得到恢复.
由 Iron 黑客组织开发, 利用已知漏洞感染服务器
Unit 42 的研究人员表示, 他们在经过分析后发现, Xbash 是由长期以来一直保持活跃的黑客组织 Iron(又名 Rocke)在今年开发的. 根据恶意代码主模块的名称, 他们将该恶意软件家族命名为了 "Xbash".
在此之前, Iron 组织曾开发并传播了大量的加密货币矿工和加密货币交易劫持木马, 主要针对的是 Windows, 只有少数针对 Linux. 因此, Xbash 可以说是该组织一个升级后的工具, 目标是找出那些使用弱密码或存在漏洞的服务器, 清空受害者的 MySQL,PostgreSQL 和 MongoDB 数据库, 并要求受害者以比特币支付赎金.
根据 Unit 42 研究人员的说法, Xbash 主要利用了 Hadoop(一个由 Apache 基金会所开发的分布式系统基础架构),Redis(一个开源的使用 ANSI C 语言编写, 支持网络, 可基于内存亦可持久化的日志型, Key-Value 数据库, 并提供多种语言的 API)和 ActiveMQ(Apache 出品的开源消息总线)中的三个已知漏洞来实现自我传播或感染目标服务器. 这包括:
Hadoop YARN ResourceManager 无需身份验证的命令执行漏洞, 于 2016 年 10 月首次被公开披露, 未分配 CVE 编号.
Redis 任意文件写入和远程命令执行漏洞, 于 2015 年 10 月首次被公开披露, 未分配 CVE 编号.
ActiveMQ 任意文件写入漏洞, CVE-2016-3088.
采用 Python 编写, 目前已有四种不同版本被发现
到目前为止, Unit 42 的研究人员表示他们已经发现了四种不同版本的 Xbash. 从这些版本之间代码和时间戳的差异可以看出, 该勒索软件家族仍在被积极地开发.
Xbash 是采用 Python 编写的, 并且通过 PyInstaller 转换成 PE 可执行文件. 根据 Unit 42 研究人员的说法, 这种技术也曾被其他恶意软件开发者所使用, 它具有如下几个优点:
开发更快, 更容易: 使用 Python 开发恶意软件比使用 C,C ++ 或 Go 更快, 更容易, 从而使得恶意软件能够在短时间内快速发展;
安装简单且可靠: 通过 PyInstaller 创建的可执行文件, 其中包含了所有必需的依赖项, 包括 Python 运行时, 库, 用户库和第三方库. 鉴于 Linux 安装和环境的多样性, 攻击者往往无法确定基于 Python 的恶意软件是否能够成功安装和运行. 但通过 PyInstaller 转换成 PE 可执行文件之后, 攻击者就可以确保恶意软件能够成功地安装在目标系统上.
反检测功能: PyInstaller 的代码编译, 代码压缩 / 转换以及加密功能, 有助于恶意软件绕过防病毒 / 反恶意软件引擎或静态分析的检测. 在 Claud Xiao,Cong Zheng 和 Xingyu Jin 编写他们的博文时, Xbash 在 VirusTotal 上的检出率仅为 1/57, 如下图所示.
跨平台恶意软件: PyInstaller 可以将同一段 Python 代码转换成 Windows,Apple macOS 和 Linux 的二进制文件, 这使恶意软件真正能够实现跨平台.
通过扫描 TCP 或 UDP 端口寻找目标, 已收获六千美元
根据 Unit 42 研究人员的说法, Xbash 会基于域名和 IP 地址来进行扫描. 如果扫描的是 IP 地址, 那么它将尝试扫描众多 TCP 或 UDP 端口, 以下是其中一部分:
HTTP: 80, 8080, 8888, 8000, 8001, 8088
VNC: 5900, 5901, 5902, 5903
- MySQL: 3306
- Memcached: 11211
MySQL/MariaDB: 3309, 3308,3360 3306, 3307, 9806, 1433
- FTP: 21
- Telnet: 23, 2323
- PostgreSQL: 5432
- Redis: 6379, 2379
- Elasticsearch: 9200
- MongoDB: 27017
- RDP: 3389
- UPnP/SSDP: 1900
- NTP: 123
- DNS: 53
- SNMP: 161
- LDAP: 389
- Rexec: 512
- Rlogin: 513
- Rsh: 514
- Rsync: 873
- Oracle database: 1521
- CouchDB: 5984
对于某些服务, 如 VNC,Rsync,MySQL,MariaDB,Memcached,PostgreSQL,MongoDB 和 phpMyAdmin, 如果相关端口是打开的, 那么 Xbash 将使用内置的弱用户名 / 密码字典来尝试登录这些服务, 如下图所示. 值得注意的是, 字典还包含 Telnet,FTP 和 Redis 等服务的通用或默认密码.
如果 Xbash 成功登录到了包括 MySQL,MongoDB 和 PostgreSQL 在内的服务, 它将清空服务器中几乎所有现有数据库(除了存储用户登录信息的一些数据库), 然后创建一个名为 "PLEASE_READ_ME_XYZ" 的新数据库, 并插入一个名为 "WARNING" 的新表, 用于显示勒索信息, 如下图所示:
从勒索信息来看, 攻击者的赎金需求金额为 0.02 枚比特币, 并威胁受害者 "如果我们没有收到你的付款, 我们将泄露你的数据库". 自 2018 年 5 月以来, 攻击者的钱包有 48 笔交易, 总收入约为 0.964 枚比特币(约价值 6000 美元).
总结和安全建议
Xbash 是一种相对较新且较复杂的恶意软件, 也是一个活跃的网络犯罪组织的最新作品. 它目前能够针对 Linux 和 Windows 系统实施攻击, 但鉴于 PyInstaller 的使用, 我们并不排除未来会有针对其他系统的版本出现.
想要避免或减轻 Xbash 所带来的危害, 我们可以采取以下措施:
使用相对复杂的密码, 并经常更新(切记不要使用默认密码);
及时了解系统安全更新;
在操作系统上实施端点保护;
严格限制某些服务的联网访问权限;
对关键数据进行备份.
来源: http://server.51cto.com/sOS-584125.htm