
Toolkit für Implantat-Angriffe auf IoT-Geräte
IoT-Implant-Toolkit ist ein Framework von nützlichen Werkzeugen für die Erforschung von Malware-Implantationen bei IoT-Geräten. Es handelt sich um ein Toolkit, das aus wichtigen Software-Tools für Firmware-Modifikation, serielle Debugging-Schnittstellen, Softwareanalyse und stabile Spy-Clients besteht. Mit einer benutzerfreundlichen und erweiterbaren Shell-ähnlichen Umgebung ist IoT-Implant-Toolkit ein Komplettpaket, das komplexe Abläufe der IoT-Malware-Implantation vereinfacht.
In unserer Forschung haben wir mit IoT-Implant-Toolkit erfolgreich Trojaner in acht Geräten implantiert, darunter Smart Speaker, Kameras, Fahrtenrekorder und mobile Übersetzer.
Ein Demovideo unten:

Stellen Sie sicher, dass git, python3 und setuptools installiert sind. Für Audioverarbeitung und -wiedergabe sollten Sie alsa (in Linux integriert), sox und ffplay installieren. Unter Ubuntu 18.04:
$ sudo apt install sox ffmpeg
Laden Sie den Quellcode von unserem Github herunter:
$ git clone https://github.com/arthastang/IoT-Implant-Toolkit.git
Richten Sie die Umgebung ein und installieren Sie Abhängigkeiten:
$ cd IoT-Implant-Toolkit/
$ python3 setup.py install
Führen Sie das Toolkit aus:
$ 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]>
Drei Befehle werden unterstützt: list: alle Plugins auflisten run: ein bestimmtes Plugin ausführen mit "run [plugin] [parameter]" exit: beenden
Jedes Software-Tool fungiert als Plugin, das leicht in das Framework eingebunden werden kann.
Es gibt mehr als zehn Plugins in vier Kategorien, darunter Themen zu serieller Debugging-Schnittstelle, Firmware-Packen und -Entpacken, Softwareanalyse und implantierte Spionageprogramme.
Bestehende Plugins in unserem Framework:
Codestruktur:
--IoT-Implant_toolkit.py #Startskript
--outputs/ #Standardordner für Ausgaben
--toolkit/
|---core/
|---basic/ #Definition der Basis-Plugin-Klasse
|---cli/ #Definition der Shell-ähnlichen CLI
|---toollist/ #Automatisch aktualisierte Tool-Liste der Plugins
|---plugins/
|---firmware/ #Plugins für Firmware-Modifikation
|---implant/ #Plugins zum Erzeugen von Spionageprogrammen
|---serialport/ #Plugins für serielle Debugging-Schnittstelle
|---software/ #Plugins für Softwareanalyse, insbesondere für Android
|---tools/ #Andere Tools
Erstellen Sie [neuesplugin].py im entsprechenden Ordner (Kategorie) und definieren Sie init-Attribute, um ein neues Plugin zu IoT-Implant-Toolkit hinzuzufügen. Das Framework erkennt das neue Plugin automatisch beim Start.
Unverzichtbare Hardware-Werkzeuge für die Malware-Implantationsforschung. Siehe Bilder im Ordner HardwareTools/.
Wir haben aufgrund von Zeitmangel keine weiteren Plugins hinzugefügt.
Die folgende Tabelle enthält Tools, die nicht in unser Framework passen, aber nützlich sein könnten.
Wir hoffen, dass IoT-Implant-Tookit ein wesentliches Toolkit in der Malware-Implantation sein wird.
| Kategorien | Tools | Beschreibungen | Referenz |
|---|
| Serielle Debugging-Schnittstelle | pyserial | Modemsteuerungs- und Terminalemulationsprogramm | https://github.com/pyserial/pyserial |
| Serielle Debugging-Schnittstelle | baudrate.py | Finden der korrekten Baudrate | https://github.com/devttys0/baudrate |
| Firmware-Packen & -Entpacken | mksquashfs | Erstellen und Extrahieren von Squashfs-Dateisystemen | https://github.com/plougher/squashfs-tools |
| Firmware-Packen & -Entpacken | mkbootimg_tools | Entpacken und Neupacken von boot.img für Android | https://github.com/xiaolu/mkbootimg_tools |
| Firmware-Packen & -Entpacken | cramfs | Erstellen von cramfs-Dateisystemen | https://sourceforge.net/projects/cramfs/files/cramfs/1.1/ |
| Firmware-Packen & -Entpacken | mountimg | Ein- und Aushängen von ext4-Dateisystemen für Android system.img & data.img | Auf unserem Github |
| Softwareanalyse | setools-android | setools für Android mit sepolicy-inject | https://github.com/xmikos/setools-android |
| Softwareanalyse | crosscomplie | Cross-Kompilierungswerkzeugkette für arm | Später auf unserem Github |
| Softwareanalyse | odex unpack | Odex nach Smali für Android | Auf unserem Github |
| Binäre Implantation | spy client&server | Ein stabiler Spy-Client und -Server, Quell- und vorgefertigte Binärdateien | Auf unserem Github |
| Binäre Implantation | denoise tool | Entrauschungswerkzeug für die Audioverarbeitung | Auf unserem Github |
| Name | Beschreibung |
|---|
| Lötkolben | Lötwerkzeug |
| Lötdraht | Lötwerkzeug |
| Lötpaste | Lötwerkzeug |
| Lötlitze | Lötwerkzeug |
| Heißluftgebläse | Lötwerkzeug |
| Reballing-Werkzeug | Reballing-Werkzeug |
| USB-zu-TTL | Debug-/Konsolekabel |
| Dupont-Draht | Elektrokabel |
| EPROM-Brenner-Programmierer | Brenner-Programmierer |
| Kategorien | Tools | Beschreibungen | Referenz |
|---|
| Firmware-Analyse | binwalk | Ein schnelles, einfach zu verwendendes Werkzeug zur Analyse, Reverse Engineering und Extraktion von Firmware-Images | https://github.com/ReFirmLabs/binwalk |
| Firmware-Modifikation | firmware mod kit | Eine Sammlung von Skripten und Hilfsprogrammen zum Extrahieren und Wiederaufbauen von Linux-basierten Firmware-Images | https://github.com/rampageX/firmware-mod-kit |
| Cross-Compiler | buildroot | Cross-Compiler für arm, mips, powerpc | https://buildroot.org/ |