A、卸載
WScript.Shell 和
Shell.application 組件,將下面的代碼保存為一個.BAT文件執行(分2000和2003系統)
windows2000.bat
regsvr32/u C:\WINNT\System32\wshom.ocx del C:\WINNT\System32\wshom.ocx regsvr32/u C:\WINNT\system32\shell32.dll del C:\WINNT\system32\shell32.dll
windows2003.bat
regsvr32/u C:\WINDOWS\System32\wshom.ocx del C:\WINDOWS\System32\wshom.ocx regsvr32/u C:\WINDOWS\system32\shell32.dll del C:\WINDOWS\system32\shell32.dll
B、改名不安全組件,需要注意的是組件的名稱和Clsid都要改,並且要改徹底了,不要照抄,要自己改
【開始→運行→
regedit→回車】
打開注冊表編輯器
然後【編輯→查找→填寫
Shell.application→查找下一個】
用這個方法能找到兩個注冊表項:
{13709620-C279-11CE-A49E-444553540000} 和
Shell.application 。
第一步:為了確保萬無一失,把這兩個注冊表項導出來,保存為xxxx.reg 文件。
第二步:比如我們想做這樣的更改
13709620-C279-11CE-A49E-444553540000 改名為
13709620-C279-11CE-A49E-444553540001
Shell.application 改名為
Shell.application_nohack
第三步:那麼,就把剛才導出的.reg文件裡的內容按上面的對應關系替換掉,然後把修改好的.reg文件導入到注冊表中(雙擊即可),導入了改名後的注冊表項之後,別忘記了刪除原有的那兩個項目。這裡需要注意一點,
Clsid中只能是十個數字和ABCDEF六個字母。
其實,只要把對應注冊表項導出來備份,然後直接改鍵名就可以了,
改好的例子
建議自己改
應該可一次成功
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\CLSID\{13709620-C279-11CE-A49E-444553540001}] @="Shell Automation Service" [HKEY_CLASSES_ROOT\CLSID\{13709620-C279-11CE-A49E-444553540001}\InProcServer32] @="C:\\WINNT\\system32\\shell32.dll" "ThreadingModel"="Apartment" [HKEY_CLASSES_ROOT\CLSID\{13709620-C279-11CE-A49E-444553540001}\ProgID] @="Shell.Application_nohack.1" [HKEY_CLASSES_ROOT\CLSID\{13709620-C279-11CE-A49E-444553540001}\TypeLib] @="{50a7e9b0-70ef-11d1-b75a-00a0c90564fe}" [HKEY_CLASSES_ROOT\CLSID\{13709620-C279-11CE-A49E-444553540001}\Version] @="1.1" [HKEY_CLASSES_ROOT\CLSID\{13709620-C279-11CE-A49E-444553540001}\VersionIndependentProgID] @="Shell.Application_nohack" [HKEY_CLASSES_ROOT\Shell.Application_nohack] @="Shell Automation Service" [HKEY_CLASSES_ROOT\Shell.Application_nohack\CLSID] @="{13709620-C279-11CE-A49E-444553540001}" [HKEY_CLASSES_ROOT\Shell.Application_nohack\CurVer] @="Shell.Application_nohack.1"
老杜評論:
WScript.Shell 和
Shell.application 組件是 腳本入侵過程中,提升權限的重要環節,這兩個組件的卸載和修改對應注冊鍵名,可以很大程度的提高虛擬主機的腳本安全性能,一般來說,ASP和php類腳本提升權限的功能是無法實現了,再加上一些
系統服務、
硬盤訪問權限、端口過濾、本地安全策略的設置,虛擬主機因該說,安全性能有非常大的提高,黑客入侵的可能性是非常低了。注銷了Shell組件之後,侵入者運行提升工具的可能性就很小了,但是prel等別的腳本語言也有shell能力,為防萬一,還是設置一下為好。下面是另外一種設置,大同小異。
一、禁止使用FileSystemObject組件
FileSystemObject可以對文件進行常規操作,可以通過修改注冊表,將此組件改名,來防止此類木馬的危害。
HKEY_CLASSES_ROOT\Scripting.FileSystemObject\
改名為其它的名字,如:改為 FileSystemObject_ChangeName
自己以後調用的時候使用這個就可以正常調用此組件了
也要將clsid值也改一下
HKEY_CLASSES_ROOT\Scripting.FileSystemObject\CLSID\項目的值
也可以將其刪除,來防止此類木馬的危害。
2000注銷此組件命令:RegSrv32 /u C:\WINNT\SYSTEM\scrrun.dll
2003注銷此組件命令:RegSrv32 /u C:\WINDOWS\SYSTEM\scrrun.dll
如何禁止Guest用戶使用scrrun.dll來防止調用此組件?
使用這個命令:cacls C:\WINNT\system32\scrrun.dll /e /d guests
二、禁止使用WScript.Shell組件
WScript.Shell可以調用系統內核運行DOS基本命令
可以通過修改注冊表,將此組件改名,來防止此類木馬的危害。
HKEY_CLASSES_ROOT\WScript.Shell\及HKEY_CLASSES_ROOT\WScript.Shell.1\
改名為其它的名字,如:改為WScript.Shell_ChangeName 或 WScript.Shell.1_ChangeName
自己以後調用的時候使用這個就可以正常調用此組件了
也要將clsid值也改一下
HKEY_CLASSES_ROOT\WScript.Shell\CLSID\項目的值
HKEY_CLASSES_ROOT\WScript.Shell.1\CLSID\項目的值
也可以將其刪除,來防止此類木馬的危害。
三、禁止使用Shell.Application組件
Shell.Application可以調用系統內核運行DOS基本命令
可以通過修改注冊表,將此組件改名,來防止此類木馬的危害。
HKEY_CLASSES_ROOT\Shell.Application\
及
HKEY_CLASSES_ROOT\Shell.Application.1\
改名為其它的名字,如:改為Shell.Application_ChangeName 或 Shell.Application.1_ChangeName
自己以後調用的時候使用這個就可以正常調用此組件了
也要將clsid值也改一下
HKEY_CLASSES_ROOT\Shell.Application\CLSID\項目的值
HKEY_CLASSES_ROOT\Shell.Application\CLSID\項目的值
也可以將其刪除,來防止此類木馬的危害。
禁止Guest用戶使用shell32.dll來防止調用此組件。
2000使用命令:cacls C:\WINNT\system32\shell32.dll /e /d guests
2003使用命令:cacls C:\WINDOWS\system32\shell32.dll /e /d guests
注:操作均需要重新啟動WEB服務後才會生效。
四、調用Cmd.exe
禁用Guests組用戶調用cmd.exe
2000使用命令:cacls C:\WINNT\system32\Cmd.exe /e /d guests
2003使用命令:cacls C:\WINDOWS\system32\Cmd.exe /e /d guests
通過以上四步的設置基本可以防范目前比較流行的幾種木馬,但最有效的辦法還是通過綜合安全設置,將服務器、程序安全都達到一定標准,才可能將安全等級設置較高,防范更多非法入侵。
C、防止Serv-U權限提升 (適用於 Serv-U6.0 以前版本,之後可以直接設置密碼)
先停掉Serv-U服務
用
Ultraedit打開
ServUDaemon.exe
查找 Ascii:
LocalAdministrator 和
#l@$ak#.lk;0@P
修改成等長度的其它字符就可以了,
ServUAdmin.exe也一樣處理。
另外注意設置Serv-U所在的文件夾的權限,不要讓IIS匿名用戶有讀取的權限,否則人家下走你修改過的文件,照樣可以分析出你的管理員名和密碼。