Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
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
provisioner — Sistema de aprovisionamiento y compartición para SBCs | Kitploit
Herramientas/GitHubGitHub/alessandrocarminati/provisioner
Seguridad de Sistemas EmbebidosMapeo de RedesScripting y AutomatizaciónSeguridad de Hardware e IoTHerramienta de Acceso RemotoAnálisis de Firmware
GitHubalessandrocarminati/provisioner

provisioner

Sistema de aprovisionamiento y compartición para SBCs

Ver Repositorio
759hace 7 mesesAú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

Provisioner

Resumen

Provisioner es un asistente de aprovisionamiento orientado a desarrolladores para ordenadores de placa única (SBCs), particularmente plataformas basadas en U-Boot.

image info

Proporciona un entorno autocontenido para:

  • Acceder a placas de forma remota
  • Automatizar flujos de trabajo de puesta en marcha
  • Aprovisionar kernels y sistemas de archivos raíz
  • Ejecutar operaciones de grabación
  • Compartir hardware de laboratorio de forma segura

El modelo operativo es intencionadamente simple:

Una placa => Una instancia de Provisioner

Provisioner se ejecuta cerca del hardware y expone acceso remoto controlado a los desarrolladores a través de una interfaz segura y multiplexada.

Componentes del Sistema

El proyecto se compone de dos elementos principales:

ComponenteSe ejecuta enRol
ProvisionerHost / nodo de laboratorioPlano de control, puerta de enlace serie, servicios de aprovisionamiento
goinitPlaca objetivoAgente de grabación y entorno de ejecución de aprovisionamiento

Provisioner orquesta los flujos de trabajo; goinit los ejecuta localmente en la placa.

Resumen de la Arquitectura

Provisioner conecta tres planos operativos:

  1. Plano de Acceso de Usuario: Monitor SSH y túneles
  2. Plano de Aprovisionamiento: Entrega de artefactos vía TFTP y HTTP
  3. Plano de Control de la Placa: Consola serie y APIs de goinit

Esto permite un control continuo desde el gestor de arranque hasta el aprovisionamiento en tiempo de ejecución.

Subsistemas Principales

Motor Serie

Posee la conexión física de consola y proporciona:

  • Multiplexación de consola
  • Monitor interactivo
  • Automatización de scripts
  • Transferencia de archivos
  • Registro de actividad (logging)

La conexión serie sigue siendo la ruta de control de último recurso.

Servicios de Aprovisionamiento

Servicios embebidos que proporcionan artefactos de arranque:

TFTP

  • Entrega del kernel
  • Obtención de proxy HTTP a través de nombres de archivo codificados

HTTP

  • Imágenes de sistema de archivos raíz
  • Árboles de dispositivos
  • Artefactos del kernel
  • Binarios genéricos

Plano de Control vía SSH

Provisioner expone un punto final SSH unificado que actúa como capa de acceso y control.

Todas las interacciones remotas están multiplexadas sobre una única conexión SSH y gobernadas mediante autenticación de clave pública.

Los canales multiplexados incluyen:

  • Shell de monitor
  • Túneles de consola serie
  • CLI de control
  • Transferencias de archivos

Gobernanza de acceso:

  • Identidad de clave pública
  • Habilitación/deshabilitación de túnel por usuario
  • Aplicación centralizada de permisos

Por lo tanto, SSH transporta tanto:

  • Tráfico del plano de gestión
  • Flujos del plano de datos serie

Enrutador Interno

En el corazón del modelo de E/S de Provisioner se encuentra el enrutador, un artefacto de software conectable que gestiona los flujos de terminal entre productores y consumidores.

Todo el tráfico de consola fluye a través de este componente en lugar de directamente entre subsistemas.

Modelo Productor / Consumidor

Los clientes del enrutador pueden:

  • Producir datos de terminal
  • Consumir datos de terminal
  • Operar bidireccionalmente

Ejemplos:

  • Sesiones de monitor SSH
  • Túneles serie
  • Scripts de automatización
  • Agentes de registro
  • Utilidades de transferencia

