2012年3月16日 星期五

怎樣防止別人用ipc$和系統預設共享入侵

方案 A:一種辦法是把ipc$和系統預設共享都刪除了。但重起後還會有。這就需要改註冊表。
1. 先把已有的刪除
net share ipc$ /del
net share admin$ /del
net share c$ /del
…………(有幾個分割區刪幾個)

2. 禁止建立空連接
首先運行regedit, 設定主鍵[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA]把RestrictAnonymous(DWORD)的鍵值改為:00000001

3, 禁止自動打開系統預設共享
對於 windows server版, 設定主鍵[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters]把AutoShareServer(DWORD)的鍵值改為:00000000
對於 windows pro版, 則是[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters]把AutoShareWks(DWORD)的鍵值改為:00000000

方案 B:另一種是關閉ipc$和系統預設共享依賴的服務(不推薦)
net stop lanmanserver
可能會有提示說, XXX服務也會關閉是否繼續。因為還有些次要的服務依賴於lanmanserver。一般情況按y繼續就可以了。

利用getobject("WINNT")獲得了系統用戶和系統進程的列表, 這個列表可能會被駭客利用, 停用的方法是:
【開始→程序→管理工具→服務】, 找到Workstation, 停止它, 禁用它。


方案 C:最簡單的辦法是設置複雜密碼, 防止通過ipc$窮舉密碼。但如果你有其他漏洞, ipc$將為進一步入侵提供方便。

方案 D:還有一個辦法就是裝防火牆, 或者Port過濾(ipsec)
過配置本地策略來禁止139/445 Port的連接, 每一項服務都對應相應的Port, 比如眾如周知的WWW服務的Port是80, smtp是25, ftp是21。


附註: 上面4個方案, 只有 B方案對透過80 Port 進來的駭客有效, 因為駭客的程式是在本機上被執行。



第2關就是要禁止執行 shell command:
卸載 WScript 的元件, 透過下面的指令 卸載WScript:
regsvr32/u C:\WINNT\System32\wshom.ocx
regsvr32/u C:\WINNT\system32\shell32.dll


本機執行 asp 透過 ADSI, 取得本機帳號相關設定:



如果直接停用掉 Workstation 服務, 並設定相關依存的服務為手動啟動. 重新執行 asp, 新的執行畫面如下:



相關文章:
ADSI GetObject queries may fail from ASP but work from VBScript
http://support.microsoft.com/kb/278836/en-us

google 關鍵字:
asp GetObject WinNT://



建議解法:
1. 建議禁用 windwos 內建的 WScript 的 shell 元件.
2. 如果主機沒有在使用網芳功能的話, 停用掉 Workstation 服務.
3. web server, 不允許寫入的地方, 都要設定好禁止寫入.
4. 所有的上傳的程式, 在上傳時都要增加上傳副名的檢查, 禁止可以被執行的程式被上傳.
5. 建議別把帳號的密碼, 或密碼規則, 或密碼的提示放在 Description 欄位裡. 因為透過程式可以查詢的到, 而且如果程式在執行時權限夠大的話還可以重設某個帳號的密碼.
6. 有在使中的執行排程的帳號, 權限要設好, 最好是設成 Guest 的群組而且還可以完成專案交待的任務.
7. 透過 alert 通報機制, 使用小工具定時排程檢查主機上的程式內容 md5(檢查有無被修改) 與 資料夾的檔案清單(檢查有無被刪除或上傳).

沒有留言:

張貼留言

Facebook 留言板