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

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


  Mostrar Mensajes
Páginas: 1 [2] 3 4 5
11  Seguridad Informática / Bugs y Exploits / Re: Diferencia entre "shellcode" y "payload" en: 7 Abril 2014, 14:02 pm
Entonces el exploit está formado por el payload (método(s) de explotación) + shellcode (programa que se ejecutará remotamente).

Ok, muchas gracias  ;).
12  Seguridad Informática / Bugs y Exploits / Diferencia entre "shellcode" y "payload" en: 7 Abril 2014, 03:06 am
Según he podido googlear, "payload" a veces se usa como sinónimo de "exploit", y shellcode es SÓLO el código que se ejecutará en la máquina remota (sin contar el código necesario para que se ejecute dicho código). ¿Es así?

Gracias.
13  Seguridad Informática / Bugs y Exploits / Re: Extraño salto técnica POP POP RET en: 6 Abril 2014, 20:29 pm
SOLUCIONADO

El problema estaba en que la shellcode que abre calc.exe que usaba requería que pusiera 4 NOPs (o cualquier relleno) adicionales. He usado mi propia shellcode y problema solucionado.
14  Seguridad Informática / Bugs y Exploits / Re: Extraño salto técnica POP POP RET en: 4 Abril 2014, 16:17 pm
Vale, el exploit ya va, pero poniendo la variable $strange al código (que es donde apunta ESP) y que contenga 4 NOPs o 4 breakpoints y apretando F7 F7 F7 F7 F9, se ejecuta la calculadora, pero si pongo directamente la shellcode, no se ejecuta, MUY RARO. ¿Y eso?

Código usando la variable $strange: pastebin.com/M4Q40KEC
Este exploit ejecuta la calculadora.

Screenshot sin usar la variable $strange: subeimagenes.com/img/eing-909483.jpg
No se ejecuta la calculadora, pero mirad donde apunta ESP  :-X
15  Seguridad Informática / Bugs y Exploits / Re: Extraño salto técnica POP POP RET en: 3 Abril 2014, 23:34 pm
El que tiene el problema de busqueda con analisis es Olly 1.10. Si usas Olly 2 no deberias tenerlo.

De cualquier forma, si en Olly no encuentras los opcodes del comando, es probable que no esten y que findjmp falle.

Recuerda que puedes buscar alternativas a un JMP ESP, como por ej.: PUSH ESP-RET, CALL ESP, MOV R32, ESP-CALL/JMP R32, etc. etc

Saludos!

PD: El EXE no tiene ASLR, no?  :P

Pues estoy usando OllyDbg 1.10, y parece ser que las DLLs del sistema —como podría ser  user32.dll— las detecta bien, pero quitándole el análisis a las DLLs externas, me ha detectado un "jmp esp", y con findjmp.exe muuuchos más...

No tiene ASLR, no, jaja.
Ahora estoy estudiando esas técnicas, pero la primera es POP-RET (la del exploit) y no me sale. Se ve que el EIP coge 3 bytes de la shellcode, además de un 65 que no sé de dónde sale, y no le encuentro el más mínimo sentido jah...
16  Seguridad Informática / Bugs y Exploits / Re: Extraño salto técnica POP POP RET en: 3 Abril 2014, 23:04 pm
No. Olly tiene un problema cuando busca opcodes, si el modulo ha sido analizado.

Para verificarlko, quitale el analisis al modulo y veras que encuentra los comandos que encontro findjmp.

Saludos!