Clientes Humanos vs Maquinales

El enrutador distingue entre dos variantes de cliente:

TipoCaracterísticasEjemplos
HumanoInteractivo, consciente de ANSITerminales SSH
MáquinaDeterminista, E/S crudaScripts, automatización

Esto permite un manejo de flujo adaptado para usabilidad versus determinismo.

Estrategias de Enrutamiento

Unidifusión

  • Un único destinatario
  • Utilizado para sesiones de control exclusivo o transferencias

Multidifusión

  • Entrega en difusión
  • Utilizado para monitoreo, registro, observadores

Varios ingenieros pueden observar la misma consola sin interferencias.

Vigilante ANSI

Un vigilante conectable dedicado mitiga los matices del terminal ANSI:

  • Observa secuencias de control
  • Normaliza artefactos de renderizado
  • Previene roturas en automatización

Implementado como un plugin en lugar de lógica fija.

CLI del Monitor

El shell del monitor proporciona control interactivo de la placa.

> ?  
 ? : this text  
 board_stat : report last goinit board stat; board must have printed PROVISIONER_MGMT_*  
 echo : echoes back the argument  
 enuser : enable user for tunnel  
 exec_assm : Load and executes the specified assm script  
 exec_scr : Load and executes the specified script  
 exec_state : returns the state of the specified script  
 exit : exit this shell  
 filter : Filter commands: type 'filter help' for more info  
 help : this text  
 log_serial : copies in a file ser.log all sent and received from the serial. Note: overwrites previous.  
 log_serial_stop : Requires serila log subsystem to stop.  
 send_serial : send file over serial: send_serial <file> <plain|gzip|xmodem_unix|xmodem_uboot> [dest_path]  
 send_serial_deps : check remote deps for send_serial plain/gzip: stty, dd, base64, gzip, rm (or busybox).  
 toff : command PDU using snmp to turn off the board  
 ton : command PDU using snmp to turn on the board  
 tterm : terminate serial tunnel connection  
 ulist : list user state for tunnel  
>

Subsistema de Filtros

filter help
available: enable, disable, default, show, add, remove, help

Las reglas pueden definirse en ASCII o HEX:

filter add ascii Hello Hello World 
filter add hex 48656c6c6f 48656c6c6f 576f726c64

Los filtros pueden:

  • Interceptar datos recibidos
  • Reenviar o suprimir flujos
  • Inyectar respuestas

Esto es útil para la automatización de arranque y la normalización de la consola.

Transferencia de Archivos por Serie

Provisioner soporta transferencia directa de archivos por serie:

send_serial <file> <mode> [dest_path]

Modos:

ModoMétodo
plainBase64
gzipBase64 + compresión
xmodem_unixXMODEM vía rx
xmodem_ubootXMODEM vía loadx

Dependencias verificadas mediante:

send_serial_deps

Utilidades requeridas:

  • stty
  • dd
  • base64
  • gzip
  • rm / busybox

Integración con send_console-ng

El motor de transferencia deriva de la utilidad independiente send_console-ng, adaptada a Provisioner. Permite la transferencia de archivos cuando:

  • No existe red
  • Solo hay un prompt de shell disponible
  • Las herramientas de recuperación deben enviarse manualmente

Capacidades:

  • Configuración remota del terminal
  • Compresión y codificación
  • Flujo de datos almacenado en búfer
  • Sondear dependencias

En comparación con la utilidad original:

  • Dependencias stdbuf y cat eliminadas
  • dd introducido por portabilidad
  • Soporte XMODEM añadido donde existan receptores

Esto permite que Provisioner opere incluso en estados de placa gravemente degradados.

Automatización y Scripting

assm: Scripts Nativos

Motor de espera (expect) tipo ensamblador:

  • Coincidencia de prompts
  • Respuestas deterministas
  • Ejecución orientada a bytes

Ideal para flujos de inicio de sesión y arranque.

exec_scr: Scripts Externos

Descargar herramienta