Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
oni-framework — Программное обеспечение C2 для встраиваемых систем, написанное на C/C# | Kitploit
Инструменты/GitHubGitHub/kiwidoggie/oni-framework
Безопасность встроенных системОтладчикиКомандование и УправлениеАппаратная БезопасностьИнструмент Удаленного ДоступаАнализ ПрошивокArchived
GitHubkiwidoggie/oni-framework

oni-framework

Программное обеспечение C2 для встраиваемых систем, написанное на C/C#

Репозиторий
19127 лет назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Oni-Framework

Oni framework — это платформа для разработки программного обеспечения встраиваемых устройств. Она используется для удаленной отладки/добавления функциональности на встраиваемое устройство. На данный момент основными концепциями являются полностью модульная система плагинов с локальным и удаленным RPC. Проект был спроектирован для работы на уровне привилегий ring-0, но с некоторыми доработками может использоваться и на уровнях ring-3. Следует помнить: это НЕ для продакшн-использования, а только для разработчиков, которым нужна простая платформа для исследовательской сборки.

  • В настоящее время проект находится в разработке и может быть не полностью протестирован
  • Потребуется приличное знание C/C#
  • Магия

Новые возможности!

Текущие поддерживаемые возможности

  • Полностью надежная локальная и удаленная RPC-система
  • Все используемые функции имеют заглушки для упрощения портирования на разные платформы
  • Утилита передачи файлов
  • Цветная система логирования (работает через UART с PUTTY)

Планируемые возможности:

  • Отладочный фреймворк
  • Удаленное управление пакетами и установка
  • Взаимодействие между устройствами
  • «Горячая» загрузка и выгрузка модулей плагинов
  • Самостоятельное повышение привилегий с ring-3 до ring-0 (BYO-EntryPoint)

Сборка и установка

Oni-Framework требует только, чтобы вы склонировали этот репозиторий и реализовали файл oni/utils/kdlsym/default.h со всеми необходимыми реализациями. После этого проект должен собраться с помощью gcc или clang и создать исполняемый файл. Вам потребуется свой метод выполнения (BYO-execution), но для большинства встраиваемых устройств это можно сделать через ssh-оболочку, оболочку по telnet или любую другую оболочку. На других устройствах может потребоваться загрузиться в контекст работающей памяти, а затем перейти к main, который должен позаботиться обо всех вопросах инициализации.

  1. Склонируйте репозиторий git clone https://github.com/kiwidoggie/oni-framework.git a. Опционально: укажите расположение заголовков FreeBSD export BSD_INC="/path/to/freebsd/headers/include"
  2. Если вы собираете проект впервые, необходимо выполнить make create — это создаст структуру папок
  3. Соберите с помощью make a. Если вы не задали переменную окружения, можно собрать с помощью make BSD_INC=/path/to/freebsd/headers/include

Портирование на разные платформы

Oni-Framework не полагается на полнофункциональную libc и создан так, чтобы собираться и работать полностью автономно (при условии выполнения всех предварительных требований). Вместо этого необходимая функциональность собирается из минимального набора существующих функций — либо в контексте работающего процесса, либо в контексте ядра (последнее является единственным протестированным).

  1. Создайте новую цель kdlsym (разрешение динамических символов ядра), добавив новый заголовочный файл в include/oni/utils/kdlsym/my_platform.h
  2. Скопируйте и вставьте содержимое include/oni/utils/kdlsym/default.h в ваш новый заголовочный файл
  3. Добавьте вашу новую цель в include/oni/utils/kdlsym.h
root@kitploit:~
#if ONI_PLATFORM==ONI_UNKNOWN_PLATFORM
#include "kdlsym/default.h"
#elif ...
#elif ONI_PLATFORM==ONI_MY_PLATFORM
#include "kdlsym/my_platform.h"
#endif
  1. Добавьте вашу цель в файл конфигурации, расположенный по пути include/oni/config.h
root@kitploit:~
// Unknown device
#define ONI_UNKNOWN_PLATFORM		-1
#define ONI_MY_PLATFORM		5
  1. Измените текущую цель сборки, заменив #define ONI_PLATFORM ONI_UNKNOWN_PLATFORM на #define ONI_PLATFORM ONI_MY_PLATFORM

Разработчики

Если вы хотите внести свой вклад, просто отправьте pull request. В противном случае на данный момент реальной поддержки нет. В будущем это может измениться

twitter @diwidog

Структура сообщения

Скачать инструмент
Смещение (бит)Длина (бит)ИмяОписаниеИспользование
03MagicПростое магическое число заголовка пакета для проверки корректности обработки сообщенийОБЯЗАТЕЛЬНО: должно быть 0101b или 5 (дес.)
34Категория сообщенияОпределяет категорию, по которой сообщение будет направлено на стороне oni-frameworkОБЯЗАТЕЛЬНО: максимум 14 категорий (5 в настоящее время используются)
732Ошибка/Тип сообщенияСодержит код ошибки или тип сообщенияЗАПРОСЫ: должно быть установлено в тип сообщения, вычисляемый в настоящее время как CRC32(ИмяСообщения); ОТВЕТ: устанавливается в код ошибки/возвращаемое значение
3916Размер полезной нагрузкиДлина данных, следующих после заголовка сообщенияОПЦИОНАЛЬНО: 0, если нет полезной нагрузки, иначе ожидаются данные
551ЗапросЭтот флаг устанавливается в 1, если сообщение является запросом, или в 0, если это ответОБЯЗАТЕЛЬНО
567ЗарезервированоЗарезервированоИГНОРИРУЕТСЯ: установить в 0