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
RemoteTLSCallbackInjection — Utilizzo di callback TLS per eseguire un payload senza generare thread in un processo remoto | Kitploit
Strumenti/GitHubGitHub/maldev-academy/remotetlscallbackinjection
ShellcodeApprendimento e FormazioneBinary ExploitationLab e Pratica
GitHubmaldev-academy/remotetlscallbackinjection

RemoteTLSCallbackInjection

Utilizzo di callback TLS per eseguire un payload senza generare thread in un processo remoto

Vedi Repository

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
2914932 anni faRevisionato da Kitploit

Maldev Academy - RemoteTLSCallbackInjection

Collegamenti rapidi

Maldev Academy Home

Programma di Maldev Academy

Moduli correlati di Maldev Academy

Nuovo Modulo 34: Callback TLS per Anti-Debugging

Nuovo Modulo 35: Threadless Injection

Panoramica

Questo metodo utilizza i callback TLS per eseguire un payload senza creare thread in un processo remoto. Questo metodo è ispirato da Threadless Injection poiché RemoteTLSCallbackInjection non invoca alcuna chiamata API per attivare il payload iniettato.

Passaggi di implementazione

Il PoC segue questi passaggi:

  1. Creare un processo sospeso utilizzando la funzione CreateProcessViaWinAPIsW (ad esempio RuntimeBroker.exe).
  2. Ottenere l'indirizzo base dell'immagine del processo remoto e successivamente leggere gli header PE del processo.
  3. Ottenere un indirizzo di una funzione callback TLS.
  4. Patchare uno shellcode fisso (ad esempio g_FixedShellcode) con valori recuperati a runtime. Questo shellcode è responsabile del ripristino sia dei byte originali che dei permessi di memoria dell'indirizzo della funzione callback TLS.
  5. Iniettare entrambi gli shellcode: g_FixedShellcode e il payload principale.
  6. Patchare l'indirizzo della funzione callback TLS e sostituirlo con l'indirizzo del nostro payload iniettato.
  7. Riprendere il processo.

Lo shellcode g_FixedShellcode assicurerà quindi che il payload principale venga eseguito una sola volta ripristinando l'indirizzo originale del callback TLS prima di chiamare il payload principale. Un callback TLS può essere eseguito più volte durante la vita di un processo, quindi è importante controllare il numero di volte in cui il payload viene attivato ripristinando il percorso di esecuzione originale alla funzione callback TLS originale.

Demo

L'immagine seguente mostra la nostra implementazione, RemoteTLSCallbackInjection.exe, che genera un cmd.exe come payload principale.

dimostrazione
Scarica lo strumento