
Инструментарий для атак с внедрением на устройства IoT
IoT-Implant-Toolkit — это набор полезных инструментов для исследования внедрения вредоносного ПО в IoT-устройства. Это набор, состоящий из необходимых программных средств для модификации прошивок, отладки через последовательный порт, анализа программного обеспечения и создания стабильных шпионских клиентов. Благодаря простой и расширяемой среде, напоминающей командную оболочку, IoT-Implant-Toolkit является комплексным решением, упрощающим сложную процедуру внедрения вредоносного ПО в IoT.
В ходе нашего исследования мы успешно внедрили трояны в восемь устройств, включая умные колонки, камеры, видеорегистраторы и мобильные переводчики, с помощью IoT-Implant-Toolkit.
Демонстрационное видео ниже:

Убедитесь, что у вас установлены git, python3 и setuptools.
Для обработки и воспроизведения аудио необходимо установить alsa (встроен в Linux), sox и ffplay. В Ubuntu 18.04:
$ sudo apt install sox ffmpeg
Загрузите исходный код из нашего репозитория на Github:
$ git clone https://github.com/arthastang/IoT-Implant-Toolkit.git
Настройте окружение и установите зависимости:
$ cd IoT-Implant-Toolkit/
$ python3 setup.py install
Запустите набор инструментов:
$ 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]>
Поддерживается три команды:
list — вывести список всех плагинов
run — запустить конкретный плагин с помощью "run [plugin] [parameters]"
exit — выйти
Каждый программный инструмент работает как плагин, который легко добавляется в фреймворк.
В набор входит более десяти плагинов четырёх категорий, включая темы: отладка через последовательный порт, упаковка и распаковка прошивок, анализ программного обеспечения и внедрение шпионских программ.
Существующие плагины в нашем фреймворке:
Структура кода:
--IoT-Implant_toolkit.py #Стартовый скрипт
--outputs/ #Папка для результатов по умолчанию
--toolkit/
|---core/
|---basic/ #Определение базового класса плагина
|---cli/ #Определение CLI в стиле оболочки
|---toollist/ #Автообновляемый список плагинов
|---plugins/
|---firmware/ #Плагины для модификации прошивок
|---implant/ #Плагины для генерации шпионских программ
|---serialport/ #Плагины для отладки последовательного порта
|---software/ #Плагины для анализа ПО, особенно для Android
|---tools/ #Другие инструменты
Создайте [newplugin].py в соответствующей папке (категории) и определите атрибуты init, чтобы добавить новый плагин в IoT-Implant-Toolkit. Фреймворк автоматически обнаружит новый плагин при запуске.
Необходимые аппаратные средства для исследования внедрения вредоносного ПО. См. изображения в папке HardwareTools/ .
Мы не добавили больше плагинов из-за нехватки времени.
Приведённая ниже таблица содержит инструменты, которые не вписываются в наш фреймворк, но могут быть полезны.
Мы надеемся, что IoT-Implant-Tookit станет незаменимым набором инструментов для внедрения вредоносного ПО.
| Категории | Инструменты | Описания | Ссылка |
|---|
| Отладка последовательного порта | pyserial | управление модемом и программа эмуляции терминала | https://github.com/pyserial/pyserial |
| Отладка последовательного порта | baudrate.py | поиск правильной скорости передачи | https://github.com/devttys0/baudrate |
| Упаковка и распаковка прошивок | mksquashfs | создание и извлечение файловой системы Squashfs | https://github.com/plougher/squashfs-tools |
| Упаковка и распаковка прошивок | mkbootimg_tools | Распаковка и перепаковка boot.img для Android | https://github.com/xiaolu/mkbootimg_tools |
| Упаковка и распаковка прошивок | cramfs | создание файловой системы cramfs | https://sourceforge.net/projects/cramfs/files/cramfs/1.1/ |
| Упаковка и распаковка прошивок | mountimg | монтирование и размонтирование файловых систем ext4 для system.img и data.img Android | В нашем Github |
| Анализ ПО | setools-android | setools для Android с sepolicy-inject | https://github.com/xmikos/setools-android |
| Анализ ПО | crosscomplie | инструментарий кросс-компиляции для ARM | позже в нашем Github |
| Анализ ПО | odex unpack | Преобразование Odex в smali для Android | в нашем Github |
| Внедрение бинарников | spy client&server | стабильный шпионский клиент и сервер, исходный код и готовые бинарники | в нашем Github |
| Внедрение бинарников | denoise tool | инструмент подавления шума для обработки аудио | в нашем Github |
| Название | Описание |
|---|
| Паяльник | Инструменты для пайки |
| Припой | Инструменты для пайки |
| Паяльная паста | Инструменты для пайки |
| Паяльная оплётка | Инструменты для пайки |
| Термофен | Инструменты для пайки |
| Трафарет для реболлинга | Инструмент для реболлинга |
| USB-to-TTL | Кабель для отладки/консоли |
| Провода «папа-мама» | Электрические провода |
| Программатор EPROM | Программатор для ПЗУ |
| Категории | Инструменты | Описания | Ссылка |
|---|
| Анализ прошивок | binwalk | быстрый и простой в использовании инструмент для анализа, обратной разработки и извлечения образов прошивок | https://github.com/ReFirmLabs/binwalk |
| Модификация прошивок | firmware mod kit | набор скриптов и утилит для извлечения и пересборки образов прошивок на основе Linux | https://github.com/rampageX/firmware-mod-kit |
| Кросс-компилятор | buildroot | Кросс-компилятор для arm, mips, powerpc | https://buildroot.org/ |