Pues es extraño lo que dices, ya que si cojo la dirección que me ha dado findjmp.exe no me funciona el exploit (otro, el simple stack based overflow), pero si pongo la dirección obtenida con Olly SÍ me funciona :/.
17  Seguridad Informática / Bugs y Exploits / Re: Extraño salto técnica POP POP RET en: 3 Abril 2014, 22:01 pm
Otra cosa que no he hecho, pero que no entiendo es... Si uso "findjmp.exe" con una DLL del programa para buscar algún JMP ESP, me muestra unos cuantos, pero una vez abierto con Olly el programa (una vez lanzado el exploit) y buscado "JMP ESP" en esa misma DLL, no encuentro ninguna.
La posible explicación que podría darle es que el programa no carga en memoria todas las funciones de la DLL. ¿Es correcto?
18  Seguridad Informática / Bugs y Exploits / Re: Extraño salto técnica POP POP RET en: 3 Abril 2014, 16:38 pm
Si se cuela un byte adicional es por que en el buffer no se está almacenando correctamente o hay bytes no permitidos, por lo cual deberías codificar tu shellcode o desplazarla, saludos.

Ya, pero no tiene sentido...
En el primer ejemplo que he puesto en el primer post, sustituyo el JMP ESP por "CCCC", entonces EIP intenta ejecutar 43434343, y ESP apunta en ese momento a mi shellcode perfecta. En cambio, si pongo un JMP ESP válido (lo he comprobado muchas veces), la shellcode de 32 breakpoints y el EIP están corruptos.
19  Seguridad Informática / Bugs y Exploits / Re: Extraño salto técnica POP POP RET en: 3 Abril 2014, 16:25 pm
No entiendo muy bien tu duda. Bueno en cuanto a POP POP RET, es utilizado cuando la excepción es manejada por un manejador de excepciones, en tal caso la idea consiste en sobre-escribir la estructura SEH la cual está compuesta por dos parámetros DWORD, para ello:
- EIP debe apuntar al manejador de excepciones actuales (SEH) el cual debe contener una dirección POP POP RET.
- NSEH primer parámetro de la estructura SEH debe apuntar a un salto que se encargue de saltar la dirección POP POP RET

SEH - > JMP SHELLCODE
NSEH -> POP POP RETN
SHELLCODE

Recuerda que puedes ver en OllyDbg la estructura SEH actual, por lo cual desde ella debes obtener el desplazamiento adecuado para controlar tal estructura, saludos.

mm... Bueno saberlo. Eso no está en el PDF, aunque supongo que eso lo explicarán más adelante.

Con respecto a mi duda, quiero decir que no se explota bien, es decir, si mi shellcode es la que pongo a continuación, se cuela un \x65 en la shellcode y no sé por qué, además de que hay 28 breakpoints, y no 32.

Exploit:
Código
  1. # Generated file: C:\Documents and Settings\Adminitrador\Escritorio\pop-ret.m3u
  2.  
  3. # Technique used: POP + POP + RET + JMP ESP
  4.  
  5. my $file= "pop-ret.m3u";
  6. my $junk= "A" x 26061;
  7. my $eip = pack('V',0x01BD1111); # "pop pop ret" from MSRMCcodec02.dll
  8. my $jmpesp = pack('V',0x7E41A323); # "jmp esp" from user32.dll
  9. my $prependesp = "XXXX"; # add 4 bytes so ESP points at beginning of shellcode bytes
  10. my $shellcode = "\x90" x 8; #add more bytes
  11. $shellcode = $shellcode . $jmpesp; #address to return via pop pop ret ( = jmp esp)
  12.  
  13. # Shellcode = 32 breakpoints
  14. $shellcode = shellcode .
  15. "\xcc" x (4*8); # 32 bytes
  16.  
  17. open($FILE,">$file");
  18. print $FILE $junk.$eip.$prependesp.$shellcode;
  19. close($FILE);
  20. print "Archivo m3u creado con exito.\n";




Screenshot: http://www.subeimagenes.com/img/error-shellcode-908018.jpg
20  Seguridad Informática / Bugs y Exploits / Re: Extraño salto técnica POP POP RET en: 1 Abril 2014, 22:30 pm
¿Nadie me puede ayudar? Jo... :-\
Páginas: 1 [2] 3 4 5
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines