網路安全系列之十九禁止建立ipc$連線

科技小能手發表於2017-11-08

在Windows系統中執行net share命令檢視共享,可以看到除了系統預設開啟的隱藏共享之外,還有一個名為IPC$的隱藏共享。

image

這個IPC$在黑客界可是鼎鼎大名,當然那是很早以前的事了。IPC$的主要作用是用來連線共享連線。我們知道,當客戶端訪問檔案伺服器時,必須要輸入使用者名稱和密碼進行身份驗證,驗證通過之後就在客戶端與伺服器之間建立了一個共享連線,我們可以通過net use命令來管理共享連線,關於這部分內容參見博文http://yttitan.blog.51cto.com/70821/1341546

一般情況下,客戶端在訪問伺服器時,都是先進行身份驗證,然後再建立共享連線。而利用IPC$可以直接來建立共享連線,這樣使用者在訪問檔案伺服器時,就無需進行身份驗證了。 

比如,在客戶端執行下面的命令(123是administrator使用者的密碼):

image

連線建立好之後,使用者再訪問伺服器,就會直接以administrator的身份訪問。

在WinXP SP2之前的系統,如果administrator沒有設定密碼,系統允許客戶端直接以空密碼與伺服器建立連線,這也就是大名鼎鼎的IPC$空連線。當然這個漏洞在WinXP SP2就已經被修補了,但是這個IPC$至今卻仍然可以在hacker那裡發揮作用,比如用它來猜管理員密碼。如果再配上一個批處理指令碼以及一個不錯的字典,那麼這個猜解密碼的威力還是比較強大的。

下面是我自己寫的一個指令碼,pass.txt是字典檔案,192.168.80.128是目標主機,成功猜出的密碼會儲存在1.txt檔案中。

for /f %%a in (c:pass.txt) do net use \192.168.80.128ipc$ /user:administrator %%a && echo %%a 1>1.txt

如何來防範這種攻擊呢,這裡有兩種方法:

第一種方法是關閉IPC$。關閉IPC$的方法是停止server服務,而停止了server服務,也就禁用了檔案共享的功能,所以此種方法並不推薦。

第二種方法是禁止建立IPC$連線,這是個人比較推薦的方法,具體操作需要修改登錄檔。展開[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLsa
estrictanonymous],將值改為1。

 

image

本文轉自 yttitan 51CTO部落格,原文連結:http://blog.51cto.com/yttitan/1570639


相關文章