Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
rustproofing-linux — Exemplos educacionais que portam vulnerabilidades do kernel Linux para Rust, apresentando código intencionalmente vulnerável e exploits para o aprendizado de segurança do kernel e da segurança do Rust. | Kitploit
Ferramentas/GitHubGitHub/nccgroup/rustproofing-linux
Análise EstáticaAnálise de VulnerabilidadesAnálise de CódigoAprendizado e EducaçãoRecursos CuradosExploração de BináriosLabs e Prática
GitHubnccgroup/rustproofing-linux

rustproofing-linux

Exemplos educacionais que portam vulnerabilidades do kernel Linux para Rust, apresentando código intencionalmente vulnerável e exploits para o aprendizado de segurança do kernel e da segurança do Rust.

Ver Repositório
2219há 3 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

À prova de Rust (Portando Bugs do Kernel Linux para Rust)

Este repositório de código-fonte é uma coleção de exemplos que acompanham a publicação no blog em https://research.nccgroup.com/?p=18577.

NÃO USE estes exemplos para nada além de acompanhar a publicação no blog. Eles contêm vulnerabilidades intencionalmente, e até mesmo as versões "corrigidas" podem conter bugs.

Se você deseja executar os exemplos da publicação no blog, as diretrizes a seguir devem facilitar isso.

Obter dependências

Obtenha o código-fonte do Rust for Linux. Talvez seja necessário instalar algumas dependências listadas em [https://github.com/Rust-for-Linux/linux/blob/rust/Documentation/rust/quick-start.rst](a página de início rápido) .

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

Obtenha o virtme. Talvez você também precise instalar o QEMU e algumas outras dependências.

git clone https://github.com/amluto/virtme

Acho o virtme realmente útil para testar rapidamente uma alteração no núcleo do kernel ou em um módulo de kernel.

Compilar os kernels

Construa o kernel base no qual a maioria dos exemplos será executada:

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

E variantes com opções de configuração ligeiramente diferentes:

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

Executando um kernel compilado

Use o seguinte comando para iniciar o kernel compilado dentro do QEMU:

../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

Altere a opção --kdir quando precisar executar os outros dois kernels.

Os módulos são então compilados com o seguinte comando. Observe que KDIR precisa apontar para o diretório com o kernel compilado, e que você precisará recompilar para ../rust-for-linux.out.stackinit e ../rust-for-linux.out.ovf ao testar exemplos que exijam kernels compilados de forma diferente.

cd ../rustproofing-linux
make LLVM=1 KDIR=../rust-for-linux.out

Os módulos são carregados e os exploits de prova de conceito são executados com a ajuda do script test.sh. Os exemplos são encontrados na publicação do blog.

Baixar ferramenta