Codifica di un indirizzo che contiene un byte nullo in un payload

5

Sto lavorando a un exploit SEH. il problema che sto affrontando qui è che tutti gli indirizzi POP / POP / RETN terminano con byte null, quindi tutto viene posizionato dopo che è stato danneggiato.

È possibile utilizzare Metasploit Msfencode per codificare l'indirizzo delle istruzioni POP / POP / RETN per superare il problema del byte null?

La struttura di exploit è: (300 byte di junk + nseh + seh + 3000 byte di junk)

    
posta Ahmed Taher 03.08.2013 - 16:56
fonte

2 risposte

2

C'è un plugin per l'immunità mona.py, sviluppato da ragazzi fantastici su corelan.be. puoi controllare le combinazioni pop / pop / ret usando quello. Morever mona.py fornisce anche uno scheletro per convertire il modulo di exploit in un modulo metasploit e portarlo lì.

Prova anche! mona suggerisce di vedere le opzioni di exploit dopo aver inserito mona.py nella cartella Pycommands del debugger di immunità. Potrebbe suggerirti qualcos'altro.

Puoi usare msfencode ma la codifica renderà il carico utile più lungo e 300 byte troppo. Ma puoi provare a vedere se si adatta.

Se non funziona in precedenza, potresti dover fare ciò che suggeriva Ditmar.

    
risposta data 07.08.2013 - 19:33
fonte
1

Questa domanda è impossibile rispondere con precisione senza uno sguardo specifico al binario o più dettagli su ciò a cui hai accesso.

In generale, se il tuo indirizzo SEH contiene un byte nullo dovresti incollare nseh & seh alla fine del tuo payload per semplicità di exploit. Essendo nseh un salto al tuo shellcode di solito funziona bene con questo, il tuo problema potrebbe invece essere adattando il tuo shellcode in 300 byte (che hai il controllo su?).

Ci sono elenchi di tecniche che potresti provare, ma continuo a vedere che sei limitato a quei 300 byte .

    
risposta data 07.08.2013 - 07:21
fonte

Leggi altre domande sui tag