WWW2Exec - atexit()

Impara l'hacking su AWS da zero a eroe con htARTE (Esperto Red Team AWS di HackTricks)!

Altri modi per supportare HackTricks:

Strutture __atexit

Oggi è molto strano sfruttare questo!

atexit() è una funzione a cui vengono passate altre funzioni come parametri. Queste funzioni verranno eseguite durante l'esecuzione di un exit() o il ritorno del main. Se riesci a modificare l'indirizzo di una di queste funzioni per puntare a un codice shell ad esempio, otterrai il controllo del processo, ma attualmente è più complicato. Attualmente gli indirizzi delle funzioni da eseguire sono nascosti dietro diverse strutture e infine l'indirizzo a cui puntano non sono gli indirizzi delle funzioni, ma sono criptati con XOR e spostamenti con una chiave casuale. Quindi attualmente questo vettore di attacco non è molto utile almeno su x86 e x64_86. La funzione di crittografia è PTR_MANGLE. Altre architetture come m68k, mips32, mips64, aarch64, arm, hppa... non implementano la funzione di crittografia perché restituisce lo stesso che ha ricevuto in input. Quindi queste architetture sarebbero attaccabili da questo vettore.

Puoi trovare una spiegazione dettagliata su come funziona questo in https://m101.github.io/binholic/2017/05/20/notes-on-abusing-exit-handlers.html

Impara l'hacking su AWS da zero a eroe con htARTE (Esperto Red Team AWS di HackTricks)!

Altri modi per supportare HackTricks:

Last updated