elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


  Mostrar Mensajes
Páginas: 1 2 3 [4] 5 6 7 8 9 10 11 12 13 14 15
31  Seguridad Informática / Bugs y Exploits / Re: Texto por Rojodos: EXPLOITS Y STACK OVERFLOWS EN WINDOWS - LEEDLO! en: 18 Febrero 2005, 06:52 am
Aclaracion:

Los offsets del jmp esp o del system.msvcrt.dll no tienen que ver con el compilador, sino con tu sistema. Por lo que me cuentas, al ser el mismo que el mio, tendras un Windows XP SP1 Español.

Al tener el mismo SO, con el mismo SP, y con el mismo lenguaje, tenemos las mismas librerias (salvo excepciones que no vienen al caso) y por tanto, los mismos offsets

1º:

Se perfectamente porque pasa eso :). El programa vulnerable yo lo compile con el Dev Cpp, que esta basado en el "motor" del GCC. El compilador, por temas de alineamiento, añade algunos bytes a cada variable a la hora de compilar, segun su tamaño. Existe por ahi una tabla (estoy seguro de haberla visto) que te calculaba exactamente los bytes de alineamiento que producia.

Obviamente, el compilador de VC++ es distinto, y no añade dichos bytes de alineamiento, con lo que el buffer es mas pequeño.



AGH XDDDDDDDDDDD

Los opcodes que pongo, son de una shellcode "mini", que solo hacen un system("cmd") en vez de system("cmd.exe"), vaya fallo :p xDDDDDDDDD

Es que al principio, pense en hacerla simple, pero luego me arrepenti, hize la "larga", pero no cambie los opcodes.

Los opcodes correctos son los que tu pones, pero ambos funcionan, asi que no lo voy a cambiar (ya he cambiado una vez el texto :P). Que fallo xDDDD Gracias por decirmelo :)

3º:

Ten en cuenta que el RET sobreescrito tiene que ser UNA DIRECCION, no una instruccion. Es decir, si pones una instruccion NOP (la instruccion NOP simplemente hace que el procesador no haga nada y salte a la siguiente instruccion), en opcode seria 0x90, el ret quedaria sobreescrito asi:

90909090

Pero, en vez de ejecutarse los 4 NOPs, lo que pasa es que EIP trata de ejecutar lo que haya en la direccion 90909090.

El ret sobreescrito tiene que ser SIEMPRE una DIRECCION.

Lo entiendes?

Me alegra que te guste el texto :)

Cualquier duda, ya sabes :)

Salu2
32  Seguridad Informática / Bugs y Exploits / Re: Texto por Rojodos: EXPLOITS Y STACK OVERFLOWS EN WINDOWS - LEEDLO! en: 18 Febrero 2005, 01:26 am
Este cyrux es un mostro  ;D

http://www.cyruxnet.org/exploits_y_stack_overflows_en_windows.htm

Gracias :)
33  Seguridad Informática / Bugs y Exploits / Re: Texto por Rojodos: EXPLOITS Y STACK OVERFLOWS EN WINDOWS - LEEDLO! en: 17 Febrero 2005, 05:42 am
Bueno, para los no registrados, hay un mirror:

http://www.telefonica.net/web/espaiwebfacultat/Exploits%20y%20Stack%20Overflows%20en%20Windows.zip

Salu2
34  Seguridad Informática / Bugs y Exploits / Re: Texto por Rojodos: EXPLOITS Y STACK OVERFLOWS EN WINDOWS - LEEDLO! en: 16 Febrero 2005, 19:30 pm
Antes del sub esp,04h, solo teniamos espacio para 4bytes.

"cmd.exe0" --> 8 caracteres, 8 bytes

El "0" de fin de cadena tambien cuenta, y es muy importante, sino system no sabe donde acaba el comando.

Por eso necesitabamos 4bytes mas.

Se puede hacer la shellcode que haga solo System("cmd0"), con lo que la shellcode seria mucho mas corta, no habria que sustraer nada a ESP (solo ocupa 3bytes+1byte del 0), y solo habria que introducir 3 letras (esa es la que he usado en el exploit de Acrobat Reader) pero me parecio mucho mas didactico ponerlo completo, y asi ver el porque del sub esp,04h.

Salu2

