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
process-injection-playground — Uma coleção de amostras e material relacionado à injeção de processos. | Kitploit
Ferramentas/GitHubGitHub/oscerd/process-injection-playground
CTFTestes de PenetraçãoAprendizado e EducaçãoRed TeamingDesenvolvimento de PayloadsExploração de Binários
GitHuboscerd/process-injection-playground

process-injection-playground

Uma coleção de amostras e material relacionado à injeção de processos.

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
Ver Repositório
1há 8 mesesAinda não revisado

Playground de Injeção de Processos Linux

Uma coleção abrangente de técnicas de injeção de processos para Linux, demonstrando vários métodos de injeção de código em processos em execução. Estes exemplos destinam-se a fins educacionais, pesquisa de segurança e compreensão da manipulação de processos Linux de baixo nível.

Visão Geral

A injeção de processos é uma técnica usada para executar código no contexto de outro processo. Embora frequentemente associada a malware, essas técnicas também são valiosas para:

  • Pesquisa de Segurança: Compreender vetores de ataque e desenvolver defesas
  • Depuração: Analisar e modificar aplicações em execução
  • Instrumentação: Perfil de desempenho e monitoramento
  • Testes de Penetração: Avaliações de segurança autorizadas
  • Competições CTF: Desafios Capture The Flag

Técnicas Disponíveis

1. Injeção de Código Baseada em Ptrace

Diretório: ptrace/

O método clássico de injeção de processos que usa a chamada de sistema ptrace() para escrever diretamente shellcode na memória de um processo e redirecionar a execução.

Principais Características:

  • Manipulação direta de memória via PTRACE_POKETEXT
  • Sequestro do ponteiro de instrução (RIP)
  • Injeção de shellcode bruto

Caso de Uso: Compreender o controle de processos de baixo nível e a injeção direta de código

Leia mais →


2. Injeção LD_PRELOAD

Diretório: ld_preload/

Interposição de funções usando a variável de ambiente LD_PRELOAD para carregar uma biblioteca maliciosa antes de quaisquer outras bibliotecas.

Principais Características:

  • Injeção baseada em variável de ambiente
  • Hook de funções via interposição de símbolos
  • Funções construtoras/destrutoras
  • Fácil de implementar, mas também fácil de detectar

Caso de Uso: Hook de funções, monitoramento de API, modificação de comportamento

Leia mais →


3. Injeção por Escrita em /proc/mem

Diretório: proc_mem/

Escrita direta na memória através da interface de filesystem /proc/<pid>/mem, combinada com ptrace para controle do processo.

Principais Características:

  • Acesso direto à memória via filesystem
  • Mais eficiente que PTRACE_POKETEXT para payloads grandes
  • Operação de escrita única para o shellcode inteiro
  • Sem requisitos de alinhamento de palavras

Caso de Uso: Injeção rápida em massa na memória, contornando as limitações tradicionais do ptrace

Leia mais →


4. Injeção de Biblioteca via dlopen()

Diretório: dlopen_inject/

Técnica sofisticada que força um processo em execução a carregar uma biblioteca compartilhada ao sequestrar a execução para chamar dlopen().

Principais Características:

  • Funciona em processos já em execução (ao contrário do LD_PRELOAD)
  • Persistente (a biblioteca permanece carregada)
  • Permite payloads complexos com todos os recursos da biblioteca
  • Pode fazer hook de funções como o LD_PRELOAD, mas após a inicialização

Caso de Uso: Injeção persistente avançada, manipulação de bibliotecas em tempo de execução

Leia mais →


Início Rápido

Pré-requisitos

  • Sistema Linux (testado em x86_64)
  • Compilador GCC
  • Acesso root ou capacidade CAP_SYS_PTRACE
  • Ferramenta de build Make

Compilando Todos os Exemplos

root@kitploit:~
# Build ptrace injection
cd ptrace && make all

# Build LD_PRELOAD injection
cd ../ld_preload && make all

# Build /proc/mem injection
cd ../proc_mem && make all

# Build dlopen injection
cd ../dlopen_inject && make all

Padrão Básico de Uso

Cada técnica segue um padrão semelhante:

  1. Inicie o processo vítima:

    root@kitploit:~
    cd <technique>/victim-process
    ./sample
    

    Anote o PID exibido

  2. Execute a injeção:

    root@kitploit:~
    cd <technique>
    sudo ./<injector> <PID> [additional args]
    
  3. Observe os resultados: Verifique a saída do processo vítima para ver a execução do código injetado

