建立連線後服務端程式占用極少系統資源,被控端不會在系統性能上有任何察覺,通常被後門木馬所利用。
在winsock的實現中,對於伺服器的綁定是可以多重綁定的,在確定多重綁定使用誰的時候,根據一條原則是誰的指定最明確則將包遞交給誰,而且沒有許可權之分,也就是說低級許可權的用戶是可以重綁定在高級許可權如服務啟動的連線埠上的,這是非常重大的一個安全隱患。
這意味著什麼?意味著可以進行如下的攻擊:
1。一個木馬綁定到一個已經合法存在的連線埠上進行連線埠的隱藏,他通過自己特定的包格式判斷是不是自己的包,如果是自己處理,如果不是通過127.0.0.1的地址交給真正的伺服器套用進行處理。
2。一個木馬可以在低許可權用戶上綁定高許可權的服務套用的連線埠,進行該處理信息的嗅探,本來在一個主機上監聽一個SOCKET的通訊需要具備非常高的許可權要求,但其實利用SOCKET重綁定,你可以輕易的監聽具備這種SOCKET編程漏洞的通訊,而無須採用什麼掛接,鉤子或低層的驅動技術(這些都需要具備管理員許可權才能達到)
3。針對一些的特殊套用,可以發起中間人攻擊,從低許可權用戶上獲得信息或事實欺騙,如在guest許可權下攔截telnet伺服器的23連線埠,如果是採用NTLM加密認證,雖然你無法通過嗅探直接獲取密碼,但一旦有admin用戶通過你登入以後,你的套用就完全可以發起中間人攻擊,扮演這個登入的用戶通過SOCKET傳送高許可權的命令,到達入侵的目的。
4.對於構建的WEB伺服器,入侵者只需要獲得低級的許可權,就可以完全達到更改網頁目的,很簡單,扮演你的伺服器給予連線請求以其他信息的應答,甚至是基於電子商務上的欺騙,獲取非法的數據。