
Kit pour attaque par implant de dispositifs IoT
IoT-Implant-Toolkit est un framework d'outils utiles pour la recherche sur l'implantation de malwares dans les appareils IoT. C'est une boîte à outils composée de logiciels essentiels pour la modification de firmware, le débogage de port série, l'analyse de logiciels et des clients espions stables. Grâce à un environnement en ligne de commande extensible et facile à utiliser, IoT-Implant-Toolkit est une boîte à outils tout-en-un qui simplifie la procédure complexe d'implantation de malwares IoT.
Dans notre recherche, nous avons réussi à implanter des chevaux de Troie dans huit appareils, y compris des enceintes connectées, des caméras, des enregistreurs de conduite et des traducteurs mobiles, à l'aide d'IoT-Implant-Toolkit.
Une vidéo de démonstration ci-dessous :

Assurez-vous d'avoir git, python3 et setuptools installés.
Pour le traitement et la lecture audio, vous devez installer alsa (intégré sous Linux), sox et ffplay. Sur Ubuntu 18.04 :
$ sudo apt install sox ffmpeg
Téléchargez le code source depuis notre Github :
$ git clone https://github.com/arthastang/IoT-Implant-Toolkit.git
Configurez l'environnement et installez les dépendances :
$ cd IoT-Implant-Toolkit/
$ python3 setup.py install
Lancez la boîte à outils :
$ python3 -B IoT-Implant-Toolkit.py
_____ _______ _____ _ _ _______ _ _ _ _
|_ _| |__ __| |_ _| | | | | |__ __| | | | (_) |
| | ___ | |______| | _ __ ___ _ __ | | __ _ _ __ | |_ ______| | ___ ___ | | | ___| |_
| | / _ \| |______| | | '_ ` _ \| '_ \| |/ _` | '_ \| __|______| |/ _ \ / _ \| | |/ / | __|
_| || (_) | | _| |_| | | | | | |_) | | (_| | | | | |_ | | (_) | (_) | | <| | |_
|_____\___/|_| |_____|_| |_| |_| .__/|_|\__,_|_| |_|\__| |_|\___/ \___/|_|_|\_\_|\__|
| |
|_|
IoT-Implant-Toolkit
-------------------------------------------------------------
A Framework for IoT implantation research.
by Marvel Team
Command:
list - List all tools
run - Run a specific tool
exit - Exit
[Implant-Toolkit]>
Trois commandes sont prises en charge :
list : lister tous les plugins
run : exécuter un plugin spécifique avec "run [plugin] [paramètres]"
exit : quitter
Chaque outil logiciel agit comme un plugin qui peut être facilement ajouté au framework.
Il existe plus d'une dizaine de plugins dans quatre catégories, couvrant des sujets comme le débogage de port série, le conditionnement/déconditionnement de firmware, l'analyse de logiciels et les programmes espions implantés.
Plugins existants dans notre framework :
Structure du code :
--IoT-Implant_toolkit.py #Script de démarrage
--outputs/ #Dossier par défaut des sorties
--toolkit/
|---core/
|---basic/ #Définition de la classe de base des plugins
|---cli/ #Définition de l'interface en ligne de commande
|---toollist/ #Mise à jour automatique de la liste des plugins
|---plugins/
|---firmware/ #Plugins pour la modification de firmware
|---implant/ #Plugins pour générer des programmes espions
|---serialport/ #Plugins pour le débogage de port série
|---software/ #Plugins pour l'analyse de logiciels (surtout Android)
|---tools/ #Autres outils
Créez [nouveauplugin].py dans le dossier (catégorie) correspondant et définissez les attributs d'initialisation pour ajouter un nouveau plugin à IoT-Implant-Toolkit. Le framework détectera automatiquement le nouveau plugin au démarrage.
Outils matériels essentiels pour la recherche sur l'implantation de malwares. Voir les images dans HardwareTools/.
Nous n'avons pas ajouté d'autres plugins en raison du temps limité.
Le tableau ci-dessous répertorie des outils qui ne correspondent pas à notre framework, mais qui peuvent être utiles.
Nous espérons qu'IoT-Implant-Toolkit deviendra une boîte à outils essentielle dans l'implantation de malwares.
| Catégories | Outils | Descriptions | Référence |
|---|
| Débogage de port série | pyserial | programme de contrôle de modem et d'émulation de terminal | https://github.com/pyserial/pyserial |
| Débogage de port série | baudrate.py | trouver le bon débit en bauds | https://github.com/devttys0/baudrate |
| Conditionnement/déconditionnement de firmware | mksquashfs | créer et extraire un système de fichiers Squashfs | https://github.com/plougher/squashfs-tools |
| Conditionnement/déconditionnement de firmware | mkbootimg_tools | Décompresser/Recompresser boot.img pour Android | https://github.com/xiaolu/mkbootimg_tools |
| Conditionnement/déconditionnement de firmware | cramfs | créer un système de fichiers cramfs | https://sourceforge.net/projects/cramfs/files/cramfs/1.1/ |
| Conditionnement/déconditionnement de firmware | mountimg | monter/démonter les systèmes de fichiers ext4 pour Android system.img & data.img | Sur notre Github |
| Analyse de logiciels | setools-android | setools pour Android avec sepolicy-inject | https://github.com/xmikos/setools-android |
| Analyse de logiciels | crosscompil | chaîne d'outils de cross-compilation pour arm | Sur notre Github plus tard |
| Analyse de logiciels | odex unpack | De Odex à smali pour Android | Sur notre Github |
| Implantation binaire | spy client&server | un client et serveur espion stables, sources et binaires précompilés | Sur notre Github |
| Implantation binaire | outil de débruitage | outil de débruitage pour le traitement audio | Sur notre Github |
| Nom | Description |
|---|
| Fer à souder | Outils de soudure |
| Fil à souder | Outils de soudure |
| Pâte à souder | Outils de soudure |
| Tresse à dessouder | Outils de soudure |
| Pistolet à air chaud | Outils de soudure |
| Kit de rebillage | Outil de rebillage |
| USB vers TTL | Câble de débogage/console |
| Fil Dupont | Fil électrique |
| Programmateur de mémoire EPROM | Programmateur de mémoire |
| Catégories | Outils | Descriptions | Référence |
|---|
| Analyse de firmware | binwalk | un outil rapide et facile à utiliser pour analyser, rétro-concevoir et extraire des images de firmware | https://github.com/ReFirmLabs/binwalk |
| Modification de firmware | firmware mod kit | une collection de scripts et d'utilitaires pour extraire et reconstruire des images de firmware basées sur Linux | https://github.com/rampageX/firmware-mod-kit |
| Cross-compilateur | buildroot | Cross-compilateur pour arm, mips, powerpc | https://buildroot.org/ |