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
shim — Cargador de arranque shim UEFI | Kitploit
Herramientas/GitHubGitHub/rhboot/shim
Herramientas DefensivasSeguridad de Sistemas EmbebidosCriptografíaSeguridad de HardwareSeguridad de Cadena de SuministroAutenticación
GitHubrhboot/shim

shim

Cargador de arranque shim UEFI

Ver Repositorio
1.1k3505hace 1 mesRevisado por Kitploit

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

shim, un cargador de arranque UEFI de primera etapa

shim es una aplicación EFI trivial que, al ejecutarse, intenta abrir y ejecutar otra aplicación. Inicialmente intentará hacerlo mediante las llamadas estándar de EFI LoadImage() y StartImage(). Si estas fallan (porque Secure Boot está habilitado y el binario no está firmado con una clave apropiada, por ejemplo), entonces validará el binario contra un certificado incorporado. Si esto tiene éxito y si el binario o la clave de firma no están prohibidos, shim reubicará y ejecutará el binario.

protocolos

protocolo de bloqueo de shim

shim también instalará un protocolo que permite al cargador de arranque de segunda etapa realizar una validación binaria similar. Este protocolo tiene un GUID como se describe en el archivo de cabecera shim.h y proporciona un único punto de entrada. En sistemas de 64 bits, este punto de entrada espera ser llamado con la ABI SysV en lugar de MSABI, por lo que las llamadas al mismo no deben envolverse.

protocolo cargador de shim

Desde la versión 16.1, shim sobrescribe la tabla del sistema e instala su propia versión de las funciones LoadImage()/StartImage()/UnloadImage()/Exit(), de modo que las segundas etapas pueden simplemente llamarlas desde la tabla del sistema, y funcionará tanto si shim es la primera etapa como si no, sin requerir código específico de shim en las segundas etapas.

Cuando este protocolo está instalado, las UKI firmadas Imágenes de Kernel Unificadas pueden cargarse incluso si el kernel anidado no está firmado, ya que después de que la UKI se carga y valida, shim construye una lista de permitidos interna de todas las secciones contenidas en la UKI. Cuando se carga una imagen desde una de esas secciones, se valida contra listas de denegación (DBX/MOKX/SBAT en el momento de escribir esto), pero no se comprueba contra listas de permitidos (hashes/firmas DB/MOK), ya que la imagen externa ya fue validada y la imagen interna queda así cubierta por esas firmas o hashes. Además, la imagen interna no se mide en el TPM, para evitar mediciones dobles.

TPM

En sistemas con un chip TPM habilitado y soportado por el firmware del sistema, shim extenderá varios PCR con los resúmenes (digests) de los objetivos que está cargando. La lista completa está en el archivo README.tpm .

compilaciones y pruebas

Para usar shim, simplemente coloca un certificado público codificado en DER en un archivo como pub.cer y compila con make VENDOR_CERT_FILE=pub.cer.

Hay un par de opciones de compilación y un par de formas de personalizar la compilación, descritas en BUILDING.

Consulta el plan de pruebas y abre un ticket si algo falla.

contactos

En caso de que sea necesario contactar a los desarrolladores en relación con un incidente de seguridad o una vulnerabilidad, envía un correo a [email protected].

Descargar herramienta