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
Ferramentas/GitHubGitHub/io12/pwninit
ExploraçãoEngenharia ReversaScripting e AutomaçãoCTFExploração de Binários
GitHubio12/pwninit

pwninit

Automatiza a configuração de desafios de exploração binária corrigindo binários ELF, buscando linkers correspondentes, revertendo o strip da libc e gerando scripts de solução com pwntools.

Ver Repositório
1.1k79há 27 diasRevisado 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

Checks Status Deploy Status

pwninit

Uma ferramenta para automatizar o início de desafios de exploração de binários

Recursos

  • Torna o binário do desafio executável
  • Baixa um linker (ld-linux.so.*) que consegue carregar o libc fornecido sem causar segfault
  • Baixa os símbolos de depuração e remove o strip do libc
  • Aplica patch no binário com patchelf para usar o RPATH e o interpreter corretos para o libc fornecido
  • Preenche um modelo de script solve do pwntools

Uso

Versão curta

Execute pwninit

Versão longa

Execute pwninit em um diretório com os arquivos relevantes e ele detectará quais são o binário, o libc e o linker. Se a detecção estiver errada, você pode especificar os locais com --bin, --libc e --ld.

Modelo personalizado de solve.py

Se você não gostar do modelo padrão, pode usar o seu próprio. Basta especificar --template-path <caminho>. Consulte template.py para ver o formato do modelo. Os nomes das ligações exe, libc e ld podem ser personalizados com --template-bin-name, --template-libc-name e --template-ld-name.

Persistindo um solve.py personalizado

Você pode fazer o pwninit carregar seu modelo personalizado automaticamente adicionando um alias ao seu ~/.bashrc.

Exemplo
root@kitploit:~
alias pwninit='pwninit --template-path ~/.config/pwninit-template.py --template-bin-name e'

Instalação

Arch Linux

Instale o pwninit ou o pwninit-bin a partir do AUR.

Download

Você pode baixar os binários musl de linkagem estática na página de releases.

Usando cargo

Execute

root@kitploit:~
cargo install pwninit

Isso coloca o binário em ~/.cargo/bin.

Observe que openssl, liblzma e pkg-config são necessários para a compilação.

Exemplo

root@kitploit:~
$ ls
hunter  libc.so.6  readme

$ pwninit
bin: ./hunter
libc: ./libc.so.6

setting ./hunter executable
fetching linker
https://launchpad.net/ubuntu/+archive/primary/+files//libc6_2.23-0ubuntu10_i386.deb
unstripping libc
https://launchpad.net/ubuntu/+archive/primary/+files//libc6-dbg_2.23-0ubuntu10_i386.deb
setting ./ld-2.23.so executable
copying ./hunter to ./hunter_patched
running patchelf on ./hunter_patched
writing solve.py stub

$ ls
hunter	hunter_patched	ld-2.23.so  libc.so.6  readme  solve.py

solve.py:

root@kitploit:~
#!/usr/bin/env python3

from pwn import *

exe = ELF("./hunter_patched")
libc = ELF("./libc.so.6")
ld = ELF("./ld-2.23.so")

context.binary = exe


def conn():
    if args.LOCAL:
        r = process([exe.path])
        if args.GDB:
            gdb.attach(r)
    else:
        r = remote("addr", 1337)

    return r


def main():
    r = conn()

    # good luck pwning :)

    r.interactive()


if __name__ == "__main__":
    main()
Baixar ferramenta