[SOLUCIONADO] Como se ejecutaba codigo inyectado mediante PE?

Iniciado por proxy_lainux, Julio 10, 2013, 02:18:16 AM

Tema anterior - Siguiente tema

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

Julio 10, 2013, 02:18:16 AM Ultima modificación: Agosto 30, 2014, 09:18:46 AM por Expermicid
hola

alguien recuerda como se ejecutaba un codigo inyectado usando runPE?

recuerdo que cuando se modificaba el executable, podias agregar una seccion nueva, y en los datos que se agregaban, se podia agregar opcodes, pero se tenia que hacer algo antes para que executara esa seccion con los opcodes

alguien me puede explicar como se hacia eso?, es que recuerdo como agregar una nueva seccion, modificar, etc, parte de ello gracias al talles de The Swash, pero desafortunadamente no lo termino, y no recuerdo como era esa parte de ejecucion de codigo despues de agregar una nueva seccion con los opcodes de un codigo

o si alguien conoce algun tutorial que pueda pasarme, que no sea el de ferchu porque ya no se pueden visualizar las imagenes que una vez coloco

P.D.
the Swash, deberias continuar con tu taller en undec0de, me agrada este foro...

salu2

No termino de entenderte, ¿podrias ser un poco mas claro?

-Saludos-

hola

si claro

cuando uno usa PEB, se pueden agregar secciones, por ejemplo

.text
.data
.grimoire
etc

en esa nueva seccion ".grimoire" se puede agregar datos, por ejemlo, "el foro underc0de es genial", se guarda el archivo que se abrio con un programa para manejar hexadecimales, y se debe ejecutar el archivo sin ningun problema

ahora, yo recuerdo haber visto un tutorial, donde en vez de escribir una frase, se podia escribir opcode's, por ejemplo, los opcodes de una shell

"0xeb, 0xcc, 0xab".. etc

se cierra el executable con el editor de hexa y al executarlo, aparecia una shell, tambien puede ser la calculadora, notepad, MessageBoxA, etc

pero en un tutorial de alguien llamado ferchu, decia que para que eso fuece posible, se debian eleminar algunos hexadecimales sonde se encuentran los hexadecimales "PE",  y creo agregaba algo para que los opcode se ejecutaran

y eso es lo que no recuerdo como se hacia, ya que ese tutorial fue hecho la mayoria con imagenes y esas imagenes ya no existen, y queria saber si alguien me puede explicar esa parte de execucion de opcodes agregados en una nueva seccion usando PEB

o hay alguna otra forma mas sencilla o mejor para lograrlo?, porque tambien uso windows 7 64bits, y el lo hizo con windows xp 32bits, y varias veces tuve problemas por esa diferencia, ya que hay algunos cambios, aunque en virtualbox tengo windows 7 32bits, y alli la diferencia es minima, espero me pueda ayudar

salu2

O no tienes conceptos claros o yo no te entiendo. PEB es una estructura de Windows: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta y No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Creo que te refieres al PE y no al PEB. Puedes meter los datos que quieras, pero dependiendo de lo que quieras hacer con esos datos debes darle unos permisos u otros. Para que se ejecuten, en algún punto tiene que haber una llamada a esa zona. La forma más sencilla es cambiar el Entry Point.

Sa1uDoS

ahhh si, lo siento no me fije en eso es "PE" y sip era algo asi sobre el Entry Point, creo sera mejor que les deje el link, sera mas facil de explicar

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

es el tercer capitulo lo que no recuerdo como hacerlo y no se si haya formas mejores para hacer eso

salu2

Se mas especifico, pues hay viene todo muy bien explicado...

-Saludos-

esta parte


Código: php
offset PE:	0xE0 - 0x28 = 0xB8	(4 bytes)

Se puede apreciar en la comparacion la cabecera PE desplazada 0x28 bytes hacia abajo (considerese abajo, como desplazamiento hacia menor direccion que la actual), y se ve la "Bound Import Table" intacta (la que en el otro capitulo eliminamos/sobreescribimos)


lo que sucede es que elimino 0x28, pero al ejecutar el archivo me dice que ya no es win32, lo que me imagino es que al eliminarle hexadecimales queda incompleto, entonces si elimino 0x28 hexadecimales con algo se debe llenar para volver a la cantidad original de archivo y posicion original de los demas offset's, y eso es lo que no recuerdo y no alcanzo a ver la imagen ya que me aparece muy pequeña en el ejemplo de alli, porque tambien menciona que queda intacta "Bound import"