Consulte os arquivos README individuais para instruções específicas de cada técnica.

Matriz de Comparação

Quando Usar Qual?

  • ptrace: Aprender fundamentos, injeção simples de shellcode
  • LD_PRELOAD: Hook rápido de funções, depuração, quando você controla a inicialização do processo
  • /proc/mem: Injeção rápida de payloads grandes, quando PTRACE_POKETEXT é muito lento
  • dlopen: Injeção persistente, payloads complexos, quando você precisa de todos os recursos da biblioteca

Considerações de Segurança

Medidas Defensivas

  1. Yama ptrace_scope: Restrinja o ptrace a usuários privilegiados

    root@kitploit:~
    echo 1 | sudo tee /proc/sys/kernel/yama/ptrace_scope
    
  2. SELinux/AppArmor: Controles de acesso obrigatórios

  3. Monitoramento: Use auditd para registrar tentativas de ptrace e injeção de processos

    root@kitploit:~
    auditctl -a exit,always -F arch=b64 -S ptrace
    
  4. Verificação de Integridade em Tempo de Execução: Verifique periodicamente a memória dos processos

  5. Assinatura de Código: Verifique assinaturas de bibliotecas

Métodos de Detecção

  • Monitore /proc/<pid>/maps para regiões de memória ou bibliotecas inesperadas
  • Fique atento a tentativas de anexação ptrace via logs do sistema
  • Verifique variáveis de ambiente (LD_PRELOAD)
  • Use ferramentas como lsof, pmap e utilitários de monitoramento de processos
  • Ative módulos de segurança do kernel

Aviso Legal e Ético

IMPORTANTE: Essas técnicas devem ser usadas apenas em contextos autorizados:

Este repositório é apenas para fins educacionais e de pesquisa. Os autores não são responsáveis pelo uso indevido dessas técnicas. Sempre obtenha autorização adequada antes de testar em qualquer sistema.

Solução de Problemas

Problemas Comuns

Erros de permissão negada:

  • Execute com sudo
  • Verifique /proc/sys/kernel/yama/ptrace_scope
  • Verifique as políticas do SELinux/AppArmor

Injeção falha silenciosamente:

  • Verifique se o processo alvo não está vinculado estaticamente
  • Verifique se o processo alvo tem as bibliotecas necessárias carregadas
  • Garanta que o shellcode esteja correto para sua arquitetura

Falhas de segmentação:

  • Verifique se você está na arquitetura x86_64
  • Verifique se o processo alvo não está protegido
  • Garanta o alinhamento adequado da memória

Consulte os READMEs de cada técnica para orientações específicas de solução de problemas.

Contribuindo

Contribuições são bem-vindas! Adições potenciais:

  • Técnicas adicionais de injeção (hook de GOT/PLT, manipulação de VDSO, etc.)
  • Equivalentes para Windows para comparação
  • Ferramentas de detecção/prevenção
  • Suporte para arquitetura ARM
  • Exemplos adicionais de shellcode
  • Exemplos de programação defensiva

Referências

Documentação

  • man 2 ptrace - Chamada de sistema para rastreamento de processos
  • man 5 proc - Documentação do filesystem /proc
  • man 3 dlopen - Carregamento dinâmico de bibliotecas
  • Código-fonte do kernel Linux: gerenciamento de memória de processos

Pesquisas Relacionadas

  • Técnicas e evolução de "Linux Process Injection"
  • Metodologias de "Ptrace Injection"
  • Melhores práticas de "Shared Library Injection"
  • MITRE ATT&CK: T1055 (Injeção de Processos)

Licença

Consulte LICENSE.txt para obter detalhes.

Aviso

Este software é fornecido "como está" para fins educacionais. Use com responsabilidade e ética. Sempre obtenha autorização adequada antes de testar técnicas de segurança em qualquer sistema que não seja seu.

Baixar ferramenta
TécnicaComplexidadeFurtividadePersistênciaVelocidadeFunciona em Processo em Execução
ptraceMédiaBaixaNãoMédiaSim
LD_PRELOADBaixaMuito BaixaNãoRápidaNão
/proc/memMédiaBaixaNãoRápidaSim
dlopenAltaMédiaSimMédiaSim