J’ai récemment acheté un point d’accès T-Mobile T9 à un ami qui l’a utilisé avec son programme Test Drive, et comme la plupart des appareils intégrés que j’ai examinés. Ce fil passe en revue les résultats de mon logiciel et vous donne les informations dont vous avez besoin pour obtenir un accès root et un déverrouillage SIM de l’appareil.

REMARQUE: je ne suis pas responsable des dommages causés à votre point d’accès T-Mobile. Procédez à vos risques et périls. Notez qu’avec certains sites Web et outils de cet appareil, vous pouvez modifier l’appareil des manières suivantes VOUS NE DEVRIEZ PAS FAIRE là ça peut être ILLÉGAL dans votre juridiction. Veuillez ne pas continuer tant que vous ne savez pas ce que vous faites.

OTA

Le système OTA sur l’appareil est très simple. Il appelle l’url suivante avec la syntaxe suivante:
https://fota.pintracview.com/fota/T9/check_update.php?carrier=& rev =& imei =

Par exemple, mon T9 a-t-il signalé check_update.php? Carrier = tmobile & rev = 891 lorsqu’il était dans la version de firmware R717F21.FR.891. Si vous accédez manuellement à cette URL avec une révision obsolète, vous serez lié au fichier OTA le plus récent, qui est un fichier .enc

Heureusement, ces fichiers .enc sont très faciles à extraire. Si vous utilisez une version plus récente d’OpenSSL, vous pouvez extraire cet OTA avec la commande suivante:

openssl enc -aes-128-cbc -d -md md5 -in R717F21.FR.1311_ota_update_all_sm.enc -out R717F21.FR.1311_ota_update_all_sm.tar -k frkenc##[email protected]

Cela vous donnera un fichier .tar contenant un fichier appelé ota_update_all.zip qui contient une copie des fichiers rootfs. Sur cet appareil, tous les OTA sont des versions d’images complètes, vous pouvez donc mettre à niveau et rétrograder comme vous le souhaitez via l’interface Web. J’ai extrait la clé de déchiffrement du fichier binaire à / usr / bin / fota_app. J’ai également pu démarrer une collection de firmwares, y compris une mise à jour inédite. Vous pouvez accéder à ces fichiers OTA de cette méga part.

Le fichier zip OTA semble non signé, vous pouvez donc le modifier et l’appliquer. Cependant, cela n’a pas été testé.

Fichier de configuration

L’avantage de cet appareil est que vous pouvez activer SSH, ADB et d’autres extras cachés en créant simplement une sauvegarde de configuration, en la modifiant et en la téléchargeant à nouveau sur l’appareil. La sauvegarde de la configuration elle-même peut être convertie du format .bin au format réel, un .tar.gz, avec les commandes suivantes:

openssl enc -aes-128-cbc -d -md md5 -in hotspot_cfg.bin -out hotspot_cfg_packed.tar -k frkenc##[email protected]
mkdir hotspot_cfg_packed
tar xf hotspot_cfg_packed.tar -C ./hotspot_cfg_packed
cd hotspot_cfg_packed
mkdir hotspot_cfg_packed_2
tar xf hotspot_cfg.tar -C ./hotspot_cfg_packed_2

Comme vous pouvez le voir, le vidage de la configuration est en fait crypté aes-128-cbc et contient des données entrelacées tar.gz Des dossiers. Vous pouvez maintenant modifier, reconditionner et re-télécharger la configuration comme vous le souhaitez.

SSH

Au cours de mes recherches, il a été constaté que SSH pouvait être activé sur cet appareil. Une fois activé, vous pouvez vous connecter en tant que root. Si vous utilisez la version 891 ou inférieure du micrologiciel, vous pouvez exécuter la commande suivante pour activer rapidement SSH.

curl "http://192.168.0.1/cgi-bin/webpst.service_setting.cgi" 
  -H "Content-Type: application/json" 
  -H "Origin: http://192.168.0.1" 
  -H "Referer: http://192.168.0.1/webpst/usb_mode.html" 
  --data '{"command":"save","params":null,"data":{"ssh":"on","tether":"","bridge":""}}' 
  --insecure

Notez que vous devez modifier le fichier de configuration si votre firmware est supérieur à la version 891. Pour activer SSH, vous devez modifier le fichier de configuration. Si vous le souhaitez, j’ai créé un script Python de base qui peut le faire pour vous. qui est disponible sur GitHub. Notez simplement qu’OpenSSL 1.1.0 ou supérieur est requis et ne sera testé que sur Ubuntu 18.04.

Lors de la connexion via SSH, j’ai pu déterminer le mot de passe SSH racine pour ces appareils frk9x07. Malheureusement, les ingénieurs de Franklin Wireless n’ont utilisé qu’une seule clé DESrypt (DES) pour l’appareil, que Hashcat a pu déchiffrer en quelques secondes avec ma GTX 1080.

BAD

