* Travaillez-vous dans une entreprise de cybersécurité? Voulez-vous voir votre entreprise annoncée dans HackTricks? ou voulez-vous avoir accès à la dernière version de PEASS ou télécharger HackTricks en PDF? Consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop)!
* Découvrez [**The PEASS Family**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
* **Rejoignez le** [**💬**](https://emojipedia.org/speech-balloon/) [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** moi sur **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Partagez vos astuces de piratage en soumettant des PR au** [**repo hacktricks**](https://github.com/carlospolop/hacktricks) **et au** [**repo hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
[Intelligent Platform Management Interface](https://www.thomas-krenn.com/en/wiki/IPMI\_Basics) (`IPMI`) est un ensemble de spécifications normalisées pour les systèmes de gestion de l'hôte basés sur le matériel utilisés pour la gestion et la surveillance du système. Il agit comme un sous-système autonome et fonctionne indépendamment du BIOS, du CPU, du micrologiciel et du système d'exploitation sous-jacent de l'hôte. IPMI permet aux administrateurs système de gérer et de surveiller les systèmes même s'ils sont éteints ou dans un état non réactif. Il fonctionne en utilisant une connexion réseau directe au matériel du système et ne nécessite pas d'accès au système d'exploitation via une coquille de connexion. IPMI peut également être utilisé pour des mises à niveau à distance des systèmes sans nécessiter d'accès physique à l'hôte cible. IPMI est généralement utilisé de trois manières :
Lorsqu'il n'est pas utilisé pour ces tâches, IPMI peut surveiller une gamme de choses différentes telles que la température du système, la tension, l'état du ventilateur et les alimentations électriques. Il peut également être utilisé pour interroger les informations d'inventaire, examiner les journaux matériels et alerter en utilisant SNMP. Le système hôte peut être éteint, mais le module IPMI nécessite une source d'alimentation et une connexion LAN pour fonctionner correctement.
Le protocole IPMI a été publié pour la première fois par Intel en 1998 et est maintenant pris en charge par plus de 200 fournisseurs de systèmes, notamment Cisco, Dell, HP, Supermicro, Intel, et plus encore. Les systèmes utilisant la version 2.0 d'IPMI peuvent être administrés via une liaison série sur LAN, ce qui donne aux administrateurs système la possibilité de visualiser la sortie de la console série en bande. Pour fonctionner, IPMI nécessite les composants suivants :
Dan Farmer a identifié une grave défaillance de la spécification IPMI 2.0, à savoir que le type de chiffrement 0, un indicateur que le client souhaite utiliser une authentification en texte clair, permet en réalité **l'accès avec n'importe quel mot de passe**. Les problèmes de chiffrement 0 ont été identifiés dans les BMC HP, Dell et Supermicro, le problème englobant probablement toutes les implémentations IPMI 2.0.\
Notez que pour exploiter ce problème, vous devez d'abord **trouver un utilisateur valide**.
Essentiellement, **vous pouvez demander au serveur le hachage salé MD5 et SHA1 de n'importe quel nom d'utilisateur et si le nom d'utilisateur existe, ces hachages seront renvoyés**. Oui, aussi incroyable que cela puisse paraître. Et il y a un **module Metasploit** pour tester cela (vous pouvez sélectionner le format de sortie en John ou Hashcat) :
_Remarque que pour cela, vous avez seulement besoin d'une liste de noms d'utilisateur à brute-forcer (metasploit en contient déjà une avec des noms d'utilisateur par défaut)._
En plus des problèmes d'authentification mentionnés ci-dessus, Dan Farmer a noté que de nombreux BMC sont expédiés avec un accès "anonyme" activé par défaut. Cela est configuré en définissant le nom d'utilisateur du premier compte utilisateur sur une chaîne nulle et en définissant un mot de passe nul pour correspondre. Le module _ipmi\_dumphashes_ identifiera et déversera les hachages de mots de passe (y compris les mots de passe vides) pour les comptes d'utilisateurs nuls. Ce compte peut être difficile à utiliser seul, mais nous pouvons utiliser `ipmitool` pour réinitialiser le mot de passe d'un compte utilisateur nommé et utiliser ce compte pour accéder à d'autres services :
La spécification IPMI 2.0 exige que le BMC réponde aux méthodes d'authentification basées sur HMAC telles que SHA1 et MD5. Ce processus d'authentification présente de graves faiblesses, comme le montrent les exemples précédents, mais nécessite également l'accès au mot de passe en clair pour calculer le hachage d'authentification. Cela signifie que le BMC doit stocker une version en clair de tous les mots de passe d'utilisateurs configurés quelque part dans une mémoire non volatile. Dans le cas de Supermicro, cet emplacement change entre les versions du micrologiciel, mais se trouve soit dans `/nv/PSBlock` soit dans `/nv/PSStore`. Les mots de passe sont dispersés entre divers blocs binaires, mais faciles à repérer car ils suivent toujours le nom d'utilisateur. C'est un problème grave pour toute organisation qui utilise des mots de passe partagés entre les BMC ou même différents types de dispositifs.
Supermicro inclut un **écouteur UPnP SSDP fonctionnant sur le port UDP 1900** dans le micrologiciel IPMI de nombreuses de ses cartes mères récentes. Sur les versions antérieures à SMT\_X9\_218, ce service exécutait le SDK Intel pour les périphériques UPnP, version 1.3.1. Cette version est vulnérable aux [problèmes divulgués par Rapid7](https://blog.rapid7.com/2013/01/29/security-flaws-in-universal-plug-and-play-unplug-dont-play) en février 2013, et une cible d'exploitation pour cette plate-forme fait partie du Metasploit Framework. Ce qui est intéressant dans cette attaque, c'est qu'elle **permet d'obtenir un accès root complet au BMC**, ce qui est autrement difficile à obtenir. Gardez à l'esprit qu'un attaquant ayant un accès administratif, soit sur le réseau, soit à partir d'une coquille racine sur le système hôte, peut rétrograder le micrologiciel d'un Supermicro BMC vers une version vulnérable, puis l'exploiter. Une fois que l'accès **root** est **obtenu**, il est possible de **lire les informations d'identification en clair** à partir du système de fichiers, **d'installer** des **logiciels** supplémentaires et d'intégrer des **portes dérobées** permanentes dans le BMC qui survivraient à une réinstallation complète du système d'exploitation de l'hôte.
Une fois l'accès administratif au BMC obtenu, plusieurs méthodes sont disponibles pour accéder au système d'exploitation de l'hôte. Le chemin le plus direct consiste à abuser de la fonctionnalité KVM du BMC et à redémarrer l'hôte vers un shell root (init=/bin/sh dans GRUB) ou à spécifier un disque de secours en tant que CD-ROM virtuel et à démarrer à partir de celui-ci. Une fois un accès brut au disque de l'hôte obtenu, il est trivial d'introduire une porte dérobée, de copier des données du disque dur ou de faire tout ce qui doit être fait dans le cadre de l'évaluation de sécurité. Le gros inconvénient, bien sûr, est que l'hôte doit être redémarré pour utiliser cette méthode. L'accès à l'hôte en cours d'exécution est beaucoup plus difficile et dépend de ce que l'hôte exécute. Si la console physique de l'hôte est laissée connectée, il devient trivial de la pirater en utilisant la fonctionnalité KVM intégrée. Il en va de même pour les consoles série - si le port série est connecté à une session authentifiée, le BMC peut permettre à ce port d'être piraté en utilisant l'interface ipmitool pour la série-over-LAN (sol). Une voie qui nécessite encore plus de recherche consiste à abuser de l'accès au matériel partagé, tel que le bus i2c et la puce Super I/O.
Dans les situations où un hôte avec un BMC a été compromis, l'interface locale du BMC peut être utilisée pour introduire un compte utilisateur de porte dérobée, et à partir de là, établir une position permanente sur le serveur. Cette attaque nécessite que **`ipmitool`** soit installé sur l'hôte et que le support du pilote soit activé pour le BMC. L'exemple ci-dessous montre comment l'interface locale sur l'hôte, qui ne nécessite pas d'authentification, peut être utilisée pour injecter un nouveau compte utilisateur dans le BMC. Cette méthode est universelle pour les cibles Linux, Windows, BSD et même DOS.
* Travaillez-vous dans une entreprise de **cybersécurité** ? Voulez-vous voir votre **entreprise annoncée dans HackTricks** ? ou voulez-vous avoir accès à la **dernière version de PEASS ou télécharger HackTricks en PDF** ? Consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) !
* Découvrez [**The PEASS Family**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
* **Rejoignez le** [**💬**](https://emojipedia.org/speech-balloon/) [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** moi sur **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Partagez vos astuces de piratage en soumettant des PR au** [**repo hacktricks**](https://github.com/carlospolop/hacktricks) **et au** [**repo hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).