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
exrop — Gerador automatizado de cadeias ROP para binários x86-64 usando execução simbólica. Suporta escritas em registradores/memória, chamadas de função, syscalls, evitação de badchars, pivô de pilha e modo kernel com reescrita de retpoline. | Kitploit
Ferramentas/GitHubGitHub/d4em0n/exrop
Frameworks de ExploraçãoGeração de PayloadsEngenharia ReversaCTFExploração de Binários
GitHubd4em0n/exrop

exrop

Gerador automatizado de cadeias ROP para binários x86-64 usando execução simbólica. Suporta escritas em registradores/memória, chamadas de função, syscalls, evitação de badchars, pivô de pilha e modo kernel com reescrita de retpoline.

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

Exrop

Gerador automático de cadeias ROP para binários x86-64, alimentado pela execução simbólica do Triton.

Funcionalidades

  • Definir registradores para constantes ou outros registradores (rdi=0x41414141, rdi=rax)
  • Escrever na memória (endereços/valores baseados em constantes e registradores)
  • Escrever strings/bytes na memória
  • Chamadas de função com argumentos mistos de constante/registrador/string (open("/etc/passwd", 0))
  • Cadeias de syscall
  • Evitação de caracteres inválidos
  • Suporte a gadgets sem retorno (jmp reg, call reg)
  • Pivotamento de pilha com busca de cadeias JOP para exploits de kernel
  • Modo kernel com reescrita automática de thunk retpoline
  • Modo apenas limpo para filtrar gadgets com escritas de memória de efeito colateral perigoso
  • Composição baseada em sufixo: gadgets de múltiplas instruções construídos a partir de sufixos já analisados
  • Análise de gadgets com multiprocessamento e barra de progresso
  • Cache de gadgets (pickle) para reutilização rápida

Instalação

pip (recomendado)

root@kitploit:~
pip install git+https://github.com/d4em0n/exrop.git

Isso instala o exrop e suas dependências Python (pyelftools, ROPGadget, triton-library).

Nota: O pacote pip triton-library pode não funcionar em todas as plataformas. Se a instalação falhar, compile o Triton a partir do código-fonte e instale o exrop sem a dependência do Triton:

root@kitploit:~
pip install --no-deps git+https://github.com/d4em0n/exrop.git
pip install pyelftools ROPGadget

Para desenvolvimento (instalação editável com dependências de teste):

root@kitploit:~
git clone https://github.com/d4em0n/exrop.git
cd exrop
pip install -e ".[dev]"

Manual

  1. Instale Python 3.6+
  2. Instale o Triton
  3. Instale o ROPGadget
  4. Opcional: instale o Keystone (necessário apenas para testes)
  5. Clone este repositório e adicione-o ao seu path do Python:
    root@kitploit:~
    git clone https://github.com/d4em0n/exrop.git
    export PYTHONPATH=/path/to/exrop:$PYTHONPATH
    

Início Rápido

root@kitploit:~
from Exrop import Exrop

rop = Exrop("/bin/ls")
rop.find_gadgets(cache=True)

# Set registers
chain = rop.set_regs({'rdi': 0x41414141, 'rsi': 0x42424242, 'rdx': 0x43434343})
chain.dump()

# Write to memory
chain = rop.set_writes({0x41414141: 0xdeadbeefff, 0x43434343: 0x00110011})
chain.dump()

# Write string to memory
chain = rop.set_string({0x41414141: "Hello world!\n"})
chain.dump()

# Function call
chain = rop.func_call(0x41414141, (0x20, 0x30, "Hello"), 0x7fffff00)
chain.dump()

Saída:

root@kitploit:~
$RSP+0x0000 : 0x00000000000060d0 # pop rbx; ret
$RSP+0x0008 : 0x0000000044444444
$RSP+0x0010 : 0x0000000000014852 # mov rax, rbx; pop rbx; ret
$RSP+0x0018 : 0x0000000000000000
$RSP+0x0020 : 0x0000000000004ce5 # pop rdi; ret
$RSP+0x0028 : 0x0000000041414141
$RSP+0x0030 : 0x000000000000629c # pop rsi; ret
$RSP+0x0038 : 0x0000000042424242
$RSP+0x0040 : 0x0000000000003a62 # pop rdx; ret
$RSP+0x0048 : 0x0000000043434343
$RSP+0x0050 : 0x00000000000060d0 # pop rbx; ret
$RSP+0x0058 : 0x0000000045454545

Modo Kernel

Para kernels Linux com mitigações retpoline, kernel_mode=True detecta automaticamente símbolos thunk, reescreve gadgets e restringe à seção .text:

root@kitploit:~
from Exrop import Exrop

rop = Exrop("/path/to/vmlinux")
rop.find_gadgets(cache=True, kernel_mode=True)
rop.clean_only = True  # exclude gadgets with dangerous side-effect writes

# Set registers
chain = rop.set_regs({'rdi': 0x41414141, 'rsi': 0})
chain.dump()

# Find pivot gadgets (direct, JOP-chained, indirect)
pivots = rop.stack_pivot_reg('rdi')
for p in pivots[:5]:
    p.dump()

# Build payload for a pivot
payload = pivots[0].build_payload(chain)

CLI do exkrop

O comando exkrop fornece um fluxo de trabalho interativo para geração de cadeias ROP de kernel com seleção de pivot e saída de código C:

root@kitploit:~
exkrop <vmlinux>
# or: python3 -m exkrop <vmlinux>

Funcionalidades: templates de exploit (privesc, sobrescrita de core_pattern), saída relativa ao KASLR, navegador de gadgets pivot, manipulação de offsets reservados e geração de código C. Veja exkrop/README.md para detalhes.

Exemplo de Espaço do Usuário: open-read-write

root@kitploit:~
from pwn import *
from Exrop import Exrop

libc = ELF("/lib/x86_64-linux-gnu/libc.so.6", checksec=False)
rop = Exrop(libc.path)
rop.find_gadgets(cache=True)

bss = libc.bss()

chain = rop.func_call(libc.symbols['open'], ("/etc/passwd", 0), bss)
chain.set_base_addr(0x00007ffff79e4000)
chain.dump()

chain = rop.func_call(libc.symbols['read'], ('rax', bss, 0x100))
chain.set_base_addr(0x00007ffff79e4000)
chain.dump()

chain = rop.func_call(libc.symbols['write'], (1, bss, 0x100))
chain.set_base_addr(0x00007ffff79e4000)
chain.dump()

Mais exemplos no diretório examples/.

Baixar ferramenta