
VIDÉO POC - https://youtu.be/hNzmkJj-ImM?si=NF0yoSL578rNy7wN
Item: G/EPON ONU
Specification: HG323AC-B
Device model XPON+2GE+1POTS+2WIFI+USB
Device SN 70B64F-1234570B64F0C2C0C
Hardware Version V1.0
Firmware Version V2.0.08-210715
PON S/N GPON000C2C0C
Contrôle d'accès incorrect
Pour exploiter la vulnérabilité, il est nécessaire d'être authentifié avec un utilisateur à faibles privilèges, car il sera possible d'exécuter des fonctions d'administrateur (désactiver le pare-feu et activer SSH ou Telnet, etc.).
Après avoir obtenu les identifiants, il sera nécessaire de récupérer le masque de jeton de votre utilisateur actuel en accédant au répertoire http://IP/boaform/getASPdata/FMask.
Avec le jeton valide, vous pouvez assembler une requête POST pour désactiver le pare-feu avec le jeton de votre utilisateur qui n'a pas cette permission. Le répertoire pour désactiver le pare-feu est /boaform/getASPdata/formFirewall avec les paramètres FirewallLevel=0&DosEnable=0&csrfMask=USER ID.
En conséquence, l'application répondra avec SUCCESS.
Avec le pare-feu désactivé, vous pouvez activer SSH via une autre requête POST dans le répertoire /boaform/getASPdata/formAcc - avec le paramètre l_ssh SSH égal à 1
De cette façon, vous pouvez désactiver le pare-feu, activer SSH et vous connecter avec votre utilisateur via SSH.
L'application ne gère pas correctement l'utilisateur.
La vulnérabilité permet à un utilisateur non privilégié de désactiver toutes les règles du pare-feu, d'ouvrir n'importe quel service disponible (SSH, TELNET, FTP) et de s'y connecter, provoquant une RCE via SSH. À faire uniquement sur une infrastructure pour laquelle vous avez reçu l'autorisation de tester.