
Divulgação detalhada da CVE-2017-14105 para elevação de privilégios no Aerohive HiveManager Classic via upload de arquivo de backup malicioso permitindo execução de código de webshell JSP.
Nome Vulnerabilidade de Escalação de Privilégio no Aerohive HiveManager Classic
Sistemas Afetados HiveManager Classic 8.0r1 8.1r1
Severidade Médio 6.6/10
Impacto CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:L/E:H/RC:C
Fornecedor http://www.aerohive.com/
Advertência http://www.ush.it/team/ush/hack-aerohive/aerohive-priv-exec.txt
Autores Sandro "guly" Zaccarini (guly AT guly DOT org)
Data 20170901
Aerohive Networks HiveManager Classic Online é um sistema de gerenciamento de nível empresarial habilitado para nuvem para produtos de rede Aerohive. O HiveManager Classic Online oferece criação simples de políticas, upgrades de firmware e monitoramento centralizado de milhares de pontos de acesso, switches e roteadores de filial da Aerohive.
Divulgação responsável com a Aerohive: a Aerohive possui uma equipe de segurança muito reativa.
A resposta à nossa comunicação foi bastante rápida. Recebemos a primeira confirmação em 24 horas e uma declaração oficial em 4 dias.
A versão mais recente do software no momento da redação pode ser obtida no portal de suporte em https://support.aerohive.com/login
A vulnerabilidade permite que um usuário local, mesmo restrito como um Tenant, faça o upload de um arquivo de backup que contenha um webshell jsp, executando assim código no sistema subjacente.
O componente afetado é o Backup Archive Handler.
Descoberto no HiveManager Classic 8.0r1, replicado no 8.1r1. Versões mais antigas também podem ser afetadas.
O backup do HiveManager Classic é um arquivo .tar.gz simples com uma estrutura muito básica.
Após extrair o arquivo, você verá duas pastas:
"dbxmlfile/" contém a configuração do HM/VHM, um arquivo interessante para trabalhar. No entanto, nosso interesse se voltou para "HiveManager/", pois contém um diretório chamado "tomcat/webapps", que é o web app padrão do Tomcat.
A árvore completa é algo como:
Se esse diretório for adulterado, compactado em tar.gz e restaurado usando a funcionalidade de backup/restore, um atacante pode obter execução de código no sistema.
Como Prova de Conceito, um arquivo "webshell.jsp" foi adicionado no nível maps/, então criamos um novo arquivo .tar.gz e tentamos restaurá-lo.
Nenhum erro foi lançado e o arquivo jsp estava disponível sob o docroot na URI /hm/domains/MyTenant/maps/
Análises adicionais apontaram que o caminho completo era gravável, então é possível fazer upload de um shell jsp mesmo fora do escopo do Tenant.
O código será executado como tomcat (uid/gid 501), permitindo um comprometimento total da interface web e acesso a outros arquivos e configurações de Tenant também.
Como administrador principal do HM, crie um grupo sem privilégios
"Administration -> HiveManager Operations -> Restore Database // Back Up Database" e
"Administration -> Administrators".
Agora mude para cada VHM e altere o grupo de seus usuários.
O fornecedor está migrando para uma versão completamente nova do produto chamada HiveManager-NG, que possui uma arquitetura diferente e não é afetada por esta vulnerabilidade. Não realizamos nenhuma auditoria nessa versão do produto.
O Mitre atribuiu o CVE-2017-14105 para esta vulnerabilidade.
Nenhuma referência.
Sandro "guly" Zaccarini é creditado pela descoberta desta vulnerabilidade.
Sandro "guly" Zaccarini
site: http://www.ush.it/
e-mail: guly AT guly DOT org
Copyright (c) 2017 Sandro "guly" Zaccaini
É concedida permissão para redistribuição deste alerta eletronicamente. Ele não pode ser editado de forma alguma sem meu consentimento expresso por escrito. Se você desejar reimprimir a totalidade ou qualquer parte deste alerta em qualquer outro meio que não eletrônico, por favor, envie-me um e-mail para obter permissão.
Isenção de responsabilidade: Acredita-se que as informações neste advertência sejam precisas no momento da publicação com base nas informações atualmente disponíveis. O uso das informações constitui aceitação para uso em uma condição "COMO ESTÁ". Não há garantias em relação a estas informações. Nem o autor nem o editor aceitam qualquer responsabilidade por perda ou dano direto, indireto ou consequente decorrente do uso ou confiança nestas informações.