Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
oni-framework — C2-Software für eingebettete Systeme, geschrieben in C/C# | Kitploit
Tools/GitHubGitHub/kiwidoggie/oni-framework
Embedded-System-SicherheitDebuggerCommand and ControlHardware-SicherheitRemote-Access-ToolFirmware-AnalyseArchived
GitHubkiwidoggie/oni-framework

oni-framework

C2-Software für eingebettete Systeme, geschrieben in C/C#

Repository anzeigen
1912vor 7 JahrenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Oni-Framework

Das Oni-Framework ist eine Plattform für die Softwareentwicklung für eingebettete Geräte. Es wird verwendet, um ein eingebettetes Gerät remote zu debuggen bzw. um Funktionen hinzuzufügen. Derzeit sind die Hauptkonzepte ein vollständig modulares Plugin-System mit lokalem und Remote-RPC. Es wurde für die Ausführung auf Privilegienstufe Ring-0 entwickelt, kann aber mit einigen Anpassungen auch auf Ring-3-Ebenen verwendet werden. Sei gewarnt: Dies ist NICHT für den Produktionseinsatz gedacht, sondern nur für Entwickler, die eine einfache Build-Plattform für Forschungszwecke suchen.

  • Derzeit befindet sich dieses Projekt in der Entwicklung und ist möglicherweise nicht vollständig getestet
  • Es werden fundierte Kenntnisse in C/C# benötigt
  • Magie

Neue Funktionen!

Derzeit unterstützte Funktionen

  • Vollständig robustes lokales und Remote-RPC-System
  • Alle verwendeten Funktionen sind als Stubs angelegt, um die Portierung auf verschiedene Plattformen zu erleichtern
  • Dienstprogramm zur Dateiübertragung
  • Farb-Logging-System (funktioniert über UART mit PUTTY)

Geplante Funktionen:

  • Debugging-Framework
  • Remote-Paketverwaltung und -installation
  • Kommunikation zwischen Geräten
  • Laden und Entladen von Plugin-Modulen im laufenden Betrieb (Hot-Swap)
  • Selbstständige Eskalation von Ring-3 zu Ring-0 (BYO-EntryPoint)

Erstellung und Installation

Das Oni-Framework erfordert lediglich, dass du dieses Verzeichnis auscheckst und die Datei oni/utils/kdlsym/default.h mit allen erforderlichen Implementierungen ausfüllst. Danach sollte es mit gcc oder clang problemlos kompilieren und eine ausführbare Datei erzeugen. Du musst eine BYO-Ausführungsmethode mitbringen, aber bei den meisten eingebetteten Geräten kann dies über eine SSH-Shell, eine Shell über Telnet oder über jede beliebige Shell bewerkstelligt werden. Andere Geräte müssen möglicherweise in einen laufenden Speicherkontext geladen werden und dann zu main springen, das sich um alle Initialisierungsprobleme kümmern sollte.

  1. Klone das Repository git clone https://github.com/kiwidoggie/oni-framework.git a. Optional: Setze den Speicherort der FreeBSD-Header export BSD_INC="/path/to/freebsd/headers/include"
  2. Wenn du zum ersten Mal baust, musst du make create ausführen, das die Ordnerstruktur erstellt
  3. Baue mit make a. Wenn du die Umgebungsvariable nicht gesetzt hast, kannst du mit make BSD_INC=/path/to/freebsd/headers/include bauen

Portierung auf andere Plattformen

Das Oni-Framework ist nicht auf ein voll funktionsfähiges libc angewiesen und ist so konzipiert, dass es vollständig eigenständig erstellt werden und laufen kann (sofern alle Voraussetzungen erfüllt sind). Stattdessen wird die benötigte Funktionalität aus dem absoluten Minimum vorhandener Funktionen zusammengesetzt – entweder im Kontext eines laufenden Prozesses oder im Kernel-Kontext (letzteres ist der einzige getestete).

  1. Erstelle ein neues kdlsym-Ziel (Kernel Dynamic Symbol Resolution), indem du einen neuen Header in include/oni/utils/kdlsym/my_platform.h erstellst
  2. Kopiere den Inhalt von include/oni/utils/kdlsym/default.h und füge ihn in deine neu erstellte Header-Datei ein
  3. Füge dein neues Ziel zu include/oni/utils/kdlsym.h hinzu
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. Füge dein Ziel der Konfigurationsdatei hinzu, die sich unter include/oni/config.h befindet
root@kitploit:~
// Unknown device
#define ONI_UNKNOWN_PLATFORM		-1
#define ONI_MY_PLATFORM		5
  1. Ändere das aktuelle Build-Ziel, indem du #define ONI_PLATFORM ONI_UNKNOWN_PLATFORM in #define ONI_PLATFORM ONI_MY_PLATFORM änderst

Entwickler

Wenn du einen Beitrag leisten möchtest, reiche einfach einen Pull-Request ein. Ansonsten gibt es derzeit keinen echten Support dafür. Das könnte sich in der Zukunft ändern

twitter @diwidog

Nachrichtenlayout

Tool herunterladen
Bit-OffsetBitlängeNameBeschreibungVerwendung
03MagicDies ist eine einfache Packet-Header-Magic, um sicherzustellen, dass Nachrichten ordnungsgemäß verarbeitet werdenERFORDERLICH: Muss auf 0101b oder 5 (dezimal) gesetzt werden
34Message CategoryDies beschreibt, an welche Kategorie die Nachricht auf der Oni-Framework-Seite weitergeleitet wirdERFORDERLICH: Maximal 14 Kategorien (aktuell 5 in Verwendung)
732Error/MessageTypeDieses Feld enthält den Fehlercode oder den NachrichtentypANFRAGEN: Muss auf den Nachrichtentyp gesetzt werden, der aktuell per CRC32(MessageName) berechnet wird. ANTWORT: Wird auf den Fehlercode/Rückgabewert gesetzt
3916Payload SizeDies ist die Länge der Daten, die auf den Nachrichtenheader folgenOPTIONAL: Auf 0 setzen, wenn keine Nutzdaten vorhanden sind, andernfalls werden Daten erwartet
551RequestDieses Flag wird auf 1 gesetzt, wenn die Nachricht eine Anfrage ist, oder auf 0, wenn es eine Antwort istERFORDERLICH
567ReservedReserviertIGNORIERT: Auf 0 setzen