最近我将会把一些服务攻防方面的姿势在这里做一个简单总结。欢迎大家留言讨论。
首先我们先对这类安全问题做一个总体的概括!
一、总概
1.服务判断:
端口扫描:利用服务开启后的目标端口开放判断
组合判断:利用搭建常见组合分析可能开放服务
信息来源:访问端口提示软件版本,应用信息等
强弱特征:如框架 shiro 强特征 rememberMe,SpringBoot 默认页面等
2.对象类别:
对服务进行类别划分,通过服务功能理解,如数据库有帐号密码就有爆破利用方法,也可 以针对服务公开的 CVE 进行漏洞测试及服务常见的错误安全配置导致的未授权访问等。
3.利用方法:
主要集中在 CVE 漏洞,未授权访问,弱口令爆破等方面
二、数据库-Redis-未授权 RCE&CVE
0.首先我们先来了解一下什么是redis?
Redis简单介绍_redis简介-CSDN博客
这里给大家一篇文章大家可以阅读参考一下,总而言之redis是一款目前用的非常多的非关系型数据库,她不像我们的mysql属于关系型数据库!正是因为他用的非常多所以安全问题也是一个经常被人讨论的问题!
1.原理
Redis默认情况下,会绑定
0.0.0.0:6379
,如果没有采用相关的策略,比如添加防火墙规则表面其他非信任来源IP访问等,这样会将Redis服务暴露到公网上,如果在没有设置密码认证 (一般为空)的情况下,会导致任意用户在可以访问目标服务器的情况下未授权访问Redis以及读取Redis的数据
攻击者在未授权访问Redis的情况下,利用Redis自身提供的config命令,可以进行写文件操作,攻击者可以成功将自己的ssh公钥 写入目标服务器的
/root/.ssh
文件夹中authotrized_keys文件中,进而可以只用对应私钥直接使用ssh服务登录目标服务器。
2.条件或者说如何初步判断漏洞是否存在
2.1他的端口暴露在公网上,我们可以直接用fofa等搜索引擎搜索redis的默认端口6379进行相关搜索。
2.2通过redis管理工具尝试连接,如果可以直接连接上去那就很有可能存在未授权访问漏洞,就可以进行尝试利用
3.漏洞复现
我们通过复现一些漏洞来进一步加深对这个漏洞的印象。
3.1VULFOCUS-redis未授权访问(CNVD-2019-21763 )
3.2 redis 未授权访问 (CNVD-2015-07557)
这个漏洞有多种利用姿势:
这里我们只演示用工具打,因为这个工具中包含了所有姿势,实战中碰到的话也是直接上工具就行
4.漏洞危害
- 攻击者无需认证访问到内部数据,可能导致敏感信息泄露,黑客也可以恶意执行
flushall
来清空所有数据 - 攻击者可通过
EVAL
执行lua代码,或通过数据备份功能往磁盘写入后门程序 - 最严重的情况,如果Redis以root身份与运行,黑客可以给root账户写入SSH公钥文件直接通过SSH登录受害服务器
5.漏洞修复
1、 设置本机访问或者指定主机访问redis,修改redis.conf中bind配置
2、 iptables策略仅允许指定的IP来访问Redis服务
3、 设置访问密码 (需要重启redis才能生效), redis.conf 中找到“requirepass”字段添加密码。
4、 最小权限运行redis,修改Redis服务运行账号 (需要重启redis才能生效),以较低权限账号运行Redis服务,并禁用该账号的登录权限。
版权归原作者 小小锐学网安 所有, 如有侵权,请联系我们删除。