623/UDP/TCP - IPMI
623/UDP/TCP - IPMI
Basic Information
Overview of IPMI
Intelligent Platform Management Interface (IPMI) oferece uma abordagem padronizada para gerenciamento e monitoramento remoto de sistemas computacionais, independente do sistema operacional ou estado de energia. Esta tecnologia permite que administradores de sistema gerenciem sistemas remotamente, mesmo quando estão desligados ou não respondem, e é especialmente útil para:
Configurações de pré-inicialização do sistema operacional
Gerenciamento de desligamento
Recuperação de falhas do sistema
O IPMI é capaz de monitorar temperaturas, voltagens, velocidades de ventiladores e fontes de alimentação, além de fornecer informações de inventário, revisar logs de hardware e enviar alertas via SNMP. Essencial para seu funcionamento são uma fonte de energia e uma conexão LAN.
Desde sua introdução pela Intel em 1998, o IPMI tem sido suportado por diversos fornecedores, aprimorando as capacidades de gerenciamento remoto, especialmente com o suporte da versão 2.0 para serial over LAN. Os componentes principais incluem:
Baseboard Management Controller (BMC): O microcontrolador principal para operações de IPMI.
Buses e Interfaces de Comunicação: Para comunicação interna e externa, incluindo ICMB, IPMB e várias interfaces para conexões locais e de rede.
Memória IPMI: Para armazenar logs e dados.
![](https://book.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2Fblog.rapid7.com%2Fcontent%2Fimages%2Fpost-images%2F27966%2FIPMI-Block-Diagram.png%23img-half-right&width=768&dpr=4&quality=100&sign=403131ba&sv=1)
Porta Padrão: 623/UDP/TCP (Normalmente está no UDP, mas também pode estar rodando no TCP)
Enumeration
Discovery
Você pode identificar a versão usando:
Vulnerabilidades do IPMI
No âmbito do IPMI 2.0, uma falha de segurança significativa foi descoberta por Dan Farmer, expondo uma vulnerabilidade através do tipo de cifra 0. Esta vulnerabilidade, documentada em detalhes na pesquisa de Dan Farmer, permite acesso não autorizado com qualquer senha, desde que um usuário válido seja alvo. Essa fraqueza foi encontrada em vários BMCs de fabricantes como HP, Dell e Supermicro, sugerindo um problema generalizado em todas as implementações do IPMI 2.0.
Bypass de Autenticação do IPMI via Cifra 0
Para detectar essa falha, o seguinte scanner auxiliar do Metasploit pode ser empregado:
A exploração dessa falha é alcançável com ipmitool
, conforme demonstrado abaixo, permitindo a listagem e modificação de senhas de usuários:
Recuperação de Hash de Senha Remota de Autenticação RAKP do IPMI 2.0
Essa vulnerabilidade permite a recuperação de senhas hash salgadas (MD5 e SHA1) para qualquer nome de usuário existente. Para testar essa vulnerabilidade, o Metasploit oferece um módulo:
Autenticação Anônima IPMI
Uma configuração padrão em muitos BMCs permite acesso "anônimo", caracterizado por strings de nome de usuário e senha nulas. Essa configuração pode ser explorada para redefinir senhas de contas de usuário nomeadas usando ipmitool
:
Supermicro IPMI Senhas em Texto Claro
Uma escolha de design crítica no IPMI 2.0 exige o armazenamento de senhas em texto claro dentro dos BMCs para fins de autenticação. O armazenamento dessas senhas pela Supermicro em locais como /nv/PSBlock
ou /nv/PSStore
levanta preocupações significativas de segurança:
Vulnerabilidade UPnP do IPMI da Supermicro
A inclusão de um ouvinte SSDP UPnP no firmware IPMI da Supermicro, particularmente na porta UDP 1900, introduz um grave risco de segurança. Vulnerabilidades no Intel SDK para Dispositivos UPnP versão 1.3.1, conforme detalhado pela divulgação da Rapid7, permitem acesso root ao BMC:
Brute Force
A HP randomiza a senha padrão para seu produto Integrated Lights Out (iLO) durante a fabricação. Essa prática contrasta com outros fabricantes, que tendem a usar credenciais padrão estáticas. Um resumo de nomes de usuários e senhas padrão para vários produtos é fornecido a seguir:
HP Integrated Lights Out (iLO) usa uma string aleatória de 8 caracteres como sua senha padrão, demonstrando um nível de segurança mais alto.
Produtos como iDRAC da Dell, IMM da IBM e Controlador de Gerenciamento Remoto Integrado da Fujitsu usam senhas facilmente adivinháveis, como "calvin", "PASSW0RD" (com um zero) e "admin", respectivamente.
Da mesma forma, Supermicro IPMI (2.0), Oracle/Sun ILOM e ASUS iKVM BMC também usam credenciais padrão simples, com "ADMIN", "changeme" e "admin" servindo como suas senhas.
Accessing the Host via BMC
O acesso administrativo ao Controlador de Gerenciamento de Placa Base (BMC) abre vários caminhos para acessar o sistema operacional do host. Uma abordagem simples envolve explorar a funcionalidade de Teclado, Vídeo e Mouse (KVM) do BMC. Isso pode ser feito reiniciando o host para um shell root via GRUB (usando init=/bin/sh
) ou inicializando a partir de um CD-ROM virtual configurado como disco de resgate. Esses métodos permitem a manipulação direta do disco do host, incluindo a inserção de backdoors, extração de dados ou quaisquer ações necessárias para uma avaliação de segurança. No entanto, isso requer a reinicialização do host, o que é uma desvantagem significativa. Sem reiniciar, acessar o host em execução é mais complexo e varia com a configuração do host. Se o console físico ou serial do host permanecer logado, pode ser facilmente assumido através das funcionalidades KVM ou serial-over-LAN (sol) do BMC via ipmitool
. Explorar a exploração de recursos de hardware compartilhados, como o barramento i2c e o chip Super I/O, é uma área que demanda mais investigação.
Introducing Backdoors into BMC from the Host
Ao comprometer um host equipado com um BMC, a interface BMC local pode ser aproveitada para inserir uma conta de usuário backdoor, criando uma presença duradoura no servidor. Este ataque requer a presença de ipmitool
no host comprometido e a ativação do suporte ao driver BMC. Os seguintes comandos ilustram como uma nova conta de usuário pode ser injetada no BMC usando a interface local do host, o que contorna a necessidade de autenticação. Essa técnica é aplicável a uma ampla gama de sistemas operacionais, incluindo Linux, Windows, BSD e até mesmo DOS.
Shodan
port:623
Referências
Last updated