PostgreSQL任意代码执行漏洞预警

0x01 关键词

           PostgreSQL 任意代码执行

0x02 背景:

近日,补天漏洞响应平台监测到网络上出现了PostgreSQL的任意代码执行漏洞以及利用,通过此漏洞可导致服务器权限被获取,对服务器执行任意远程操作,严重危害信息安全。

补天漏洞平台对此次事件进行了技术分析,鉴于具有数据库服务器文件读取权限的攻击者可以利用此漏洞执行任意系统命令,建议相关企业尽快进行安全评估。

0x03 情报通告:

发现时间

20190327

威胁目标

使用PostgreSQL数据库的企业

主要风险

任意代码执行

攻击入口

命令“COPY TO / FROM PROGRAM

使用漏洞

CVE-2019-9193

受影响应用

PostgreSQL 9.3到最新版本11.2

已知影响

可以获得数据库超级用户权限,从而执行任何系统命令

威胁程度

 

0x04 威胁程度:

个人风险评级:低危

企业风险评级:高危

情报风险预警:对公司影响等级为,对基于使用PostgreSQL数据库的企业均有被攻击的风险。

 

 

0x05 情报描述:

PostgreSQL是功能强大的数据库软件,可在所有主要操作系统上运行,包括LinuxWindowsMac OS X等。所公开的漏洞存在于命令“COPY TO / FROM PROGRAM”中,用于导入和导出数据。在“pg_read_server_files”组中的用户执行上述命令之后,可以获得数据库超级用户权限,从而执行任何系统命令。

0x06 漏洞内容:

  PostgreSQL从版本9.3开始,出现了一个新功能‘COPY TO/FROM PROGRAM’,这个新功能允许数据库管理员和'pg_read_server_files'组中的任何用户运行任意操作系统命令。实际上这意味着数据库管理员和数据库用户之间没有权限分离。

111.png

执行攻击前需要一定的权限,黑客可以通过使用凭据访问数据库或者对使用PostgreSQL的应用程序进行SQL注入来获得权限。

漏洞利用过程(执行了whoami):

222.png

我们已经在所有主要操作系统上进行了测试,如果触发了漏洞最终会获得以下权限:

Windows - NT AUTHORITY / NETWORK SERVICE(低优先级)

Linux - postgres(低优先级)

Mac - 安装postgres的用户(通常是管理员)

对于WindowsNETWORK SERVICE用户即使没有任何写权限,但仍然可以使用PowerShell触发反向shell

目前已在Github中监测到相关的攻击模块,黑客可利用该攻击模块批量攻击服务器数据库。

333.png

555.png

444.png




0x07影响面

PostgreSQL 9.3到最新版本11.2全部版本均受到此漏洞影响


  

0x08相关漏洞

CVE-2019-9193


受影响产品及版本:

PostgreSQL    9.3到最新版本11.2

解决方案:

0x09总结以及处置建议

处置建议

目前PostgreSQL官方尚未发出修复补丁,请等待官方补丁或版本升级。

补天临时修补方案:

pg_read_server_files,pg_write_server_files和pg_execute_server_program角色数据库服务端文件的读、写、程序权限,他们都拥有使用copy命令的权限,各企业请及时检查数据库角色,严格分配权限。

666.png

参考资料:

https://meterpreter.org/cve-2019-9193-postgresql-arbitrary-code-execution/

https://github.com/Greenwolf/postgres_cmd_execution_nine_three/

 

0x10附录

个人风险等级与威胁系数

风险等级

威胁系数

高危

70~100

中危

40~70

低危

20~40

 

企业风险等级与威胁系数

风险等级

威胁系数

严重

90~100

高危

70~90

中危

40~70

低危

20~40

无影响

0~20