Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
oni-framework — Software C2 para sistemas embebidos escrito en C/C# | Kitploit
Herramientas/GitHubGitHub/kiwidoggie/oni-framework
Seguridad de Sistemas EmbebidosDepuradoresComando y ControlSeguridad de HardwareHerramienta de Acceso RemotoAnálisis de FirmwareArchived
GitHubkiwidoggie/oni-framework

oni-framework

Software C2 para sistemas embebidos escrito en C/C#

Ver Repositorio
1912hace 7 añosAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Oni-Framework

Oni framework es una plataforma para el desarrollo de software de dispositivos embebidos. Se utiliza para depurar/añadir funcionalidad de forma remota a un dispositivo embebido. Por ahora, los conceptos principales son un sistema de plugins totalmente modular, con RPC local y remoto. Fue diseñado para ejecutarse en el nivel de privilegio ring-0, pero con algunos ajustes también se puede usar en niveles ring-3. Ten en cuenta que esto NO es para uso en producción, solo para desarrolladores que quieran una plataforma de construcción fácil para investigación.

  • Actualmente este proyecto está en desarrollo, y puede no estar completamente probado
  • Se necesitará un conocimiento decente de C/C#
  • Magia

¡Nuevas características!

Características actualmente soportadas

  • Sistema RPC local y remoto totalmente robusto
  • Todas las funciones utilizadas se dejan como stubs para facilitar el portado a diferentes plataformas
  • Utilidad de transferencia de archivos
  • Sistema de registro (logging) con colores (funciona por UART con PUTTY)

Funcionalidades planificadas:

  • Framework de depuración
  • Gestión e instalación remota de paquetes
  • Comunicación entre dispositivos
  • Carga y descarga en caliente de módulos de plugins
  • Auto-escalada de ring-3 a ring-0 (BYO-EntryPoint)

Compilación e instalación

Oni-Framework solo requiere que clones este directorio e implementes el archivo oni/utils/kdlsym/default.h con todas las implementaciones requeridas. Después de esto, debería compilar sin problemas con gcc o clang y producir un archivo ejecutable. Necesitarás traer tu propio método de ejecución (BYO), pero para la mayoría de los dispositivos embebidos esto se puede lograr mediante un shell SSH, un shell a través de telnet, o cualquier otro shell, de hecho. Otros dispositivos pueden tener que cargarse en el contexto de memoria en ejecución y luego saltar a main, que debería encargarse de todos los problemas de inicialización.

  1. Clona el repositorio git clone https://github.com/kiwidoggie/oni-framework.git a. Opcional: Establece la ubicación de los encabezados de FreeBSD export BSD_INC="/path/to/freebsd/headers/include"
  2. Si es la primera vez que compilas, debes ejecutar make create, que creará la estructura de carpetas
  3. Compila usando make a. Si no has establecido la variable de entorno, puedes compilar con make BSD_INC=/path/to/freebsd/headers/include

Portado a diferentes plataformas

Oni-Framework no depende de una libc completamente funcional, y está construido para compilarse y ejecutarse de forma totalmente independiente (siempre que se cumplan todos los requisitos previos). En su lugar, la funcionalidad necesaria se ensambla a partir del mínimo indispensable de funciones existentes, ya sea en el contexto de un proceso en ejecución o en el contexto del kernel (este último es el único probado).

  1. Crea un nuevo objetivo kdlsym (resolución dinámica de símbolos del kernel) creando un nuevo encabezado en include/oni/utils/kdlsym/my_platform.h
  2. Copia y pega el contenido de include/oni/utils/kdlsym/default.h en tu archivo de encabezado recién creado
  3. Añade tu nuevo objetivo a 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. Añade tu objetivo al archivo de configuración que se encuentra en include/oni/config.h
root@kitploit:~
// Unknown device
#define ONI_UNKNOWN_PLATFORM		-1
#define ONI_MY_PLATFORM		5
  1. Cambia el objetivo de compilación actual cambiando #define ONI_PLATFORM ONI_UNKNOWN_PLATFORM por #define ONI_PLATFORM ONI_MY_PLATFORM

Desarrolladores

Si quieres contribuir, simplemente envía una pull request. De lo contrario, no hay soporte real para esto en este momento. Esto puede cambiar en el futuro

twitter @diwidog

Diseño del mensaje

Descargar herramienta
Offset de bitsLongitud de bitsNombreDescripciónUso
03MagicEste es un número mágico simple de cabecera de paquete para asegurar que los mensajes se procesan correctamenteREQUERIDO: Debe establecerse a 0101b o 5 (dec)
34Categoría de mensajeDescribe a qué categoría debe enrutarse el mensaje en el lado de oni-frameworkREQUERIDO: Máximo de 14 categorías (5 en uso actualmente)
732Error/MessageTypeEste campo contiene el código de error o el tipo de mensajeSOLICITUDES: Debe establecerse al tipo de mensaje, que se calcula actualmente mediante CRC32(MessageName). RESPUESTA: Se establece al código de error/valor de retorno
3916Tamaño del payloadEs la longitud de los datos que van después de la cabecera del mensajeOPCIONAL: Establecer a 0 si no hay payload; de lo contrario, se esperarán datos
551SolicitudEsta marca se establecerá a 1 si el mensaje es una solicitud, o a 0 si es una respuestaREQUERIDO
567ReservadoReservadoIGNORADO: Establecer a 0