Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
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-2019-9745 — Write-up sobre a vulnerabilidade CVE-2019-9745. | Kitploit
Ferramentas/GitHubGitHub/kpn-ciso/cve-2019-9745
Análise de VulnerabilidadesExploraçãoTestes de PenetraçãoPapers e PesquisaAprendizado e Educação
GitHubkpn-ciso/cve-2019-9745

CVE-2019-9745

Write-up sobre a vulnerabilidade CVE-2019-9745.

Ver Repositório
17há 6 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
Autor: Arn Vollebregt

Introdução

A criatividade está no cerne do teste de penetração, o que torna o nosso trabalho interessante. No entanto, uma armadilha é a tendência de 'superdimensionar' cenários de ataque e focar apenas em bugs (condições de erro). Falhas (comportamento não intencional) podem, no entanto, estar presentes com resultados igualmente devastadores. Este artigo fornece um estudo de caso para demonstrar a importância dos testes de penetração para tais falhas. Simultaneamente, defende a adoção de um processo de SDLC (Ciclo de Vida de Desenvolvimento Seguro).

O artigo faz parte da RD (divulgação responsável) da vulnerabilidade CVE-2019-9745 e foi escrito em estreita cooperação com o fornecedor CloudCTI. Apresenta uma visão geral de alto nível da vulnerabilidade antes de aprofundar os detalhes técnicos. Após demonstrar a exploração da vulnerabilidade, é fornecida uma conclusão com lições aprendidas.

Resumo

A ferramenta CloudCTI Recognition Configuration Tool que examinamos durante um dos nossos testes de penetração é utilizada para recuperar informações de software de CRM (Gestão de Relacionamento com o Cliente). Isso fornece ao pessoal do centro de atendimento informações relevantes durante chamadas de clientes. Foram identificados vários problemas que podem ser encadeados para comprometer totalmente o sistema local. O fornecedor gostaria de salientar que isso não afeta sistemas de outros clientes nem os seus próprios.

Tal como acontece com muitas vulnerabilidades de segurança, um problema importante reside na validação de dados provenientes de fora da sua esfera de influência. Igualmente importante é a perceção de que os sistemas e o software operam em ambientes hostis. O tempo e a experiência ensinaram-nos que a escuta é uma ameaça na internet. O mesmo, no entanto, é válido para outros canais de comunicação, até mesmo dentro do próprio sistema. Isso foi fundamental para descobrir a vulnerabilidade.

Uma análise de causa raiz dos problemas encontrados mostra a importância de práticas como a TM (modelação de ameaças). A TM ajuda a identificar riscos nas fases iniciais de conceção e desenvolvimento. Isso pode levar à mitigação de riscos inaceitáveis ou à reformulação/reimplementação. Embora o leitor seja incentivado a realizar a sua própria análise, são fornecidas descrições das contramedidas do fornecedor para referência.

A vulnerabilidade

O software do fornecedor consiste em quatro aplicações que trabalham em conjunto. A primeira aplicação é a interface gráfica do utilizador (GUI). Esta permite ao utilizador iniciar a recuperação de informações de vários pacotes de software de CRM:

Figura 01

A GUI delega a recuperação de informações a um serviço (a segunda aplicação) através do envio de uma mensagem. As primeiras questões de segurança manifestam-se aqui: não só qualquer pessoa no sistema pode observar as mensagens entre a GUI e o serviço para determinar o seu formato e conteúdo (afetando a confidencialidade), como também pode enviar as suas próprias mensagens (afetando a autorização). Além disso, a origem das mensagens para o serviço não é verificada (afetando o não repúdio). Na terminologia de modelação de ameaças STRIDE, isto significa que o sistema está sujeito a divulgação de informações e adulteração. De facto, as informações obtidas dessas mensagens foram fundamentais para descobrir a vulnerabilidade.

A terceira aplicação é um dos muitos importadores especializados. O serviço transfere a recuperação de informações de um pacote de CRM específico para um importador específico. A mensagem enviada pela GUI contém instruções específicas para este importador. Observando o importador de CRM Exquise, verifica-se que a recuperação de informações é ainda delegada a uma aplicação externa (a quarta). Examinando a lógica interna do importador, descobriu-se que a aplicação externa podia ser especificada na mensagem entre a GUI e o serviço. O problema que aqui se manifesta é que a aplicação externa é executada sem verificar a sua identidade (afetando o não repúdio).

Ao encadear estes problemas, pudemos intercetar mensagens para determinar o seu formato e enviar uma mensagem na qual especificamos a nossa própria aplicação externa maliciosa. Essa aplicação externa é executada com os mesmos privilégios do importador/serviço. Como esses privilégios são os mais altos possíveis dentro do sistema, é alcançado o controlo total e o sistema fica comprometido.

Estes problemas são mitigados pelo fornecedor através da encriptação das mensagens (mitigando o problema de confidencialidade) com recurso a segredos partilhados únicos (mitigando o problema de autorização) que só podem ser acedidos pelos utilizadores do sistema autenticados que os possuem (mitigando o primeiro problema de não repúdio). Por fim, a aplicação externa é criptograficamente assinada (mitigando o segundo problema de não repúdio). A combinação destas medidas mitiga com sucesso a vulnerabilidade.

Detalhes técnicos

Quando a aplicação GUI CloudCTI Recognition Configuration Tool (C:\Program Files (x86)\CloudCTI Recognition Configuration Tool\CloudCTI Recognition Configuration Tool.exe) é instalada, é examinada com o Process Explorer. Isto revela que um serviço complementar (Recognition Update Client Service) é instalado e executado com direitos de NT AUTHORITY\SYSTEM:

Figura 02

Ao investigar o executável do serviço (C:\Program Files (x86)\CloudCTI Recognition Configuration Tool\RUCS\RecognitionUpdateClientServiceService.exe), torna-se evidente que foi desenvolvido utilizando a linguagem de programação .NET. Este pode ser descompilado com o dnSpy para obter uma visão sobre a sua lógica interna, que será detalhada abaixo.

RUCS2017Service (o namespace interno .NET no executável do serviço) acaba por ser um invólucro fino à volta do namespace RUCS2017 (C:\Program Files (x86)\CloudCTI Recognition Configuration Tool\RUCS\RUCS2017.dll). Este define um servidor de pipe nomeado chamado RUCS20151029 em RUCS2017.dll:RUCS2017.TRUCS2017:902:

Baixar ferramenta