首页 > docker安装redis提示没有日记写入权限_对 Redis 在 Windows 下的利用方式思考

docker安装redis提示没有日记写入权限_对 Redis 在 Windows 下的利用方式思考

我写的文章永远都是那么的又臭又长又菜。

前言

上次写了一篇有关 SSRFRedis 主从的文章,居然被人喷了!!!说我根本就没有复现过张嘴就来???我没有理会,然后又有朋友在群问,RedisWindows 环境下没有 WEB 如何利用?我说可以往目标尝试写 DLL 做劫持或者写 LNK 来欺骗管理员等方法,迂回的打。但 TMD 我又被喷了!说 Redis 写文件会有一些版本信息什么的一堆脏数据,根本无法写出正常  DLLEXELNK 等文件!我说,可以参照 Github 上面的 Redis 主从 RCE 脚本,改改就能写出干净的文件。就因为没有现成的工具,然后就是不听 ?就是要喷!TMD 的真是“天不生你键盘侠,喷道万古如长夜。” 佩服佩服!不过也挺感谢这些喷子的,偶尔遇到几个喷子还能刺激我做些事情,写写博客和工具,这一番刺激又给伸手党贡献了一个脚本,当然我也希望能抛砖引玉,希望有大佬能再多发几个 WindowsRedis 的利用思路。

正文

首先我们知道,Redis 官方是没有提供 Windows 版的安装包的,所以目前为止基本上所有的更新和版本迭代都是 Linux 的,也就是说现在官方的 LinuxRedis  已经更新到了 6.X 的版本,而由微软开放技术小组所开发和维护的 Windwos 下使用的 Redis 还是 3.X 的版本。所以什么想在 Windows 下加载 DLL 打主从,估计还是没戏的。

目前网上公开的对 Windows 下的 redis 的利用方法:

  1. WEB 目录写马

  2. 写启动项

这两项方法对写出的文件都没有严格的内容要求,即使有脏数据也不会影响最终的效果。

本文公开部分其他潜在的攻击方法:

  1. 系统 DLL 劫持 (目标重启或注销)

  2. 针对特定软件的 DLL 劫持(目标一次点击)

  3. 覆写目标的快捷方式 (目标一次点击)

  4. 覆写特定软件的配置文件达到提权目的 (目标无需点击或一次点击)

  5. 覆写 sethc.exe 等文件 (攻击方一次触发)

这些方法由于写出的是二进制或者不允许有杂质的文件所以对写出的文件有着严格的内容要求。

系统 DLL 劫持

这里以劫持 linkinfo.dll 为例

我们知道 explorer.exe 进程会在每次启动时自动加载 linkinfo.dll,所以我们可以利用它来控制目标主机,我们只需要把  linkinfo.dll 写入到 C:Windows 目录下即可

95d5da791e979adc9d04121d38569b2a.png

这里使用 msf 生成一个  dll  弹个 clac.exe 然后写入目标即可

581db30e9fcc14eb847db270f0e269db.png

当  explorer.exe  被重新启动时 DLL 就会被执行 (应该是 DLL 没搞好,崩溃了,执行完以后没进入桌面,建议使用前本地调试)

82e8e6f4934fc85c8c5506d93d642e0e.png

针对特定软件的 DLL 劫持

其实没什么好写的,只是提供个思路,这里以 notepad++ 为例因为遇到的不会太多 ( 奸笑)

3db38dbdbc74133abd0c5287b4a84586.png

覆写 DLL 后当管理员打开 Notepad++ 就会触发我们的恶意 DLL

005f8378850b4994bb9c16b0b9fbaccb.png

动图:

78895b62acfebfc68d595b21248300cc.gif

快捷方式覆写

使用 redis 覆写目标桌面的快捷键达到上线效果。

覆写前

fa92c04c5f0b330c4437076837b16df7.png

覆写后:

5afdc87c7a8f7d388dd2e625ee995af4.png

动图:

7443060b649eac060a0766bbfbe71aa8.gif

覆写特定软件的配置文件达到提权目的

这里以宝塔为例。仅修改 title 让前端展示发生变化(可修改其他文件使目标上线)

宝塔的配置文件默认在 BtSoftpanelconfig 文件夹中,尝试使用 Redis 覆写 config.json 修改它的 title 配置文件是 json 的格式,所以覆写的时候最好不要有其他垃圾数据,此脚本刚好解决这个问题 :)

覆写前

ecc65f47a128063047606a2ed9ca52ed.png

