
Privilege escalation vulnerability on ASKEY routers
CVE-2022-47040
Vulnérabilité d'élévation de privilèges sur les routeurs ASKEY
Appareil : ASKEY RTF3505VW-N1
Micrologiciel : BR_SV_g000_R3505VMN1001_s32_7 (non testé sur d'autres versions)
Version CLI : Reduced_CLI_HGU_v13
Exploit :
Les appareils ASKEY RTF3505VW-N1 sont accessibles via SSH dans un shell par défaut restreint :

Le shell restreint donne accès à un « Reduced_CLI », et l'environnement est restreint afin d'éviter l'exécution de la plupart des commandes linux/unix.

La commande « tcpdump » est présente dans le shell restreint et ne gère pas correctement l'option -z ; elle peut donc être utilisée pour élever les privilèges en créant un fichier local dans le répertoire /tmp du routeur et en injectant des paquets via le port 80 (utilisé pour l'interface Web du routeur) avec la chaîne ";/bin/bash" afin d'être exécutée par « -z sh ». En utilisant « ;/bin/bash » comme chaîne injectée, nous pouvons générer une console busybox/ash.
Comme le montrent les images suivantes, nous configurons un « nc » en écoute sur le port 4444, puis exécutons un script Bash/Expect avec l'exploit :

Le shell inverse est créé afin d'obtenir une connexion stable avec le routeur :

Il est donc possible d'élever les privilèges en générant une console entièrement interopérable avec les privilèges root (voir l'image suivante) :

Grâce à cette élévation, nous pouvons modifier le contenu de /etc/passwd (/var/passwd), créer de nouveaux utilisateurs, accéder à des données/fichiers restreints, ou modifier de manière permanente toute autre ressource système.
L'utilisateur « support » est imprimé à l'arrière du routeur. Dans certains cas, ces routeurs utilisent des identifiants par défaut.