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
SockFuzzer — Framework de fuzzing de kernel guiado por cobertura que executa o XNU como uma biblioteca em userspace e descobre vulnerabilidades nos subsistemas BSD, Mach, memória virtual e processos. | Kitploit
Ferramentas/GitHubGitHub/googleprojectzero/sockfuzzer
Análise Dinâmica (Sandboxing)Segurança iOSAnálise de VulnerabilidadesFuzzingArchived
GitHubgoogleprojectzero/sockfuzzer

SockFuzzer

Framework de fuzzing de kernel guiado por cobertura que executa o XNU como uma biblioteca em userspace e descobre vulnerabilidades nos subsistemas BSD, Mach, memória virtual e processos.

Ver Repositório
4525517há 1 anoRevisado 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

SockFuzzer: Estrutura de Fuzzing do Kernel XNU

Status do Projeto

O SockFuzzer, originalmente projetado como um fuzzer focado em rede para o kernel XNU (usado em macOS e iOS), evoluiu para uma estrutura abrangente de fuzzing de kernel. Embora mantenha seu nome original como uma homenagem às suas origens, o SockFuzzer agora cobre uma ampla gama de subsistemas do kernel, incluindo BSD, Mach, memória virtual e muito mais. O projeto implementa uma abordagem única ao converter o kernel XNU em uma biblioteca que pode ser "inicializada" e submetida a fuzzing no espaço do usuário, permitindo a descoberta e reprodução eficiente de vulnerabilidades em vários subsistemas.

Objetivos do Projeto

  1. Testar de forma abrangente o kernel XNU em um ambiente controlado
  2. Descobrir e reproduzir vulnerabilidades em vários subsistemas do XNU
  3. Fornecer uma estrutura para fuzzing contínuo e melhoria da segurança do XNU
  4. Demonstrar o valor da implementação de técnicas avançadas de fuzzing na pesquisa de kernels
  5. Permitir testes eficientes de interações e subsistemas complexos do kernel

Visão Geral da Arquitetura

O SockFuzzer emprega um design de host/"convidado XNU", onde o kernel XNU é compilado como uma biblioteca e executado em um ambiente personalizado no espaço do usuário. Esta arquitetura consiste em vários componentes principais:

  1. Ambiente Host
  2. Biblioteca Convidada XNU
  3. Escalonador Personalizado (baseado no Concurrence)
  4. Mecanismo de Fuzzing (Centipede do projeto fuzztest do Google)
  5. Executor de Testes e Harness

Ambiente Host

O ambiente host fornece a base para executar a biblioteca convidada do XNU e gerenciar o processo de fuzzing. Ele inclui:

  • Implementações personalizadas de serviços essenciais do kernel
  • Interface de hypercall para comunicação entre o host e o convidado XNU
  • Executor de testes e harness para executar testes de fuzzing

Biblioteca Convidada XNU

O kernel XNU é compilado como uma biblioteca (libxnu) com modificações mínimas para executar no espaço do usuário. Os principais aspectos incluem:

  • Prefixação e gerenciamento de símbolos para evitar conflitos com símbolos do host
  • Exposição seletiva de funções internas do XNU por meio de um script de versão
  • Suporte a vários subsistemas: BSD, Mach, memória virtual, threads, processos, etc.
  • Camada pmap nula para suporte à memória virtual (com planos de suportar pmap ARM no futuro)

Escalonador Personalizado

Baseado no projeto Concurrence aprimorado, o escalonador personalizado agora suporta recursos completos de threading:

  • Executor: fornece criação, exclusão e troca de contexto de threads
  • FuzzedScheduler: gerencia estados de threads e decisões de escalonamento
  • Integração com a biblioteca convidada do XNU para suporte adequado a multithreading

Executor de Testes e Harness

O executor de testes e o harness gerenciam a execução de testes de fuzzing e fornecem:

  • Inicialização do ambiente convidado do XNU
  • Execução de entradas de fuzzing em vários subsistemas
  • Detecção e relato de falhas

Principais Recursos

  1. Cobertura Abrangente do Kernel XNU: teste vários subsistemas, incluindo BSD, Mach, memória virtual, threads e processos
  2. Execução do XNU no Espaço do Usuário: execute componentes do kernel XNU em um ambiente controlado no espaço do usuário
  3. Suporte Completo a Threading: aproveite o Concurrence aprimorado para recursos adequados de multithreading
  4. Suporte a Memória Virtual: utilize uma camada pmap nula com planos para suporte a pmap ARM
  5. Fuzzing de MIG: suporte para fuzzing de interfaces do Mach Interface Generator (MIG)
  6. Interface de Hypercall: facilite a comunicação entre o host e os componentes convidados do XNU

Recursos Suportados

  1. BSD
  2. Mach
  3. Memória Virtual (com camada pmap nula)
  4. Threads e Processos
  5. Rede
  6. Mensagens Mach
  7. Interfaces MIG

Fluxo de Trabalho

  1. O kernel XNU é compilado como uma biblioteca com as modificações necessárias
  2. O ambiente host inicializa a biblioteca convidada do XNU e o escalonador personalizado
  3. O Centipede gera entradas estruturadas usando definições de protobuf
  4. O harness de testes executa as entradas, invocando syscalls, mensagens Mach e outras interfaces do kernel
  5. O escalonador personalizado gerencia a execução de threads dentro do convidado XNU
  6. O ASAN monitora problemas de corrupção de memória
  7. Falhas e informações de cobertura são coletadas e analisadas

Limitações e Trabalhos Futuros

  1. Suporte a IOKit: a implementação atual não suporta subsistemas IOKit
  2. Fuzzing Apenas com Binários: a abordagem atualmente depende do código-fonte, que não inclui todos os módulos

Os trabalhos futuros incluem:

  • Implementar suporte a IOKit
  • Integrar suporte a pmap ARM para memória virtual
  • Adaptar técnicas para cenários de fuzzing apenas com binários
  • Continuar expandindo a cobertura e o suporte para subsistemas do XNU

Limitações da Versão Pública

Para manter este repositório bem organizado, várias dependências precisarão ser adicionadas pelos próprios usuários ao third_party, como xnu, bootstrap_cmds e algumas outras bibliotecas.

Baixar ferramenta