Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Strumenti/GitHubGitHub/zznop/drow
ExploitReverse EngineeringAnalisi di BinariBinary Exploitation
GitHubzznop/drow

drow

Inietta codice negli eseguibili ELF dopo la build

Vedi Repository
2363432 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

drow Build Status

demo ich

Descrizione

TL;DR

drow è un'utilità a riga di comando utilizzata per iniettare codice e hookare il punto di ingresso di eseguibili ELF (dopo la compilazione). Prende eseguibili ELF non modificati come input ed esporta un ELF modificato contenente un payload fornito dall'utente che viene eseguito in fase di runtime.

Un po' più di dettaglio...

Drow esegue i seguenti passaggi per creare il nuovo ELF patchato:

  1. Mappa l'eseguibile ELF bersaglio non modificato e il payload fornito dall'utente, un blob position-independent
  2. Individua il primo segmento eseguibile analizzando gli header dei programmi
  3. Individua l'ultima sezione nel segmento eseguibile analizzando gli header delle sezioni
  4. Espande l'header di sezione sh_size dell'ultima sezione (nel segmento) e p_memsz/p_filesz dell'header del programma della dimensione del payload fornito dall'utente
Scarica lo strumento
  • Aggiusta gli sh_offset degli header delle sezioni e i p_offset degli header dei programmi (sposta in basso sezioni e segmenti per fare spazio al payload e a un piccolo "stager stub")
  • Aggiusta gli offset nell'header ELF (e_shoff, e_phoff, ecc...)
  • Modifica e_entry (offset del punto di ingresso ELF) nell'header ELF per puntare al codice iniettato
  • Crea un nuovo ELF contenente il codice iniettato e gli header ELF modificati
  • Oltre a iniettare il payload fornito dall'utente, drow inietta un piccolo stub di codice che viene preposto all'inizio del payload. Questo stub è progettato per chiamare il payload. Se il payload è scritto per tornare al chiamante, dopo il ritorno del payload lo stager esegue una tailcall a _start, ripristinando l'esecuzione in modo che il programma possa funzionare come previsto.

    Compilazione

    Installa gcc e scons. Quindi esegui scons dalla radice della directory.

    Altre Informazioni

    Oltre a compilare drow, questo progetto compila anche un payload Linux x86-64 chiamato rappers_delight.bin che semplicemente stampa su stdout. Questo può essere utilizzato per i test. Attualmente, drow funziona solo con file ELF64 destinati a x86-64.

    Altri Lavori

    C'è molto lavoro open source fatto in questo dominio. Ti incoraggio a dare un'occhiata anche ai seguenti progetti e pubblicazioni correlate:

    • 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/