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
process-injection-playground — Una raccolta di campioni e materiale relativo all'iniezione di processi | Kitploit
Strumenti/GitHubGitHub/oscerd/process-injection-playground
CTFPenetration TestingApprendimento e FormazioneRed TeamingSviluppo PayloadBinary Exploitation
GitHuboscerd/process-injection-playground

process-injection-playground

Una raccolta di campioni e materiale relativo all'iniezione di processi

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
Vedi Repository
18 mesi faNon ancora revisionato

Linux Process Injection Playground

Una raccolta completa di tecniche di process injection per Linux, che dimostra vari metodi per iniettare codice in processi in esecuzione. Questi esempi sono pensati per scopi educativi, ricerca sulla sicurezza e comprensione della manipolazione dei processi Linux a basso livello.

Panoramica

La process injection è una tecnica utilizzata per eseguire codice nel contesto di un altro processo. Sebbene spesso associata a malware, queste tecniche sono utili anche per:

  • Ricerca sulla sicurezza: Comprendere i vettori di attacco e sviluppare difese
  • Debugging: Analizzare e modificare applicazioni in esecuzione
  • Strumentazione: Profilazione delle prestazioni e monitoraggio
  • Penetration Testing: Valutazioni di sicurezza autorizzate
  • Competizioni CTF: Sfide Capture The Flag

Tecniche Disponibili

1. Iniezione di Codice basata su Ptrace

Directory: ptrace/

Il classico metodo di process injection che utilizza la chiamata di sistema ptrace() per scrivere direttamente shellcode nella memoria di un processo e reindirizzarne l'esecuzione.

Caratteristiche Principali:

  • Manipolazione diretta della memoria tramite PTRACE_POKETEXT
  • Hijacking del Instruction Pointer (RIP)
  • Iniezione di shellcode grezzo

Caso d'Uso: Comprendere il controllo dei processi a basso livello e l'iniezione diretta di codice

Leggi di più →


2. Iniezione LD_PRELOAD

Directory: ld_preload/

Interposizione di funzioni tramite la variabile d'ambiente LD_PRELOAD per caricare una libreria dannosa prima di tutte le altre librerie.

Caratteristiche Principali:

  • Iniezione basata su variabile d'ambiente
  • Hooking di funzioni tramite interposizione di simboli
  • Funzioni costruttrici/distruttrici
  • Facile da implementare ma anche facile da rilevare

Caso d'Uso: Hooking di funzioni, monitoraggio di API, modifica del comportamento

Leggi di più →


3. Iniezione via Scrittura su /proc/mem

Directory: proc_mem/

Scrittura diretta in memoria tramite l'interfaccia del filesystem /proc/<pid>/mem, combinata con ptrace per il controllo del processo.

Caratteristiche Principali:

  • Accesso diretto alla memoria tramite filesystem
  • Più efficiente di PTRACE_POKETEXT per payload di grandi dimensioni
  • Singola operazione di scrittura per l'intero shellcode
  • Nessun requisito di allineamento delle parole

Caso d'Uso: Iniezione rapida di memoria in blocco, bypassando i limiti tradizionali di ptrace

Leggi di più →


4. Iniezione di Libreria tramite dlopen()

Directory: dlopen_inject/

Tecnica sofisticata che forza un processo in esecuzione a caricare una libreria condivisa dirottando l'esecuzione per chiamare dlopen().

Caratteristiche Principali:

  • Funziona su processi già in esecuzione (a differenza di LD_PRELOAD)
  • Persistente (la libreria rimane caricata)
  • Consente payload complessi con funzionalità complete di libreria
  • Può fare hooking di funzioni come LD_PRELOAD ma dopo l'avvio

Caso d'Uso: Iniezione persistente avanzata, manipolazione di librerie a runtime

Leggi di più →


Avvio Rapido

Prerequisiti

  • Sistema Linux (testato su x86_64)
  • Compilatore GCC
  • Accesso root o capacità CAP_SYS_PTRACE
  • Strumento di build Make

Compilazione di Tutti gli Esempi

root@kitploit:~
# Compila l'iniezione ptrace
cd ptrace && make all

# Compila l'iniezione LD_PRELOAD
cd ../ld_preload && make all

# Compila l'iniezione /proc/mem
cd ../proc_mem && make all

# Compila l'iniezione dlopen
cd ../dlopen_inject && make all

Modello di Utilizzo di Base

