Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
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
gustave — GUSTAVE é uma plataforma de fuzzing para kernels de sistemas operacionais embarcados. É baseada no QEMU e AFL (e todos os seus forkserver irmãos). Permite realizar fuzzing em kernels de SO como se fossem aplicações simples. | Kitploit
Ferramentas/GitHubGitHub/airbus-seclab/gustave
Segurança de Sistemas EmbarcadosFuzzingAnálise de Binários
GitHubairbus-seclab/gustave

gustave

GUSTAVE é uma plataforma de fuzzing para kernels de sistemas operacionais embarcados. É baseada no QEMU e AFL (e todos os seus forkserver irmãos). Permite realizar fuzzing em kernels de SO como se fossem aplicações simples.

Ver Repositório
20321há 5 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

(c) Airbus 2021, sduverger

GUSTAVE - Fuzzer de kernel de SO embarcado

O que é?

GUSTAVE é uma plataforma de fuzzing para kernels de SO embarcados. É baseado no QEMU e no AFL (e todos os seus forkservers irmãos). Permite fuzzear kernels de SO como se fossem aplicações simples.

Graças ao QEMU, é multi-plataforma. Pode-se ver o GUSTAVE como uma implementação do forkserver do AFL dentro do QEMU, com inspeção de alvo de grão fino.

Quais são os kernels suportados?

GUSTAVE foi principalmente projetado para kernels de SO embarcados. Pode não ser a melhor ferramenta para fuzzear kernels grandes e complexos como os encontrados no Windows, Linux ou MACOS.

No entanto, se você tem um alvo que pode ser preparado com uma ou duas aplicações para iniciar sem qualquer interação do usuário, pode ser interessante dar uma chance ao GUSTAVE.

Como funciona?

A ferramenta afl-fuzz, do projeto AFL, é usada para fuzzear automaticamente o seu alvo. No entanto, o AFL não pode fuzzear diretamente um kernel de SO e espera que seu alvo analise diretamente os casos de teste gerados.

Resumindo, afl-fuzz executará o QEMU com integração do GUSTAVE como seu alvo. Por sua vez, o GUSTAVE lidará com:

  • sincronização do forkserver
  • tradução dos casos de teste gerados para chamadas de sistema do alvo
  • monitoramento do kernel alvo (cobertura de execução e acessos à memória)

Assim como o modo AFL/QEMU-user encontrado no projeto AFL++, o GUSTAVE implementa instrumentação binária no nível IR TCG do QEMU para cobertura de código.

No entanto, você pode optar por desativá-la e reconstruir o código do kernel alvo com apenas partes específicas sujeitas à análise de cobertura de código. Você terá que injetar shims do AFL no momento da compilação para atualizar os bitmaps de rastreamento, no entanto. Essa foi a nossa abordagem inicial (veja Publicações).

Menos prevalente nas soluções existentes, o GUSTAVE não se preocupa em monitorar kernel panics. Nós os consideramos erros gerenciados e queremos descobrir comportamentos ilegais que não dispararam nenhum alarme.

Para esse propósito, o GUSTAVE depende de um bitmap de filtragem de memória orientado a bytes O(1) para detectar acessos ilegais do kernel. Pode haver um grande debate sobre o que poderia ser considerado ilegal do ponto de vista do kernel. Mas em ambientes embarcados restritos e altamente determinísticos, você pode se sentir confortável em definir áreas de memória legítimas para seu firmware e rastrear acessos fora dos limites.

Como se compara às soluções existentes?

Existem abordagens comparáveis, tais como:

  • PowerFL
  • Project Triforce
  • afl-unicorn
  • kAFL

As escolhas de design do GUSTAVE implicam nas seguintes diferenças:

  • realmente agnóstico ao alvo (SO, arquitetura), desde que o QEMU ofereça suporte
  • cobre todas as chamadas de sistema implementadas no kernel alvo
  • não são necessários desenvolvedores específicos dentro do alvo

No entanto, você ainda precisa informar ao GUSTAVE:

  • como seu alvo lida com chamadas de sistema
  • qual é o layout de memória legítimo do seu alvo

Status atual?

Hardware hospedeiro

Por enquanto, apenas hospedeiros x86 são suportados; como muitos ambientes de trabalho são baseados nessa arquitetura, não consideramos isso uma limitação proibitiva.

A restrição vem da forma como implementamos inicialmente o backend de filtragem de memória no nível tcg-target para o caminho rápido de load/store do QEMU. A arquitetura recente de callbacks de memória TCGPlugin pode ser uma abordagem alternativa para suportar qualquer hospedeiro.

Hardware convidado

Implementamos e testamos suporte para Intel x86 e PowerPC. A implementação do GUSTAVE é independente de arquitetura. Se você puder executar seu alvo com QEMU, pode fuzzeá-lo com GUSTAVE com pouco esforço.

Fornecemos placas de exemplo Intel 440FX e PowerPC PREP com integração GUSTAVE. A implementação da sua própria placa é muito fácil e consiste em envolver a função MACHINE_INIT para uma determinada arquitetura.

Também adicionamos suporte para shims de instrumentação GUSTAVE para x86 e PowerPC ao afl-gcc, caso você não queira prosseguir com a instrumentação binária TCG.

Exemplo de alvo

Fornecemos desenvolvimentos específicos para o micro-kernel POK:

  • firmware com aplicações simples
  • gerador de ABI de chamadas de sistema para x86/PPC
  • bitmap de filtragem

Como usar?

Você precisará:

  • compilar o AFL
  • compilar o QEMU com integração GUSTAVE
  • criar ou gerar o bitmap de filtragem
  • escrever um arquivo de configuração JSON para seu alvo
  • executá-lo em um terminal

Leia o manual para o alvo POK.

Publicações

Material de diferentes palestras sobre GUSTAVE pode ser encontrado em https://airbus-seclab.github.io/.

Baixar ferramenta