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