Ogni tecnica segue un modello simile:

  1. Avvia il processo vittima:

    root@kitploit:~
    cd <tecnica>/victim-process
    ./sample
    

    Annota il PID visualizzato

  2. Esegui l'iniezione:

    root@kitploit:~
    cd <tecnica>
    sudo ./<iniettore> <PID> [argomenti aggiuntivi]
    
  3. Osserva i risultati: Controlla l'output del processo vittima per l'esecuzione del codice iniettato

Consulta i singoli file README per le istruzioni specifiche di ciascuna tecnica.

Matrice di Confronto

Quando Usare Quale?

  • ptrace: Apprendere le basi, iniezione semplice di shellcode
  • LD_PRELOAD: Hooking rapido di funzioni, debugging, quando si controlla l'avvio del processo
  • /proc/mem: Iniezione rapida di payload di grandi dimensioni, quando PTRACE_POKETEXT è troppo lento
  • dlopen: Iniezione persistente, payload complessi, quando servono funzionalità complete di libreria

Considerazioni sulla Sicurezza

Misure Difensive

  1. Yama ptrace_scope: Limita ptrace agli utenti privilegiati

    root@kitploit:~
    echo 1 | sudo tee /proc/sys/kernel/yama/ptrace_scope
    
  2. SELinux/AppArmor: Controlli di accesso obbligatori

  3. Monitoraggio: Usa auditd per registrare i tentativi di ptrace e process injection

    root@kitploit:~
    auditctl -a exit,always -F arch=b64 -S ptrace
    
  4. Verifica dell'Integrità a Runtime: Controlla periodicamente la memoria dei processi

  5. Firma del Codice: Verifica le firme delle librerie

Metodi di Rilevamento

  • Monitora /proc/<pid>/maps per regioni di memoria o librerie inattese
  • Controlla i tentativi di attach ptrace tramite i log di sistema
  • Verifica le variabili d'ambiente (LD_PRELOAD)
  • Usa strumenti come lsof, pmap e utility di monitoraggio dei processi
  • Abilita i moduli di sicurezza del kernel

Avviso Legale ed Etico

IMPORTANTE: Queste tecniche dovrebbero essere utilizzate solo in contesti autorizzati:

Questo repository è solo per scopi educativi e di ricerca. Gli autori non sono responsabili dell'uso improprio di queste tecniche. Ottieni sempre la dovuta autorizzazione prima di testare su qualsiasi sistema.

Risoluzione dei Problemi

Problemi Comuni

Errori di permesso negato:

  • Esegui con sudo
  • Controlla /proc/sys/kernel/yama/ptrace_scope
  • Verifica le policy SELinux/AppArmor

L'iniezione fallisce silenziosamente:

  • Verifica che il processo target non sia collegato staticamente
  • Controlla che il processo target abbia caricato le librerie richieste
  • Assicurati che lo shellcode sia corretto per la tua architettura

Segmentation fault:

  • Verifica di essere su architettura x86_64
  • Controlla che il processo target non sia protetto
  • Assicura un corretto allineamento della memoria

Consulta i README delle singole tecniche per indicazioni specifiche sulla risoluzione dei problemi.

Contribuire

I contributi sono benvenuti! Aggiunte potenziali:

  • Tecniche di iniezione aggiuntive (GOT/PLT hooking, manipolazione VDSO, ecc.)
  • Equivalenti Windows per confronto
  • Strumenti di rilevamento/prevenzione
  • Supporto per architettura ARM
  • Esempi aggiuntivi di shellcode
  • Esempi di programmazione difensiva

Riferimenti

Documentazione

  • man 2 ptrace - Chiamata di sistema per il tracing dei processi
  • man 5 proc - Documentazione del filesystem /proc
  • man 3 dlopen - Caricamento dinamico delle librerie
  • Sorgente del kernel Linux: gestione della memoria dei processi

Ricerca Correlata

  • Tecniche ed evoluzione della "Linux Process Injection"
  • Metodologie di "Ptrace Injection"
  • Best practice per la "Shared Library Injection"
  • MITRE ATT&CK: T1055 (Process Injection)

Licenza

Vedi LICENSE.txt per i dettagli.

Disclaimer

Questo software è fornito "così com'è" per scopi educativi. Usalo in modo responsabile ed etico. Ottieni sempre la dovuta autorizzazione prima di testare tecniche di sicurezza su qualsiasi sistema che non possiedi.

Scarica lo strumento
TecnicaComplessitàFurtivitàPersistenzaVelocitàFunziona su Processo in Esecuzione
ptraceMediaBassaNoMediaSì
LD_PRELOADBassaMolto BassaNoVeloceNo
/proc/memMediaBassaNoVeloceSì
dlopenAltaMediaSìMediaSì