elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Ingresar Registrarse
12 Octubre 2008, 10:10  



+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Bugs y Exploits (Moderadores: sirdarckcat, berz3k)
| | |-+  Win32Create Admin User Account
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Imprimir
Autor Tema: Win32Create Admin User Account  (Leído 1350 veces)
servomac

Desconectado Desconectado

Mensajes: 25


Powered by Debian Sarge & Kernel 2.6.7


Ver Perfil
Win32Create Admin User Account
« en: 15 Julio 2004, 10:13 »

Buenas. Estoy estudiando el code de un exploit de la gente del Metasploit Project, que podeis encontrar http://metasploit.com/sc/win32_adduser.asm. Hay varias cosas que no entiendo, a ver si me podeis ayudar :

1. Lo primero que hace es restar 128 al registro sp ... supongo que es necesario para que al mover de esp a esi se pase el numero que buscamos, ¿pero porque 128? y ¿porque pasan lo que contiene esp a esi?

2. Cuando busca la dirección de un proceso determinado (en este caso ExitProcess) mete en la pila ebx (que es la dirección base del kernel32) y 73e2d87e en hexadecimal, para luego llamar a LGetProcAddress, que a su vez deja la dirección del proceso en eax. ¿Como sabe el programador el numero en hexadecimal que tiene que empujar a la pila antes de llamar a LGetProcessAddress para especificar que es ExitProcess?

Me hariais favor si me ayudarais con estos pequeños problemillas que tengo, porque estoy un poco perdido.

¡¡Saludos!!
En línea

"Se necesita a un ladrón para atrapar a otro ladrón, y eso no lo enseña ningún catedrático." (HVC)
neo_geno

Desconectado Desconectado

Mensajes: 40


Ver Perfil
Re: Win32Create Admin User Account
« Respuesta #1 en: 15 Julio 2004, 10:26 »

Citar
. Lo primero que hace es restar 128 al registro sp ... supongo que es necesario para que al mover de esp a esi se pase el numero que buscamos, ¿pero porque 128? y ¿porque pasan lo que contiene esp a esi?

le resta 128 pq es el total de words del buffer hasta llegar al sp (stack pointer)

a lo segundo no te puedo ayudar, lo siento
En línea

LLoramos al nacer pq venimos a parar a este inmenso mundo de dementes.
__________________________________________


El usuario ve cosas y se pregunta el porque, el hacker ve cosas y se pregunta el pq no hacerlo.
Rojodos
"If you wanna be free, you must be different"

Desconectado Desconectado

Mensajes: 3.525



Ver Perfil
Re: Win32Create Admin User Account
« Respuesta #2 en: 17 Julio 2004, 18:57 »

73e2d87e es la direccion de la funcion ExitProcess en ¿kernel32.dll?

Habia una utilidad por ahi que te permitia ver los offsets de muchas funciones de la API de windows.... si no lo tienes o no lo encuentras, solo te queda tirar de debugger.

Te hablo de memoria, pero para pillar esa direccion, por ejemplo, codeas en C una llamada a ExitProccess y luego lo debugeas y miras el call a ver donde apunta.

Salu2
En línea
servomac

Desconectado Desconectado

Mensajes: 25


Powered by Debian Sarge & Kernel 2.6.7


Ver Perfil
Re: Win32Create Admin User Account
« Respuesta #3 en: 20 Julio 2004, 11:05 »

Ok rojodos, ¿alguna recomendación sobre el debugger a utilizar si uso la plataforma windows 2000?

Además, cuando te refieres a codear una función a ExitProcess, ¿como lo tendria que hacer desde C? Porque he usado syscalls en linux usando excve(), pero nunca he hecho nada de este estilo bajo windows.

Saludos.
En línea

"Se necesita a un ladrón para atrapar a otro ladrón, y eso no lo enseña ningún catedrático." (HVC)
Rojodos
"If you wanna be free, you must be different"

Desconectado Desconectado

Mensajes: 3.525



Ver Perfil
Re: Win32Create Admin User Account
« Respuesta #4 en: 20 Julio 2004, 11:54 »

Ollydbg. El mejor de los mejores del mundo mundial xD

Bueno, hace muxotime que no codeo, pero...

#include <stdio.>

