Sfida: shellcode con byte univoci

1

È possibile avere uno (piccolo) codice shell solo con byte univoci?

Finora ho notato che il codice shell più piccolo che posso trovare online è 19 byte per Linux x86, ma ripete i byte, in particolare "/" da "/ bin / sh" e anche alcuni opcode contengono byte ripetuti. Notato un bel trucco su x86_64 dove puoi

mov rax, 0xFF978CD091969DD1 ; garbage at first look
neg rax                     ; rax = /bin/sh

Restano tuttavia alcuni byte dei codici opzionali. Qualcuno conosce una soluzione per x86 o x86_64?

    
posta Alex 04.11.2017 - 19:31
fonte

1 risposta

0

È arrivato con questo nel frattempo che rispetta le condizioni ed è piuttosto breve:

mov rbx, 0x68732f6e696221
or r8b, 0xe
add rbx, r8
push rbx    
push rsp
pop rdi
mov al, 0x3b
Syscall
    
risposta data 07.11.2017 - 16:34
fonte

Leggi altre domande sui tag