Variabili di shellcode indipendenti da posizione a 32 bit

0

In shellcode indipendente dalla posizione per finestre a 32 bit quali sono le tecniche più comunemente utilizzate per la memorizzazione di variabili stringa. Ho utilizzato le stringhe basate su stack:

  • Regola il registro ESP
  • Memorizza il valore ESP in EBP
  • Inserisci le stringhe DWORD richieste nello stack.
  • Usa EQU a per i nomi di offset delle stringhe all'interno dello spazio di stack per semplificarti la vita quando usi le variabili in seguito.

La mia comprensione è che non posso utilizzare le definizioni di variabili nella sezione .data poiché gli offset sono sconosciuti. Ho provato a smontare un certo numero di payload metasploit per vedere come funzionano, ma sembra che non ci siano altre tecniche.

Qualsiasi informazione su altre opzioni e sui loro pro e contro sarebbe ottima.

    
posta Mark A 08.04.2017 - 17:47
fonte

1 risposta

1

Qualsiasi posizione scrivibile nella memoria che puoi fare riferimento in modo affidabile. Devi anche preoccuparti della corruzione di queste stringhe a seconda di quante istruzioni ci sono tra la tua scrittura e il controllo dell'esecuzione.

Se l'exploit è remoto, non puoi usare envp per scrivere una stringa e fare riferimento nel tuo codice shell. Se si tratta di un exploit locale, questa potrebbe essere un'opzione.

Speriamo che questo sia abbastanza di una risposta. Sfruttare alcune vulnerabilità richiede più creatività di altre.

    
risposta data 08.04.2017 - 19:17
fonte

Leggi altre domande sui tag