35  Seguridad Informática / Bugs y Exploits / Re: Texto por Rojodos: EXPLOITS Y STACK OVERFLOWS EN WINDOWS - LEEDLO! en: 16 Febrero 2005, 19:05 pm
Bueno, gracias a un oportuno aviso, ha sido subsanado un error en la shellcode :P

Sabia yo que tenia un error  ;D

En fin, solo decir que he cambiado el texto, para descargarselo de nuevo... es lo que tiene escribir un texto tan largo, no puedes esperar a que te salga perfecto la primera vez.

Salu2
36  Seguridad Informática / Bugs y Exploits / <-!-> Taller de Stack Overflows en Windows, por Rojodos en: 16 Febrero 2005, 12:36 pm
El texto es una introduccion al codeo de exploits sencillos, codeo de shellcodes sencillas, y explicar paso a paso el porque de un stack overflow, todo en Windows. Concretamente, los ejemplos fueron testeados en un Windows XP SP1.

Creo que no contiene errores graves, pero si los contiene, o cualquier otra cosa, no dudeis en decirmelo :)

El texto ha sido redactado por mi, con faltas o sin ellas, con explicaciones enrevesadas, con errores en definiciones, en fin, no sera el mejor texto redactado que hay sobre el tema, ni el unico :P pero me ha gustado redactarlo, y con que ayude a una sola persona, y me de las gracias por email, privado o en el foro, me vale :)

Sinceramente, me ha costado hacerlo (sobre todo tiempo), solo espero que os guste y lo aprovecheis para profundizar mas en el tema. Mi texto es solo la punta del iceberg ;)

Esta como archivo adjunto, para descargarlo, hay que estar registrado :P  ;D (cosas del admin)  ;D

O sino, usar este mirror:

http://www.telefonica.net/web/espaiwebfacultat/Exploits%20y%20Stack%20Overflows%20en%20Windows.zip

Es un texto en formato TXT, a 17 columnas, no creo que haya ningun problema en verlo en cualquier visualizador en cualquier sistema. Puede que en el futuro, se saque en PDF, pero creo que esta mucho mejor en TXT, formato ezine :P

Salu2, espero vuestros comentarios

37  Programación / Ingeniería Inversa / Re: checksum (ayuda) en: 14 Febrero 2005, 03:19 am
cheksum es simplemente una "suma de chequeo" usando un algoritmo.

Una simple suma de chequeo (checksum), por ejemplo, es convertir cada caracter de una contraseña en su valor ascii (por ejemplo, el 1 es 49,la A es 65, etc...), y sumarlos, dando un valor de checksum.

El programa mirara a ver si ese checksum coincide con el que tiene guardado, y te dara acceso o no.

Obviamente, existen muchos algoritmos que hacen un checksum (CRC32, DES, MD5, SHA0, Base64 y muchos mas) algunos muy muy complejos (e irreversibles)

Salu2
38  Programación / Ingeniería Inversa / Re: PREGUNTA SOBRE COMENTARIO DE OLLY en: 14 Febrero 2005, 03:16 am
Creo que se refiere a un switch(), la funcion C/C++ switch().

Es una funcion "interruptor" segun lo que le pases por parametro, se ejecutara una cosa o otra.

por ejemplo:

Código:
gets(opcion)

switch(opcion) {
     case '1':  suma();
                   break;
     case '2': resta();
                   break;
     case '3': multiplicacion();
                    break;

......

     case '0':  salir();

     default: printf ("Vuelva a introducir la opcion");
                 funcion_recoger_opcion();


Lo curioso es que tu crackem, para el mismo switch() en 004011DD tiene un monton de opciones (desde el 0 hasta F1)...

Espero que te haya quedado claro ;)
39  Programación / Ingeniería Inversa / Re: Donde consigo un DESCOMPILADOR DE VB en: 5 Febrero 2005, 19:49 pm
Smart Check.

Buscalo.

Salu2
40  Seguridad Informática / Nivel Web / Avanced SQL injection in Oracle Databases -- Muy buen texto en: 4 Febrero 2005, 07:20 am
Pa disfrutarlo:

http://security-papers.globint.com.ar/oracle_security/sql_injection_in_oracle.php
http://packetstormsecurity.org/papers/attack/AdvancedSQLInjectionInOracleDatabases.zip

Salu2
Páginas: 1 2 3 [4] 5 6 7 8 9 10 11 12 13 14 15
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines