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
Herramientas/GitHubGitHub/nccgroup/rustproofing-linux
Análisis EstáticoAnálisis de VulnerabilidadesAnálisis de CódigoAprendizaje y EducaciónRecursos CuradosExplotación de BinariosLabs y Práctica
GitHubnccgroup/rustproofing-linux

rustproofing-linux

Ejemplos educativos que portan vulnerabilidades del kernel de Linux a Rust, con código y exploits vulnerables a propósito para aprender sobre seguridad del kernel y las garantías de seguridad de Rust.

Ver Repositorio
221hace 3 añosRevisado 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

Blindando Linux con Rust (Portando errores del kernel de Linux a Rust)

Este repositorio de código fuente es una colección de ejemplos que acompañan la publicación del blog en https://research.nccgroup.com/?p=18577.

NO UTILICES estos ejemplos para nada más que seguir la publicación del blog. Contienen vulnerabilidades a propósito, e incluso las versiones "corregidas" podrían contener errores.

Si deseas ejecutar los ejemplos de la publicación del blog, las siguientes pautas deberían facilitarte la tarea.

Obtener dependencias

Obtén el código fuente de Rust for Linux. Es posible que necesites instalar algunas dependencias listadas en [https://github.com/Rust-for-Linux/linux/blob/rust/Documentation/rust/quick-start.rst](la página de inicio rápido) .

root@kitploit:~
git clone https://github.com/Rust-for-Linux/linux rust-for-linux
cd rust-for-linux
git checkout bd123471269354fdd504b65b1f1fe5167cb555fc  # latest commit at the point of writing

Obtén virtme. También es posible que necesites instalar QEMU y algunas otras dependencias.

root@kitploit:~
git clone https://github.com/amluto/virtme

Encuentro virtme muy útil para probar rápidamente un cambio en el núcleo del kernel o en un módulo del kernel.

Compilar los kernels

Construye el kernel base sobre el que se ejecutarán la mayoría de los ejemplos:

root@kitploit:~
cd rust-for-linux
mkdir `pwd`.out
cp ../rustproofing-linux/configs/config-base `pwd`.out/.config
KBUILD_OUTPUT=`pwd`.out make -j$(nproc) LLVM=1

Y variantes con opciones de configuración ligeramente diferentes:

root@kitploit:~
mkdir `pwd`.out.ovf
cp `pwd`.out/.config `pwd`.out.ovf
scripts/config --file `pwd`.out.ovf/.config -d CONFIG_RUST_OVERFLOW_CHECKS
KBUILD_OUTPUT=`pwd`.out.ovf make -j$(nproc) LLVM=1

mkdir `pwd`.out.stackinit
cp `pwd`.out/.config `pwd`.out.stackinit
scripts/config --file `pwd`.out.stackinit/.config -e CONFIG_INIT_STACK_ALL_ZERO
KBUILD_OUTPUT=`pwd`.out.stackinit make -j$(nproc) LLVM=1

Ejecutar un kernel compilado

Usa el siguiente comando para iniciar el kernel compilado dentro de QEMU:

root@kitploit:~
../virtme/virtme-run --kdir `pwd`.out --show-command --show-boot-console --mods=auto -a "kasan_multi_shot" --qemu-opts -cpu core2duo -m 1G -smp 2

Cambia la opción --kdir cuando necesites ejecutar los otros dos kernels.

Los módulos se compilan luego con el siguiente comando. Ten en cuenta que KDIR debe apuntar al directorio con el kernel compilado, y que tendrás que recompilar para ../rust-for-linux.out.stackinit y ../rust-for-linux.out.ovf cuando pruebes ejemplos que requieran kernels compilados de forma diferente.

root@kitploit:~
cd ../rustproofing-linux
make LLVM=1 KDIR=../rust-for-linux.out

Los módulos se cargan y los exploits de prueba de concepto se ejecutan con la ayuda del script test.sh. Los ejemplos se encuentran en la publicación del blog.

Descargar herramienta