Palo Alto Networks Unit 42 安全研究员发现了一种基于 的安全研究Linux 平台加密货币挖掘僵尸网络,使用 PostgreSQL 远程代码执行(RCE)攻击数据库的漏洞。
据 Palo Alto Networks Unit 42 研究人员描述,PGMiner 利用 PostgreSQL(也叫 Postgres)中的 CVE-2019-9193 攻击漏洞。这可能是历史上第一个针对 的PostgreSQL 加密货币挖掘僵尸网络。
利用漏洞
Unit研究人员在文章中说:“ 攻击者正在使用PostgreSQL 功能是'copy from program 2013年 9 月 9日9.3 版本介绍”,“早在2018年 ,针对 CVE-2019-9193 漏洞 PostgreSQL 社区有很大的疑问,这个漏洞也被标记为“有争议的”。
他们补充说:“值得注意的是,恶意软件攻击者不仅开始武器确认的漏洞,还开始武器有争议的漏洞”。
该功能允许在本地或远程服务器上运行 Shell 脚本。但只要超级用户或不值得信赖的用户没有远程权限,访问控制和身份验证系统配置正确,就没有风险。另一方面,如果配置不正确,PostgreSQL 也会通过暴力破解或 SQL 注入和其他方式也可以获得超级用户权限PostgreSQL远程代码执行在 以外的服务器上。
攻击细节
研究人员说:“攻击者会扫描 PostgreSQL 使用的端口 5432(0x1538)”,“恶意软件会随机选择网络地址段(如 190.0.0.0、66.0.0.0)开始扫描,试着去 PostgreSQL 远程代码执行在服务器上。同时,默认用户会使用数据库 postgres 内置密码列表,如 1233 和 1q2w3e4r)进行暴力破解,验证数据库的破解”。
该报告称,恶意软件将作为超级用户入侵服务器后使用“copy from program”功能的 CVE-2019-9193 下载并开始挖掘漏洞。采矿程序采用无文件方法,启动后立即删除 PostgreSQL 的 abroxu 表,重建 abroxu 表将 Payload 填充,执行后清除创建表。
恶意软件安装后使用 curl 来执行任务。curl 是一服务器或服务器传输数据的命令行工具。如果受害者的机器上没有 curl,恶意软件将尝试以多种方式下载 curl 二进制文件并添加到执行路径中。
目标 更有趣C&C 地址:94.237.85.89。该地址绑定到域名 newt.keetup.com 上。虽然上级域名 keepup.com 看起来像一个合法的网站,但特定个特定的子域名会把端口 80 重定向到 443,用来承载 newt 的 couchdb。尽管 8080 端口不对外开放,但我们认为它已配置为允许跨域资源共享(CORS)”。
下一步是通过 SOCKS5 代理连接到命令和控制服务器(C&C)。然后,PGMiner 将收集系统信息并发送给 C&C 服务器识别受害者,以确定挖掘程序应下载哪个版本。
解析了 SOCKS5 代理服务器的 IP 地址后,PGMiner 循环遍历文件夹列表,找到创建新文件并更新其属性权限的位置”,“确保 下载Payload 可成功执行失陷服务器”。
最后会删除 等Aegis 等云安全监控工具,以及 Yunjing 之类的 Qcloud 监视器程序。检查虚拟机、终止所有其他 CPU 密集过程和竞争对手的采矿过程。
PGMiner 的 C&C 服务器不断更新。不同的模块分布在不同的 C&C 服务器上的这一切都表明 PGMiner 仍在快速迭代发展。目前攻击目标是 Linux 平台也可以很容易地修改为 Windows 和 macOS 平台。
检查与清除
PostgreSQL 用户可以从不受信任的用户中删除 pg_execute_server_program 权限使攻击者无法利用这个漏洞。此外, 还可以终止tracepath 进程。
参考来源:
ThreatPost
Palo Alto Network