Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
oni-framework — Logiciel C2 pour systèmes embarqués écrit en C/C# | Kitploit
Outils/GitHubGitHub/kiwidoggie/oni-framework
Sécurité des Systèmes EmbarquésDébogueursCommandement et ContrôleSécurité MatérielleOutil d'Accès à DistanceAnalyse de MicrologicielArchived
GitHubkiwidoggie/oni-framework

oni-framework

Logiciel C2 pour systèmes embarqués écrit en C/C#

Voir le dépôt
19128il y a 7 ansPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Oni-Framework

Oni framework est une plateforme de développement logiciel pour dispositifs embarqués. Elle est utilisée pour déboguer/ajouter des fonctionnalités à distance sur un dispositif embarqué. Actuellement, les concepts principaux sont un système de plugins entièrement modulaire, avec RPC local et distant. Cela a été conçu pour fonctionner au niveau de privilège ring-0, mais avec quelques ajustements peut également être utilisé aux niveaux ring-3. Attention, ceci n'est PAS destiné à une utilisation en production, seulement pour les développeurs souhaitant une plateforme de construction facile pour la recherche.

  • Actuellement, ce projet est en développement et peut ne pas être entièrement testé
  • Nécessite une bonne connaissance de C/C#
  • Magie

Nouvelles fonctionnalités !

Fonctionnalités actuellement prises en charge

  • Système RPC local et distant entièrement robuste
  • Toutes les fonctions utilisées sont ébauchées afin de faciliter le portage vers différentes plates-formes
  • Utilitaire de transfert de fichiers
  • Système de journalisation en couleurs (fonctionne via UART avec PUTTY)

Fonctionnalités prévues :

  • Cadre de débogage
  • Gestion et installation de paquets à distance
  • Communication entre dispositifs
  • Chargement et déchargement à chaud des modules de plugins
  • Auto-élévation de ring-3 à ring-0 (BYO-EntryPoint)

Construction et installation

Oni-Framework nécessite simplement que vous vérifiiez ce répertoire et implémentiez le fichier oni/utils/kdlsym/default.h avec toutes les implémentations requises. Après cela, il devrait compiler correctement avec gcc ou clang et produire un fichier exécutable. Vous devrez fournir votre propre méthode d'exécution, mais pour la plupart des dispositifs embarqués, cela peut être réalisé via un shell SSH, un shell via telnet, ou n'importe quel shell d'ailleurs. D'autres dispositifs peuvent devoir se charger dans le contexte mémoire en cours d'exécution, puis sauter vers main qui devrait gérer tous les problèmes d'initialisation.

  1. Clonez le dépôt git clone https://github.com/kiwidoggie/oni-framework.git a. Optionnel : Définissez l'emplacement des en-têtes FreeBSD export BSD_INC="/chemin/vers/les/en-tetes/freebsd/include"
  2. Si vous construisez pour la première fois, vous devez exécuter make create qui créera la structure de dossiers
  3. Construisez en utilisant make a. Si vous n'avez pas défini la variable d'environnement, vous pouvez construire avec make BSD_INC=/chemin/vers/les/en-tetes/freebsd/include

Portage vers différentes plates-formes

Oni-Framework ne dépend pas d'une libc entièrement fonctionnelle, et est conçu pour être construit et exécuté de manière totalement autonome (à condition que toutes les conditions préalables soient remplies). Au lieu de cela, les fonctionnalités nécessaires sont assemblées à partir du minimum de fonctions existantes, soit dans le contexte d'un processus en cours d'exécution, soit dans le contexte du noyau (ce dernier est le seul testé).

  1. Créez une nouvelle cible kdlsym (résolution de symbole dynamique du noyau) en créant un nouvel en-tête dans include/oni/utils/kdlsym/my_platform.h
  2. Copiez et collez le contenu de include/oni/utils/kdlsym/default.h dans votre fichier d'en-tête nouvellement créé
  3. Ajoutez votre nouvelle cible à 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. Ajoutez votre cible au fichier de configuration situé à include/oni/config.h
root@kitploit:~
// Dispositif inconnu
#define ONI_UNKNOWN_PLATFORM		-1
#define ONI_MY_PLATFORM		5
  1. Modifiez la cible de construction actuelle en remplaçant #define ONI_PLATFORM ONI_UNKNOWN_PLATFORM par #define ONI_PLATFORM ONI_MY_PLATFORM

Développeurs

Si vous souhaitez contribuer, soumettez simplement une pull request. Sinon, il n'y a pas de véritable support pour cela à ce stade. Cela pourrait changer à l'avenir

twitter @diwidog

Disposition des messages

Télécharger l’outil
Décalage binaireLongueur binaireNomDescriptionUtilisation
03MagieIl s'agit d'une simple magie d'en-tête de paquet pour s'assurer que les messages sont traités correctementOBLIGATOIRE : Doit être défini sur 0101b ou 5 (déc)
34Catégorie de messageCela décrit la catégorie vers laquelle acheminer le message du côté d'oni-frameworkOBLIGATOIRE : Maximum de 14 catégories (5 actuellement utilisées)
732Erreur/Type de messageCe champ contient le code d'erreur, ou le type de messageREQUÊTES : Doit être défini sur le type de message actuellement calculé par CRC32(NomDuMessage), RÉPONSE : Défini sur le code d'erreur/valeur de retour
3916Taille de la charge utileC'est la longueur des données qui suivent l'en-tête du messageOPTIONNEL : Défini sur 0 si pas de charge utile, sinon attend des données
551RequêteCe drapeau sera défini sur 1 si le message est une requête, ou 0 s'il s'agit d'une réponseOBLIGATOIRE
567RéservéRéservéIGNORÉ : Défini sur 0