Ayuda con código PHP ofuscado

Iniciado por Snoosarp, 19 Abril 2017, 01:50 AM

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

Snoosarp

Buenas, no sé si podríais echarme una mano, resulta que tengo unos cuantos ficheros web que están ofuscados con una herramienta "fopo.com.ar" y no tengo ni idea de como descifrarlo, si me podéis echar una mano.

Gracias!

pastebin con el código, no me deja meterlo en [codes]

https://pastebin.com/rwj2WEUy

engel lex

eliminaé el codigo porque era muy largo y daba errores, montarlo en un servicio tipo pastebin y pega el enlace
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

Snoosarp

Cita de: engel lex en 19 Abril 2017, 01:53 AM
eliminaé el codigo porque era muy largo y daba errores, montarlo en un servicio tipo pastebin y pega el enlace

sí, ya me di cuenta  :xD

engel lex

el codigo sigue estando incompleto, no veo las comillas de cierre

por otro lado si haces

$t9a46e90="\x62\141\x73\145\x36\x34\137\x64\145\143\157\x64\145";
echo $t9a46e90;


verás que que es un base64... en general el secreto está en cambiar los eval por echo

sin embargo el contenido del base64 aún parece codificado
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

Snoosarp

Cita de: engel lex en 19 Abril 2017, 02:04 AM
el codigo sigue estando incompleto, no veo las comillas de cierre

por otro lado si haces

$t9a46e90="\x62\141\x73\145\x36\x34\137\x64\145\143\157\x64\145";
echo $t9a46e90;


verás que que es un base64... en general el secreto está en cambiar los eval por echo

sin embargo el contenido del base64 aún parece codificado

He puesto un nuevo pastebin con el archivo completo, creo que alguna línea me había comido, ese es el código completo, está bien porque lo lee Chrome perfectamente y publica la web sin problemas, gracias por la ayuda.

engel lex

tiene mucha basura, es  largo y no voy a intentar sacar el codigo final, porque además necesito el nombre del archivo... pero te digo los pasos,

busca todo lo que tenga $ al principio y usa echo a ver que función es, luego sigue las funciones... cuidado con los eval, cambialos por echo... esto es cosa de calma y sentarse con php a correr pedazo por pedazo
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

Snoosarp

Cita de: engel lex en 19 Abril 2017, 02:25 AM
tiene mucha basura, es  largo y no voy a intentar sacar el codigo final, porque además necesito el nombre del archivo... pero te digo los pasos,

busca todo lo que tenga $ al principio y usa echo a ver que función es, luego sigue las funciones... cuidado con los eval, cambialos por echo... esto es cosa de calma y sentarse con php a correr pedazo por pedazo

Eso haré, gracias!

engel lex

#7
si ves que la linea empieza sin $, o empieza con //, por lo general es basura... ya que en php necesitas el $ para declarar variables...

recuerda que php no distingue tipos de variables, así que incluso una variable de texto pude ser una función

Código (php) [Seleccionar]
$variable_cualquiera = "print_r";
$variable_cualquiera("hola mundo");

//eso equivale a

print_r("hola mundo");


hay un punto donde verás

