網(wǎng)站反復(fù)被掛馬的解決辦法與分析研究
[重要通告]如您遇疑難雜癥,本站支持知識(shí)付費(fèi)業(yè)務(wù),掃右邊二維碼加博主微信,可節(jié)省您寶貴時(shí)間哦!
最近發(fā)現(xiàn),網(wǎng)站經(jīng)常會(huì)出現(xiàn)被掛JS,一直沒(méi)有注意。這次要利用周末,好好下手除害了。同時(shí)寫(xiě)點(diǎn)共通的方法。以便更多人或許有用。
下面兩點(diǎn)要明白的:
很清楚這樣刪了是治標(biāo)不治本的,過(guò)不兩天還會(huì)被掛!
看源文件是沒(méi)有用的,可能寫(xiě)在你的其他包含文件里或者JS文件或者數(shù)據(jù)庫(kù)里!下面講被掛馬后的一般查馬和解決方法。
網(wǎng)頁(yè)中被插入Js/iframe的可能性的途徑:
雖然問(wèn)題簡(jiǎn)單,但詳細(xì)說(shuō)起來(lái)從服務(wù)器、傳輸過(guò)程和客戶(hù)端3個(gè)層次來(lái)分析。
1、就服務(wù)器而言存在的可能:
(1) 直接修改網(wǎng)頁(yè)插入,現(xiàn)象是網(wǎng)頁(yè)被改動(dòng)了。
(2) 通過(guò)ISAPI Filter插入,現(xiàn)象是出現(xiàn)了陌生的ISAPI加載項(xiàng)。
(3) 通過(guò)IIS的腳注插入,現(xiàn)象是腳注設(shè)置被啟用了。
(4) 通過(guò)網(wǎng)絡(luò)TDI或NDIS插入,現(xiàn)象是出現(xiàn)了不知名的網(wǎng)絡(luò)驅(qū)動(dòng)類(lèi)程序。
(5)“一句話(huà)木馬”!這通常不被注意,但有一個(gè)功能可以把網(wǎng)站所有的首頁(yè)和包含文件都自動(dòng)加上代碼的文件!
2、就傳輸過(guò)程存在的可能:
(1) 路由器被劫持,現(xiàn)象是只要通過(guò)某個(gè)路由器訪(fǎng)問(wèn)則出現(xiàn)代碼,否則就沒(méi)有。
(2) ARP欺騙,現(xiàn)象是arp表顯然不正確。
3、就客戶(hù)端存在的可能:
(1) 惡意程序或惡意插件,現(xiàn)象是其他機(jī)器訪(fǎng)問(wèn)網(wǎng)站就沒(méi)有被插入代碼。
被掛馬后查找步驟:
1.先看看上傳目錄下面有沒(méi)有可疑的ASP文件
2.然后再根據(jù)文件修改時(shí)間看看最近修改的文件哪些可疑
3.把上面搞清楚,應(yīng)該就可以找到根源了。
服務(wù)器安全配置(WIN吧,其它的我也不是很了解):
幾個(gè)關(guān)鍵ASP組件漏的問(wèn)題。
① 刪除或更名以下危險(xiǎn)的ASP組件:
WScript.Shell、WScript.Shell.1、Wscript.Network、Wscript.Network.1、adodb.stream、Shell.application
開(kāi)始------->運(yùn)行--------->Regedit,打開(kāi)注冊(cè)表編輯器,按Ctrl+F查找,依次輸入以上 Wscript.Shell等組件名稱(chēng)以及相應(yīng)的ClassID,
然后進(jìn)行刪除或者更改名稱(chēng)(這里建議大家更名,如果有部分網(wǎng)頁(yè)ASP程序利用了上面的組 件的話(huà)呢,
只需在將寫(xiě)ASP代碼的時(shí)候用我們更改后的組件名稱(chēng)即可正常使用。
當(dāng)然如果你確信你的ASP程序中沒(méi)有用到以上組件,還是直接刪除心中踏實(shí)一些 ^_^,
按常規(guī)一般來(lái)說(shuō)是不會(huì)做到以上這些組件的。刪除或更名后,iisreset重啟IIS后即可升效。)
[注意:由于A(yíng)dodb.Stream這個(gè)組件有很多網(wǎng)頁(yè)中將用到,所以如果你的服務(wù)器是開(kāi)虛擬主機(jī)的話(huà),建議酢情處理。]
?、?關(guān)于 File System Object (classid:0D43FE01-F093-11CF-8940-00A0C9054228)即常說(shuō)的FSO的安全問(wèn)題,如果您的服務(wù)器必需要用到 FSO的話(huà),(部分虛擬主機(jī)服務(wù)器一般需開(kāi)FSO功能)
可以參照本人的另一篇關(guān)于FSO安全解決辦法的文章:Microsoft Windows 2000 Server FSO
安全隱患解決辦法。如果您確信不要用到的話(huà),可以直接反注冊(cè)此組件即可。
?、?直接反注冊(cè)、卸載這些危險(xiǎn)組件的方法:(實(shí)用于不想用①及②類(lèi)此類(lèi)煩瑣的方法)
卸載wscript.shell對(duì)象,在cmd下或直接運(yùn)行:regsvr32 /u %windir%\system32\WSHom.Ocx
卸載FSO對(duì)象,在cmd下或直接運(yùn)行:regsvr32.exe /u %windir%\system32\scrrun.dll
卸載stream對(duì)象,在cmd下或直接運(yùn)行: regsvr32 /s /u "C:\Program Files\Common Files\System\ado\msado15.dll"
如果想恢復(fù)的話(huà)只需要去掉 /U 即可重新再注冊(cè)以上相關(guān)ASP組件例如:regsvr32.exe %windir%\system32\scrrun.dll
卸載這些危險(xiǎn)組件的方法:(實(shí)用于不想用①及②類(lèi)此類(lèi)煩瑣的方法)
卸載wscript.shell對(duì)象,在cmd下或直接運(yùn)行:regsvr32 /u %windir%\system32\WSHom.Ocx
卸載FSO對(duì)象,在cmd下或直接運(yùn)行:regsvr32.exe /u %windir%\system32\scrrun.dll
卸載stream對(duì)象,在cmd下或直接運(yùn)行: regsvr32 /s /u "C:\Program Files\Common Files\System\ado\msado15.dll"
如果想恢復(fù)的話(huà)只需要去掉 /U 即可重新再注冊(cè)以上相關(guān)ASP組件例如:regsvr32.exe %windir%\system32\scrrun.dll
防止海洋木馬列出WIN服務(wù)器的用戶(hù)和進(jìn)程
禁用服務(wù)里面倒數(shù)第二個(gè) workstation 服務(wù),可以防止列出用戶(hù)和服務(wù)
c:\
administrators 全部
system 全部
iis_wpg 只有該文件夾
列出文件夾/讀數(shù)據(jù)
讀屬性
讀擴(kuò)展屬性
讀取權(quán)限
c:\inetpub\mailroot
administrators 全部
system 全部
service 全部
c:\inetpub\ftproot
everyone 只讀和運(yùn)行
c:\windows
administrators 全部
Creator owner
不是繼承的
只有子文件夾及文件
完全
Power Users
修改,讀取和運(yùn)行,列出文件夾目錄,讀取,寫(xiě)入
system 全部
IIS_WPG 讀取和運(yùn)行,列出文件夾目錄,讀取
Users 讀取和運(yùn)行(此權(quán)限最后調(diào)整完成后可以取消)
C:\WINDOWS\Microsoft.Net
administrators 全部
Creator owner
不是繼承的
只有子文件夾及文件
完全
Power Users
修改,讀取和運(yùn)行,列出文件夾目錄,讀取,寫(xiě)入
system 全部
Users 讀取和運(yùn)行,列出文件夾目錄,讀取
C:\WINDOWS\Microsoft.Net
administrators 全部
Creator owner
不是繼承的
只有子文件夾及文件
完全
Power Users
修改,讀取和運(yùn)行,列出文件夾目錄,讀取,寫(xiě)入
system 全部
Users 讀取和運(yùn)行,列出文件夾目錄,讀取
C:\WINDOWS\Microsoft.Net\temporary ASP.NET Files
administrators 全部
Creator owner
不是繼承的
只有子文件夾及文件
完全
Power Users
修改,讀取和運(yùn)行,列出文件夾目錄,讀取,寫(xiě)入
system 全部
Users 全部
c:\Program Files
Everyone 只有該文件夾
不是繼承的
列出文件夾/讀數(shù)據(jù)
administrators 全部
iis_wpg 只有該文件夾
列出文件/讀數(shù)據(jù)
讀屬性
讀擴(kuò)展屬性
讀取權(quán)限
c:\windows\temp
Administrator 全部權(quán)限
System全部權(quán)限
users 全部權(quán)限
c:\Program Files\Common Files
administrators 全部
Creator owner
不是繼承的
只有子文件夾及文件
完全
Power Users
修改,讀取和運(yùn)行,列出文件夾目錄,讀取,寫(xiě)入
system 全部
TERMINAL SERVER Users(如果有這個(gè)用戶(hù))
修改,讀取和運(yùn)行,列出文件夾目錄,讀取,寫(xiě)入
Users 讀取和運(yùn)行,列出文件夾目錄,讀取
c:\Program Files\Dimac(如果有這個(gè)目錄)
Everyone 讀取和運(yùn)行,列出文件夾目錄,讀取
administrators 全部
c:\Program Files\ComPlus Applications (如果有)
administrators 全部
c:\Program Files\GflSDK (如果有)
administrators 全部
Creator owner
不是繼承的
只有子文件夾及文件
完全
Power Users
修改,讀取和運(yùn)行,列出文件夾目錄,讀取,寫(xiě)入
system 全部
TERMINAL SERVER Users
修改,讀取和運(yùn)行,列出文件夾目錄,讀取,寫(xiě)入
Users 讀取和運(yùn)行,列出文件夾目錄,讀取
Everyone 讀取和運(yùn)行,列出文件夾目錄,讀取
c:\Program Files\InstallShield Installation Information (如果有)
c:\Program Files\Internet Explorer (如果有)
c:\Program Files\NetMeeting (如果有)
administrators 全部
c:\Program Files\WindowsUpdate
Creator owner
不是繼承的
只有子文件夾及文件
完全
administrators 全部
Power Users
修改,讀取和運(yùn)行,列出文件夾目錄,讀取,寫(xiě)入
system 全部
c:\Program Files\Microsoft SQL(如果SQL安裝在這個(gè)目錄)
administrators 全部
Service 全部
system 全部
d:\ (如果用戶(hù)網(wǎng)站內(nèi)容放置在這個(gè)分區(qū)中)
administrators 全部權(quán)限
d:\FreeHost (如果此目錄用來(lái)放置用戶(hù)網(wǎng)站內(nèi)容)
administrators 全部權(quán)限
SERVICE 讀取與運(yùn)行
從安全角度,我們建議WebEasyMail(WinWebMail)安裝在獨(dú)立的盤(pán)中,例如E:
E:\(如果webeasymail安裝在這個(gè)盤(pán)中)
administrators 全部權(quán)限
system 全部權(quán)限
IUSR_*,默認(rèn)的Internet來(lái)賓帳戶(hù)(或?qū)S玫倪\(yùn)行用戶(hù))
讀取與運(yùn)行
E:\WebEasyMail (如果webeasymail安裝在這個(gè)目錄中)
administrators 全部
system 全部權(quán)限
SERVICE全部
IUSR_*,默認(rèn)的Internet來(lái)賓帳戶(hù) (或?qū)S玫倪\(yùn)行用戶(hù))
全部權(quán)限
C:\php\uploadtemp
C:\php\sessiondata
everyone
全部
C:\php\
administrators 全部
system 全部權(quán)限
SERVICE全部
Users 只讀和運(yùn)行
c:\windows\php.ini
administrators 全部
system 全部權(quán)限
SERVICE全部
Users 只讀和運(yùn)行
修改該Clsid的值而禁用該組件,如將注冊(cè)表中HKEY_CLASSES_ROOT\Scripting.FileSystemObject\CLSID的值0D43FE01-F093-11CF-8940-00A0C9054228改成0D43FE01-F093-11CF-8940-00A0C9054229(改了最后面一位),這時(shí)候的寫(xiě)法為:
CF-8940-00A0C9054229">
1.啟用Windows自帶防火墻,并開(kāi)放80 21 3306 52013 端口.(想開(kāi)什么端口自己加)
2.刪除以下的注冊(cè)表主鍵:
WScript.Shell
WScript.Shell.1
Shell.application
Shell.application.1
WSCRIPT.NETWORK
WSCRIPT.NETWORK.1
regsvr32 /u wshom.ocx回車(chē)、regsvr32 /u wshext.dll回車(chē)
3.刪除沒(méi)有必要的儲(chǔ)存過(guò)程
use master
EXEC sp_dropextendedproc 'xp_cmdshell'
EXEC sp_dropextendedproc 'Sp_OACreate'
EXEC sp_dropextendedproc 'Sp_OADestroy'
EXEC sp_dropextendedproc 'Sp_OAGetErrorInfo'
EXEC sp_dropextendedproc 'Sp_OAGetProperty'
EXEC sp_dropextendedproc 'Sp_OAMethod'
EXEC sp_dropextendedproc 'Sp_OASetProperty'
EXEC sp_dropextendedproc 'Sp_OAStop'
EXEC sp_dropextendedproc 'Xp_regaddmultistring'
EXEC sp_dropextendedproc 'Xp_regdeletekey'
EXEC sp_dropextendedproc 'Xp_regdeletevalue'
EXEC sp_dropextendedproc 'Xp_regenumvalues'
EXEC sp_dropextendedproc 'Xp_regread'
EXEC sp_dropextendedproc 'Xp_regremovemultistring'
EXEC sp_dropextendedproc 'Xp_regwrite'
drop procedure sp_makewebtask
4.禁用Workstation服務(wù),防止ASP木馬列出用戶(hù).
5.關(guān)閉默認(rèn)共享防止LAN內(nèi)IPC入侵。可以用批處理來(lái)實(shí)現(xiàn).如下:
echo off
net share c$ /del
net share d$ /del
net share e$ /del
net share f$ /del
保存為bat放到C:\Documents and Settings\All Users\「開(kāi)始」菜單\程序\啟動(dòng) 即可
6.定時(shí)重啟IIS服務(wù)及SQL服務(wù).釋放資源.可以用計(jì)劃任務(wù)來(lái)實(shí)現(xiàn).怎么弄自己想去。
7.設(shè)置終端登陸權(quán)限,只允許授權(quán)用戶(hù)登陸.開(kāi)始-程序-管理工具-終端服務(wù)配置-RDP-屬性-權(quán)限
Administrator
chadmin
system
完全控制,不過(guò)盡管這樣還是有一定的不安全,克隆個(gè)帳戶(hù)就得了.建議限制IP登陸.盡管這樣還是不安全滴,人家可以映射終端端口.最好的就是把服務(wù)器搞得上沒(méi)得網(wǎng).用IP安全策略可以做到.
8.Serv-U改一下本地管理密碼,防止本地溢出.設(shè)置一下FTP域安全性,選擇允許SSL/TLS和規(guī)則會(huì)話(huà).
問(wèn)題未解決?付費(fèi)解決問(wèn)題加Q或微信 2589053300 (即Q號(hào)又微信號(hào))右上方掃一掃可加博主微信
所寫(xiě)所說(shuō),是心之所感,思之所悟,行之所得;文當(dāng)無(wú)敷衍,落筆求簡(jiǎn)潔。 以所舍,求所獲;有所依,方所成!