main (){
LoadLibraryA ("kernel32.dll");
asm__{
  push 0           <- Esta linea faltaba (edit)
  call kernel32.ExitProcess
}
}

Algo asi xDDD

Luego, lo debugeas y miras a donde apunta el call (el offset) y ya lo tienes.

Pero te aviso que los offsets de las DLLs de windows cambian mas que el tiempo...

Salu2
« Última modificación: 20 Julio 2004, 17:54 por Rojodos » En línea
Rojodos
"If you wanna be free, you must be different"

Desconectado Desconectado

Mensajes: 3.525



Ver Perfil
Re: Win32Create Admin User Account
« Respuesta #5 en: 20 Julio 2004, 17:55 »

Eran las 2 y pico AM, staba discutiendo en el chat (xD) y se me fue la mano.

Faltaba el push 0 como bien me recordo mek.

Creo que asi esta completo.

Salu2
En línea
servomac

Desconectado Desconectado

Mensajes: 25


Powered by Debian Sarge & Kernel 2.6.7


Ver Perfil
Re: Win32Create Admin User Account
« Respuesta #6 en: 20 Julio 2004, 23:20 »

Tengo un problema...supongo que antes de usar la función LoadLibraryA tengo que cargar alguna libreria con #include, porque el Dev-C++ me devuelve el siguiente error :

4 D:\Mis Documentos\My eBooks\prova.cpp
`LoadLibraryA' undeclared (first use

¿Alguien sabe que cabecera/libreria debo utilizar para poder usar esa función?
En línea

"Se necesita a un ladrón para atrapar a otro ladrón, y eso no lo enseña ningún catedrático." (HVC)
Rojodos
"If you wanna be free, you must be different"

Desconectado Desconectado

Mensajes: 3.525



Ver Perfil
Re: Win32Create Admin User Account
« Respuesta #7 en: 20 Julio 2004, 23:43 »

Ostias, lo siento  ;D

#include <windows.h>

:D

Sorry
En línea
servomac

Desconectado Desconectado

Mensajes: 25


Powered by Debian Sarge & Kernel 2.6.7


Ver Perfil
Re: Win32Create Admin User Account
« Respuesta #8 en: 21 Julio 2004, 04:19 »

Me lo imaginava, ¡muchas gracias! Mañana lo miro en el pc de mi primo y hos digo cosas, que aqui solo tengo Debian & Red Hat :P.
En línea

"Se necesita a un ladrón para atrapar a otro ladrón, y eso no lo enseña ningún catedrático." (HVC)
servomac

Desconectado Desconectado

Mensajes: 25


Powered by Debian Sarge & Kernel 2.6.7


Ver Perfil
Re: Win32Create Admin User Account
« Respuesta #9 en: 25 Julio 2004, 12:14 »

Para meter asm dentro del codigo no me furula con asm__{ ... ¿alguien sabe como meter codigo ensamblador dentro de C con dev-c++ bajo windows?

¡¡Saludos!!
En línea

"Se necesita a un ladrón para atrapar a otro ladrón, y eso no lo enseña ningún catedrático." (HVC)
Rojodos
"If you wanna be free, you must be different"

Desconectado Desconectado

Mensajes: 3.525



Ver Perfil
Re: Win32Create Admin User Account
« Respuesta #10 en: 26 Julio 2004, 03:31 »

Con Dev Cpp tendras que usar ASM de AT&T, y aunque son solo dos instrucciones, a la hora de hacer asmcodes mas grandes te vas a volver loco (a no ser que domines ASM de AT&T que no es mi caso).

Creo que el codigo que te he puesto funcionara perfectamente en el VC++ 6.0 (que es el que usaba yo para codear).

Salu2
En línea
Páginas: [1] Ir Arriba Imprimir 
Ir a:  







Consolas     La Web de Goku     MilW0rm     MundoDivx

Hispabyte     Truzone     TodoReviews     ZonaPhotoshop

hard-h2o modding    Foros de ayuda    Yashira.org    Videojuegos    indetectables.net   

Noticias Informatica    Seguridad Informática    ADSL    Foros en español    eNYe Sec

Todas las webs afiliadas están libres de publicidad engañosa.

Powered by SMF 1.1.6 | SMF © 2006-2008, Simple Machines LLC
Free counter and web stats