Código (php) [Seleccionar]
$s1540334="\x67";$v0d7b0a8="\146";$t9a46e90="\x62";$z6c86f80="\x73";$r0530120="\145";$q8b71577="\x73";$f28d9b99="\162";$gf160980="\x73";$j146448d="\160";$q8b71577.="\x74";$r0530120.="\170";$j146448d.="\x72";$gf160980.="\x68";$t9a46e90.="\141";$s1540334.="\172";$z6c86f80.="\164";$v0d7b0a8.="\151";$f28d9b99.="\145";$gf160980.="\141";$s1540334.="\x69";$j146448d.="\145";$r0530120.="\x70";$t9a46e90.="\163";$z6c86f80.="\162";$v0d7b0a8.="\x6c";$q8b71577.="\162";$f28d9b99.="\x73";$v0d7b0a8.="\145";$q8b71577.="\x63";$gf160980.="\61";$z6c86f80.="\x5f";$r0530120.="\x6c";$f28d9b99.="\145";$s1540334.="\156";$j146448d.="\147";$t9a46e90.="\x65";$z6c86f80.="\162";$r0530120.="\x6f";$t9a46e90.="\66";$q8b71577.="\155";$f28d9b99.="\x74";$j146448d.="\x5f";$v0d7b0a8.="\x5f";$s1540334.="\146";$r0530120.="\144";$q8b71577.="\x70";$t9a46e90.="\64";$v0d7b0a8.="\147";$j146448d.="\x72";$z6c86f80.="\157";$s1540334.="\154";$s1540334.="\x61";$r0530120.="\x65";$v0d7b0a8.="\x65";$t9a46e90.="\x5f";$z6c86f80.="\164";$j146448d.="\x65";$v0d7b0a8.="\164";$t9a46e90.="\144";$z6c86f80.="\61";$j146448d.="\x70";$s1540334.="\x74";$v0d7b0a8.="\137";$j146448d.="\154";$z6c86f80.="\x33";$t9a46e90.="\x65";$s1540334.="\x65";$t9a46e90.="\143";$j146448d.="\141";$v0d7b0a8.="\x63";$v0d7b0a8.="\157";$j146448d.="\143";$t9a46e90.="\x6f";$j146448d.="\145";$t9a46e90.="\x64";$v0d7b0a8.="\x6e";$t9a46e90.="\145";$v0d7b0a8.="\164";$v0d7b0a8.="\145";$v0d7b0a8.="\156";$v0d7b0a8.="\x74";$v0d7b0a8.="\x73";$e68817ea=$r0530120("\50",__FILE__);@eval($q8b71577($gf160980($j146448d("\57\134\x28\134\x22\56\52\134\42\134\x29\57","\x28\x22\x22\x29",$j146448d("\x2f\xd\174\xa\x2f","",$v0d7b0a8($f28d9b99($e68817ea))))),"\x35\x34\x31\65\x38\x39\x32\x66\142\70\71\x31\67\63\64\x61\71\x34\67\144\x62\143\x64\146\142\x33\x63\145\142\71\141\x38\x32\x35\63\x31\70\141\143\x65")?$s1540334($t9a46e90($z6c86f80("CMmKoiAXyxos5nNirfNY5bGTNZBppkXWp8BpkElssiG3LAb2LZx2v2Wk17sKZvK9L6qGwPuc6Y//+ifzxY9uQC4oWgQsoskitiw7EeT/LMG83pK+/FZLD/+T8s/p/+gs/9utUVADSCi39hGsZCxoN/+Ats82/t3j++3i+58k/3+Qy8tcbdY+iHClglClg4sswz+8+e/iECKiC/5gp6CbK//6a/WZu3/+Mms//Zs/C+O//zrxs/7STnA21s33iwHD/4ooJcaOzv2+PKSgX4Bmu2LQZnR4pXrj7ubzs+nslXHJbEYJtfuSxY5lm2L+syhvTtb6CurEaDL6Syrv0zdOYvIgSwruy7XPTK2NI2KdjYHzAjwvswW1YHwPI4s6PK941DYzQODNz8UyWYbE9WPQZEPwD0hCt9SFop+fLoTTM1glbRnv+joBhljO9VP5IRyeVWbxbVT4... (esto sigue)


en ese munto, te importa saber que funciones hay luego del eval, así que con un echo a esas vavriables puedes verlas (no lo corras a cieras, porque si no sabes de que va el codigo, una podría ser un eval o algo malicioso (format c: ? XD)... si es algo seguro, simplemente cambia eval por echo y listo
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

Snoosarp

Cita de: engel lex en 19 Abril 2017, 02:32 AM
si ves que la linea empieza sin $, o empieza con //, por lo general es basura... ya que en php necesitas el $ para declarar variables...

recuerda que php no distingue tipos de variables, así que incluso una variable de texto pude ser una función

Código (php) [Seleccionar]
$variable_cualquiera = "print_r";
$variable_cualquiera("hola mundo");

//eso equivale a

print_r("hola mundo");


hay un punto donde verás

Código (php) [Seleccionar]
$s1540334="\x67";$v0d7b0a8="\146";$t9a46e90="\x62";$z6c86f80="\x73";$r0530120="\145";$q8b71577="\x73";$f28d9b99="\162";$gf160980="\x73";$j146448d="\160";$q8b71577.="\x74";$r0530120.="\170";$j146448d.="\x72";$gf160980.="\x68";$t9a46e90.="\141";$s1540334.="\172";$z6c86f80.="\164";$v0d7b0a8.="\151";$f28d9b99.="\145";$gf160980.="\141";$s1540334.="\x69";$j146448d.="\145";$r0530120.="\x70";$t9a46e90.="\163";$z6c86f80.="\162";$v0d7b0a8.="\x6c";$q8b71577.="\162";$f28d9b99.="\x73";$v0d7b0a8.="\145";$q8b71577.="\x63";$gf160980.="\61";$z6c86f80.="\x5f";$r0530120.="\x6c";$f28d9b99.="\145";$s1540334.="\156";$j146448d.="\147";$t9a46e90.="\x65";$z6c86f80.="\162";$r0530120.="\x6f";$t9a46e90.="\66";$q8b71577.="\155";$f28d9b99.="\x74";$j146448d.="\x5f";$v0d7b0a8.="\x5f";$s1540334.="\146";$r0530120.="\144";$q8b71577.="\x70";$t9a46e90.="\64";$v0d7b0a8.="\147";$j146448d.="\x72";$z6c86f80.="\157";$s1540334.="\154";$s1540334.="\x61";$r0530120.="\x65";$v0d7b0a8.="\x65";$t9a46e90.="\x5f";$z6c86f80.="\164";$j146448d.="\x65";$v0d7b0a8.="\164";$t9a46e90.="\144";$z6c86f80.="\61";$j146448d.="\x70";$s1540334.="\x74";$v0d7b0a8.="\137";$j146448d.="\154";$z6c86f80.="\x33";$t9a46e90.="\x65";$s1540334.="\x65";$t9a46e90.="\143";$j146448d.="\141";$v0d7b0a8.="\x63";$v0d7b0a8.="\157";$j146448d.="\143";$t9a46e90.="\x6f";$j146448d.="\145";$t9a46e90.="\x64";$v0d7b0a8.="\x6e";$t9a46e90.="\145";$v0d7b0a8.="\164";$v0d7b0a8.="\145";$v0d7b0a8.="\156";$v0d7b0a8.="\x74";$v0d7b0a8.="\x73";$e68817ea=$r0530120("\50",__FILE__);@eval($q8b71577($gf160980($j146448d("\57\134\x28\134\x22\56\52\134\42\134\x29\57","\x28\x22\x22\x29",$j146448d("\x2f\xd\174\xa\x2f","",$v0d7b0a8($f28d9b99($e68817ea))))),"\x35\x34\x31\65\x38\x39\x32\x66\142\70\71\x31\67\63\64\x61\71\x34\67\144\x62\143\x64\146\142\x33\x63\145\142\71\141\x38\x32\x35\63\x31\70\141\143\x65")?$s1540334($t9a46e90($z6c86f80("CMmKoiAXyxos5nNirfNY5bGTNZBppkXWp8BpkElssiG3LAb2LZx2v2Wk17sKZvK9L6qGwPuc6Y//+ifzxY9uQC4oWgQsoskitiw7EeT/LMG83pK+/FZLD/+T8s/p/+gs/9utUVADSCi39hGsZCxoN/+Ats82/t3j++3i+58k/3+Qy8tcbdY+iHClglClg4sswz+8+e/iECKiC/5gp6CbK//6a/WZu3/+Mms//Zs/C+O//zrxs/7STnA21s33iwHD/4ooJcaOzv2+PKSgX4Bmu2LQZnR4pXrj7ubzs+nslXHJbEYJtfuSxY5lm2L+syhvTtb6CurEaDL6Syrv0zdOYvIgSwruy7XPTK2NI2KdjYHzAjwvswW1YHwPI4s6PK941DYzQODNz8UyWYbE9WPQZEPwD0hCt9SFop+fLoTTM1glbRnv+joBhljO9VP5IRyeVWbxbVT4... (esto sigue)


en ese munto, te importa saber que funciones hay luego del eval, así que con un echo a esas vavriables puedes verlas (no lo corras a cieras, porque si no sabes de que va el codigo, una podría ser un eval o algo malicioso (format c: ? XD)... si es algo seguro, simplemente cambia eval por echo y listo

Gracias, voy a intentarlo