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
drow — Injeta código em executáveis ELF pós-build | Kitploit
Ferramentas/GitHubGitHub/zznop/drow
ExploraçãoEngenharia ReversaAnálise de BináriosExploração de Binários
GitHubzznop/drow

drow

Injeta código em executáveis ELF pós-build

Ver Repositório
23634há 2 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

drow Build Status

demo ich

Descrição

TL;DR

drow é um utilitário de linha de comando usado para injetar código e interceptar o ponto de entrada de executáveis ELF (pós-compilação). Ele recebe executáveis ELF não modificados como entrada e exporta um ELF modificado contendo um payload fornecido pelo usuário que é executado em tempo de execução.

Um pouco mais de detalhes ...

Drow realiza os seguintes passos para criar o novo ELF modificado:

  1. Mapear o executável ELF alvo não modificado e o payload fornecido pelo usuário, um blob independente de posição
  2. Localizar o primeiro segmento executável analisando os cabeçalhos de programa
  3. Localizar a última seção no segmento executável analisando os cabeçalhos de seção
  4. Expandir o sh_size do cabeçalho da última seção (no segmento) e o p_memsz/p_filesz do cabeçalho de programa pelo tamanho do payload fornecido pelo usuário
  5. Corrigir os sh_offset dos cabeçalhos de seção e os p_offset dos cabeçalhos de programa (deslocar seções e segmentos para abrir espaço para o payload e um pequeno "stager stub")
  6. Corrigir offsets no cabeçalho ELF (e_shoff, e_phoff, etc.)
  7. Modificar o e_entry do cabeçalho ELF (offset do ponto de entrada ELF) para apontar para o código injetado
  8. Criar um novo ELF contendo o código injetado e os cabeçalhos ELF modificados

Além de injetar o payload fornecido pelo usuário, o drow injeta um pequeno stub de código que é inserido no início do payload. Este stub foi projetado para chamar o payload. Se o payload for escrito para retornar ao chamador, após o payload retornar, o stager então faz uma chamada final para _start, restaurando a execução para que o programa possa rodar como pretendido.

Compilação

Instale o gcc e o scons. Em seguida, execute scons a partir da raiz do diretório.

Outras Informações

Além de compilar o drow, este projeto também compila um payload Linux x86-64 chamado rappers_delight.bin que simplesmente imprime em stdout. Isso pode ser usado para testes. Atualmente, o drow funciona apenas com arquivos ELF64 direcionados a x86-64.

Outros Trabalhos

Houve muito trabalho de código aberto feito neste domínio. Encorajo você a também conferir os seguintes projetos e publicações associadas:

  • The Cerberus ELF Interface: http://phrack.org/issues/61/8.html
  • The Backdoor Factory: https://github.com/secretsquirrel/the-backdoor-factory
  • ELFSH: http://www.eresi-project.org/
Baixar ferramenta