Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: Snoosarp en 19 Abril 2017, 01:50 am



Título: Ayuda con código PHP ofuscado
Publicado por: Snoosarp en 19 Abril 2017, 01:50 am
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


Título: Re: Ayuda con código PHP ofuscado
Publicado por: 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


Título: Re: Ayuda con código PHP ofuscado
Publicado por: Snoosarp en 19 Abril 2017, 01:55 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


Título: Re: Ayuda con código PHP ofuscado
Publicado por: 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

Código:
$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


Título: Re: Ayuda con código PHP ofuscado
Publicado por: Snoosarp en 19 Abril 2017, 02:09 am
el codigo sigue estando incompleto, no veo las comillas de cierre

por otro lado si haces

Código:
$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.


Título: Re: Ayuda con código PHP ofuscado
Publicado por: 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


Título: Re: Ayuda con código PHP ofuscado
Publicado por: Snoosarp en 19 Abril 2017, 02:29 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!


Título: Re: Ayuda con código PHP ofuscado
Publicado por: 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
  1. $variable_cualquiera = "print_r";
  2. $variable_cualquiera("hola mundo");
  3.  
  4. //eso equivale a
  5.  
  6. print_r("hola mundo");
  7.  

hay un punto donde verás

Código
  1. $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


Título: Re: Ayuda con código PHP ofuscado
Publicado por: Snoosarp en 19 Abril 2017, 02:45 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
  1. $variable_cualquiera = "print_r";
  2. $variable_cualquiera("hola mundo");
  3.  
  4. //eso equivale a
  5.  
  6. print_r("hola mundo");
  7.  

hay un punto donde verás

Código
  1. $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