Mais de 1.000 instâncias corporativas do ServiceNow foram identificadas como mal configuradas, expondo artigos da Base de Conhecimento (KB) que contêm informações sensíveis para usuários externos e potenciais atacantes. Entre os dados expostos, estão informações pessoais identificáveis (PII), detalhes internos do sistema, credenciais de usuários, tokens de acesso para sistemas de produção em operação, e outras informações cruciais dependendo do tópico da Base de Conhecimento.
Aaron Costello, chefe de pesquisa em segurança SaaS da AppOmni, descobriu que essas instâncias do ServiceNow estão expondo inadvertidamente informações corporativas devido a problemas de configuração. Apesar das atualizações da ServiceNow em 2023, que visavam melhorar as Listas de Controle de Acesso (ACLs), essas mudanças não foram aplicadas às KBs.
Exposição dos Artigos de KB
O ServiceNow é uma plataforma baseada em nuvem usada por organizações para gerenciar fluxos de trabalho digitais em diversos departamentos e processos. Inclui gestão de serviços de TI, operações de TI, tarefas de RH, atendimento ao cliente, integração de ferramentas de segurança e uma base de conhecimento. Esta última funciona como um repositório de artigos, onde as organizações compartilham guias, FAQs e outros procedimentos internos para usuários autorizados.
No entanto, muitos desses artigos não devem ser visíveis publicamente e podem conter informações sensíveis. Após um relatório de 2023 de Costello sobre a exposição de dados no ServiceNow, a empresa lançou uma atualização de segurança que introduziu novas ACLs para impedir o acesso não autenticado aos dados dos clientes. No entanto, a AppOmni observou que a maioria das KBs do ServiceNow utiliza o sistema de permissões User Criteria em vez de ACLs, tornando a atualização menos eficaz. Além disso, alguns widgets voltados para o público que expõem informações dos clientes não receberam a atualização de ACL de 2023 e continuam permitindo acesso não autenticado.
Exploração por Atacantes
Os artigos da KB expostos são considerados sensíveis pelas organizações afetadas, incluindo PII, detalhes internos do sistema e credenciais / tokens ativos para sistemas de produção. Usando ferramentas como o Burp Suite, um ator malicioso pode enviar um grande número de solicitações HTTP para um endpoint vulnerável para forçar a identificação do número do artigo da KB. Os IDs dos artigos da KB são incrementais no formato KBXXXXXXX, permitindo que um atacante faça um ataque de brute-force na instância do ServiceNow aumentando o número do KB até encontrar um exposto inadvertidamente.
A AppOmni desenvolveu um ataque de prova de conceito para ilustrar como um ator externo pode acessar uma instância do ServiceNow sem autenticação, capturar um token para uso em solicitações HTTP, consultar o widget público para recuperar artigos da KB e brute-force os IDs de todos os artigos hospedados.
Bloqueio de Acesso Não Autorizado
A AppOmni recomenda que administradores do ServiceNow protejam os artigos da KB definindo o ‘Critérios do usuário‘ apropriado (Pode Ler/Não Pode Ler), bloqueando todos os usuários não autorizados. Critérios como “Qualquer Usuário” ou “Usuário Convidado” levam a configurações que não protegem os artigos contra acesso externo arbitrário. Se o acesso público às Bases de Conhecimento não for explicitamente necessário, os administradores devem desativá-lo para evitar que os artigos fiquem acessíveis na internet.
Além disso, os pesquisadores destacam propriedades de segurança específicas que podem proteger os dados contra acesso não autorizado, mesmo em caso de configurações incorretas:
- glide.knowman.block_access_with_no_user_criteria (True): Garante que o acesso seja automaticamente negado para usuários autenticados e não autenticados se nenhum User Criteria for definido para um artigo da KB.
- glide.knowman.apply_article_read_criteria (True): Exige que os usuários tenham acesso explícito “Pode Ler” a artigos individuais, mesmo que tenham acesso “Pode Contribuir” à KB inteira.
- glide.knowman.show_unpublished (False): Impede que os usuários vejam artigos em rascunho ou não publicados, que podem conter informações sensíveis e não revisadas.
- glide.knowman.section.view_roles.draft (Admin): Define uma lista de funções que podem visualizar artigos da KB em estado de rascunho.
- glide.knowman.section.view_roles.review (Admin): Define uma lista de funções que podem visualizar artigos da KB em estado de revisão.
- glide.knowman.section.view_roles.stagesAndRoles (Admin): Define uma lista de funções que podem visualizar artigos da KB em estado personalizado.
Finalmente, é recomendado ativar as regras pré-configuradas do ServiceNow que adicionam automaticamente Usuários Convidados à lista “Não Pode Ler” para novas KBs, exigindo que os administradores concedam acesso especificamente quando necessário.
Quer amadurecer seu programa de segurança cibernética? Conheça a EcoTrust, uma plataforma CAASM (Cyber Asset Attack Surface Management) que transforma riscos cibernéticos em respostas confiáveis. Agende uma demo aqui
Este artigo foi criado com uso de inteligência artificial generativa e teve a curadoria da Equipe EcoTrust.