Firmware Integrity
Intégrité du firmware
Les firmwares personnalisés et/ou les binaires compilés peuvent être téléchargés pour exploiter des failles d'intégrité ou de vérification de signature. Les étapes suivantes peuvent être suivies pour la compilation d'un backdoor bind shell :
Le firmware peut être extrait à l'aide de firmware-mod-kit (FMK).
L'architecture du firmware cible et l'endianness doivent être identifiées.
Un compilateur croisé peut être construit en utilisant Buildroot ou d'autres méthodes adaptées à l'environnement.
Le backdoor peut être construit en utilisant le compilateur croisé.
Le backdoor peut être copié dans le répertoire /usr/bin du firmware extrait.
Le binaire QEMU approprié peut être copié dans le rootfs du firmware extrait.
Le backdoor peut être émulé en utilisant chroot et QEMU.
Le backdoor peut être accédé via netcat.
Le binaire QEMU doit être supprimé du rootfs du firmware extrait.
Le firmware modifié peut être reconditionné en utilisant FMK.
Le firmware backdooré peut être testé en l'émulant avec l'outil d'analyse de firmware (FAT) et en se connectant à l'IP et au port du backdoor cible en utilisant netcat.
Si un shell root a déjà été obtenu par le biais d'une analyse dynamique, d'une manipulation de bootloader ou de tests de sécurité matérielle, des binaires malveillants précompilés tels que des implants ou des reverse shells peuvent être exécutés. Des outils automatisés de charge utile/implant tels que le framework Metasploit et 'msfvenom' peuvent être exploités en suivant les étapes suivantes :
L'architecture du firmware cible et l'endianness doivent être identifiées.
Msfvenom peut être utilisé pour spécifier la charge utile cible, l'IP de l'attaquant, le numéro de port d'écoute, le type de fichier, l'architecture, la plateforme et le fichier de sortie.
La charge utile peut être transférée vers le périphérique compromis et il faut s'assurer qu'elle a les autorisations d'exécution.
Metasploit peut être préparé pour gérer les demandes entrantes en démarrant msfconsole et en configurant les paramètres selon la charge utile.
Le shell inversé meterpreter peut être exécuté sur le périphérique compromis.
Les sessions meterpreter peuvent être surveillées au fur et à mesure de leur ouverture.
Des activités de post-exploitation peuvent être effectuées.
Si possible, les vulnérabilités dans les scripts de démarrage peuvent être exploitées pour obtenir un accès persistant à un périphérique à travers les redémarrages. Ces vulnérabilités surviennent lorsque les scripts de démarrage font référence, créent des liens symboliques, ou dépendent du code situé dans des emplacements montés non fiables tels que les cartes SD et les volumes flash utilisés pour stocker des données en dehors des systèmes de fichiers racine.
Références
Pour plus d'informations, consultez https://scriptingxss.gitbook.io/firmware-security-testing-methodology/
Last updated