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
dlinject — Inietta una libreria condivisa (cioè codice arbitrario) in un processo Linux in esecuzione, senza ptrace | Kitploit
Strumenti/GitHubGitHub/davidbuchanan314/dlinject
ExploitShellcodeRed Teaming
GitHubdavidbuchanan314/dlinject

dlinject

Inietta una libreria condivisa (cioè codice arbitrario) in un processo Linux in esecuzione, senza ptrace

Vedi Repository
8278641 anno 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

dlinject.py

Inietta una libreria condivisa (cioè codice arbitrario) in un processo Linux live, senza ptrace. Ispirato da Cexigua e linux-inject, tra gli altri.

asciicast

Utilizzo

root@kitploit:~
    .___.__  .__            __               __
  __| _/|  | |__| ____     |__| ____   _____/  |_  ______ ___.__.
 / __ | |  | |  |/    \    |  |/ __ \_/ ___\   __\ \____ <   |  |
/ /_/ | |  |_|  |   |  \   |  \  ___/\  \___|  |   |  |_> >___  |
\____ | |____/__|___|  /\__|  |\___  >\___  >__| /\|   __// ____|
     \/              \/\______|    \/     \/     \/|__|   \/

source: https://github.com/DavidBuchanan314/dlinject

usage: dlinject.py [-h] [--stopmethod {sigstop,cgroup_freeze,none}]
                   pid /path/to/lib.so

Inject a shared library into a live process.

positional arguments:
  pid                   The pid of the target process
  /path/to/lib.so       Path of the shared library to load (note: must be
                        relative to the target process's cwd, or absolute)

optional arguments:
  -h, --help            show this help message and exit
  --stopmethod {sigstop,cgroup_freeze,none}
                        How to stop the target process prior to shellcode
                        injection. SIGSTOP (default) can have side-effects.
                        cgroup freeze requires root. 'none' is likely to cause
                        race conditions.

Perché?

  • Perché posso.

  • Esistono varie tecniche anti-ptrace, che questo metodo elude semplicemente non usando ptrace.

  • Non mi piace ptrace.

  • Usare LD_PRELOAD a volte può essere complesso o impossibile, se il processo in cui si vuole iniettare è generato da un altro processo con un ambiente pulito.

Come funziona

  • Invia il segnale di stop al processo target. (opzionale)

  • Localizza il simbolo _dl_open().

  • Recupera RIP e RSP tramite /proc/[pid]/syscall.

  • Crea un backup di una parte dello stack e del codice che stiamo per sovrascrivere con il nostro shellcode, leggendo da /proc/[pid]/mem.

  • Genera buffer di shellcode primario e secondario.

  • Inserisce lo shellcode primario in RIP, scrivendo su /proc/[pid]/mem.

  • Lo shellcode primario:

    • Spinge i registri comuni nello stack.
    • Carica lo shellcode secondario tramite mmap().
    • Salta allo shellcode secondario.
  • Lo shellcode secondario:

    • Ripristina lo stack e il codice del programma allo stato originale.
    • Sposta lo stack (per non toccare quello originale).
    • Chiama _dl_open() per caricare la libreria specificata dall'utente. Eventuali costruttori verranno eseguiti al caricamento, come di consueto.
    • Ripristina lo stato dei registri, riporta lo stack e salta al punto in cui si trovava al momento dell'originale SIGSTOP.

Limitazioni:

  • Inviare SIGSTOP può causare effetti collaterali indesiderati, ad esempio se un altro thread è in attesa su waitpid(). L'opzione --stopmethod=cgroup_freeze evita questo problema, ma richiede i permessi di root (almeno sulla maggior parte delle distribuzioni).

  • Non sono del tutto sicuro di come questo interagirà con applicazioni multi-thread complesse. C'è sicuramente il potenziale per malfunzionamenti.

  • Solo Linux x86-64 (per ora – il supporto a 32 bit potrebbe essere aggiunto in futuro).

  • Richiede i permessi di root o una configurazione YAMA rilassata (echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope è utile per i test).

  • Se il processo target è in una sandbox (es. filtri seccomp), potrebbe non avere i permessi per chiamare mmap() per lo shellcode secondario, o per dlopen() la libreria.

Scarica lo strumento