En prime, vous pouvez activer un shell ADB qui vous mènera directement à une invite root sans mot de passe! Notez que cela semble fonctionner sur les versions de firmware 891 et inférieures, mais peut ne pas fonctionner sur les firmwares plus récents.

curl "http://192.168.0.1/cgi-bin/webpst.usb_mode.cgi" 
  -H "Content-Type: application/json" 
  -H "Origin: http://192.168.0.1" 
  -H "Referer: http://192.168.0.1/webpst/usb_mode.html" 
  --data '{"command":"save","params":null,"data":{"usb_mode":"902D"}}' 
  --insecure

Avec les OTA plus récents, vous pouvez toujours activer ADB, mais cela doit être fait manuellement sur Internet /data/configs/mobileap_cfg.xml Déposer. Pour ce faire, la valeur du paramètre UsbMode est mise à jour de 9025 à 902D, enregistrée et l’appareil redémarré. Notez que vous devrez peut-être également remplacer le contenu de / data / configs / hsusb_next également avec 902D.

Sites Web cachés

En regardant autour de l’appareil, j’ai trouvé une poignée de pages cachées sécurisées par des mots de passe en texte clair intégrés statiquement dans des fichiers binaires. Vous trouverez ci-dessous les pages que j’ai trouvées et les mots de passe de ces pages.

  • Pages de configuration masquées
    • http://192.168.0.1/hidden/
    • http://192.168.0.1/webpst/
      • Mot de passe: [email protected]
      • Le mot de passe a été extrait de /var/volatile/www/htdocs/cgi-bin/login.cgi
  • Page d’administration informatique
    • http://192.168.0.1/itadmin/
      • Mot de passe: [email protected]
      • Le mot de passe a été extrait de / var / volatile / www / htdocs / cgi-bin / logi
  • Page d’ingénierie cachée
    • http://192.168.0.1/engineering/franklin/
      • Nom d’utilisateur: r717
      • Mot de passe: frkengr717
      • L’utilisateur et le mot de passe ont été extraits de / etc / pwlighttpd
      • Noter: Sur les firmwares plus récents que 891, vous devez d’abord exécuter ce qui suit en tant que root avant de pouvoir accéder aux pages d’ingénierie.
        • /usr/bin/copy_htdocs.sh eng

Déverrouiller la carte SIM

Tout en explorant le binaire à / usr / bin / QCMAP_Web_CLIENTJe suis tombé accidentellement sur la logique utilisée pour déverrouiller l’appareil sur la carte SIM. Utilisez les instructions ci-dessous pour générer votre code de déverrouillage SIM dans un terminal Linux ou Mac.

export IMEI=YOURIMEIGOESHERE
echo -n "${IMEI}simlock" | sha1sum | cut -c1-8

Remplacer ci-dessus VOTRE IMEIGOES ICI avec le numéro IMEI du hotspot T9. Vous pouvez ensuite saisir le code généré dans l’interface utilisateur Web pour déverrouiller l’appareil pour toutes les cartes SIM.

Conclusion

Sans conteste, cela doit être l’un de mes appareils IoT préférés pour jouer avec. J’apprécie le fait que Franklin Wireless ait déployé un minimum d’efforts pour sécuriser l’appareil car il s’agit d’une excellente plate-forme sur laquelle s’appuyer. Si quelqu’un chez Franklin Wireless lit ceci, je vous recommande d’apporter les modifications suivantes pour assurer la sécurité de vos appareils.

  • Ne stockez pas les mots de passe en texte clair dans vos fichiers binaires. Utilisez sha256 ou md5 + salt ou une autre méthode.
  • Veuillez ne pas autoriser vos « pages masquées » à ignorer les demandes de mot de passe en modifiant le rendu HTML du navigateur. C’est juste bâclé et c’est ainsi que j’ai pu accéder à la BAD pour commencer mes recherches. Je recommande de les verrouiller avec lighttpd ou d’avoir une page d’authentification complètement séparée qui est correctement renforcée.
  • N’utilisez pas de mots de passe DEScrypt Linux. Le temps qu’il m’a fallu pour déchiffrer le hachage était inférieur à 10 secondes. md5crypt au moins et sha1 si vous voulez aller un peu plus chic. De plus, faites en sorte que le mot de passe dépasse 8 caractères pour réduire les chances de réussite de la force brute.
  • Si vous avez besoin d’ADB, verrouillez-le. Un autre hotspot T-Mobile que j’ai active ADB mais fonctionne comme un UID inexistant afin que vous puissiez à peine afficher le système de fichiers. Quelque chose comme ça serait probablement un pari plus sûr.
  • Accédez aux OTA incrémentiels et signez-les correctement. La plupart des OTA Android utilisent des certificats pour l’authentification OTA. Mettez également en œuvre la protection anti-retour et désactivez la possibilité pour les utilisateurs de télécharger des OTA.



Source link

Recent Posts