覆写后

e8a6689817261bd19014bd0413e2e265.png

还可以覆写宝塔的其他文件使目标上线,大家可以自己摸索一下。:D

动图:

2a5ac4aab97a19d17966cfbe3010c1d9.gif

高权限下可覆写 sethc.exe 等可单向触发的文件

我这使用火绒剑监控 redis 的进程,然后用 Kaliredis 写文件,看是否有写的操作和是否写入成功。

没有打之前 Redis 的服务端没有并没有修改过任何资源, sethc.exe 的创建日期是 2010/11/21

2628882fb7c82081f6daa37a3ec64933.png

打完以后可以看到 redis 的服务端确实有做修改的操作,但是并没有成功而 sethc.exe 也并没有被修改

3d2b3b130edb747b66efd9b346728a4b.png

当我以为是没有权限写 C:windowssystem32 目录的时候,我发现并不是,我可以往这个目录下写入任意不存在的文件文件,但是却不能覆写已存在的文件,别的路径却可以,看来是有保护机制。(终究还是权限的原因)

尝试往 C:windowssystem32 目录下写入 sethc.exe.exe 测试目录是否可写,发现是可以轻易写入的

51dc7b80e3bb599f7fc3b3ddb4ae29d6.png

但当 Redis 是以 SYSTEM 权限启动时就可以覆写 sethc 实施 sethc  后门攻击(写文章时先打了一遍,导致sethc 的图标变成了 cmd 图标的了... 但其实是正常的和上面的时间大小都是一致的)

打之前:

35e17b572de6b7824ca54208a7f7c4fd.png

打之后,可以看到只要权限足够 redis 也是可以通过覆写目标 sethc.exe 达到控制目标服务器的效果

ec4ce99fba345e8d193d37ebe97b1ffb.png

动图:

dd4cebae5a0ae036421282cf15aefa56.gif

脚本地址请点查看原文或到我的 Github 获取。 高清图片和 GIF 请到我的博客查看。

更多相关:

  • 本文来自 运维人生 ,作者:fly是个稻草人链接:http://www.ywadmin.com/?id=76误删除linux系统文件了?不用急,本文将给你一个恢复linux文件的方法,让你轻松应对运维中的各风险问题。方法总比问题多~说在前面的话针对日常维护操作,难免会出现文件误删除的操作。大家熟知linux文件系统不同win有回收...

  • 原文来自SecIN社区—作者:WiHat0x00 什么是WebShell渗透测试工作的一个阶段性目标就是获取目标服务器的操作控制权限,于是WebShell便应运而生。Webshell中的WEB就是web服务,shell就是管理攻击者与操作系统之间的交互。Webshell被称为攻击者通过Web服务器端口对Web服务器有一定的操作权限,而...

  • 断电时文件系统发生了什么?硬盘又发生了什么?下一次开机时写到一半的文件在系统层面还在吗?在底层还在吗?更进一步的, 文件系统如何保证事务性, 会不会存在某种极端情况导致例如最后几个bit还没写完, 文件系统却认为它成功了的情况?回答不限任何文件系统,谢谢!下面是「北极」的回复分享断电的一瞬间,很多事情是无法确定的:1. 你无法确定...

  • 接到项目需求。需要搭建一个页面进行交互,慢慢来b (2).jpg使用python django框架进行页面的搭建在项目文件下打开窗口,输入命令;django-admin startproject helloword#在文件helloword/helloword/创建view.py在view.py文件中输入以代码from django....

  • 常见的错误集合解决方案(一)No.1提示错误'Microsoft.VC90.CRT,version="9.0.21022.8"把Microsoft.NET Framework 3.5.1下面的全部勾选上。No.2解决Qt Designer设计的图标但是VS生成不显示问题描述:在Qt designer中为菜单栏和工具栏设计的图标,但是...

  • 点云PCL免费知识星球,点云论文速读。 标题:MoreFusion: Multi-object Reasoning for 6D Pose Estimation from Volumetric Fusion 作者:Kentaro Wada, Edgar Sucar, Stephen James 星球ID:wl_华科_点云处理_目...

  • (1)跟踪器的建立:对新产生的目标,且宽(高)大于5时,建立跟踪器 (2)Kalman滤波:用Kalman滤波器对目标当前的方位、大小做出预测   目标特征矢量采用(x, y, dx, dy, w, h)六维矢量,观测矢量为(x, y, w, h)    系统状态转移矩阵:                      1, 0, 0, ...