檢測惡意軟件、防止惡意軟件在關鍵系統上執行,這一直是這幾年安全行業關注的焦點。如果別有用心的攻擊者想要利用系統自帶的應用和工具實施入侵,其選擇往往不多。但對于攻擊高手來說,living off the LAN,已經夠了。
Linux的很多發行版中包含一個名為Netcat的工具包。Netcat是一個強大的管理員工具,被安裝在很多服務器上,甚至包括一些Windows系統。它的功能是與遠程接口連接并發起通信,或者創建一個預留給遠程連接的監聽接口。通過控制TCP或UDP的端口限制,Netcat可以被作為端口掃描器來使用,一方面探測打開的端口,另一方面標記下可用的服務和應用。使用一行簡單的命令 nc –nv –w1 <端口范圍> 就可以掃描目標IP上的指定端口。使用Netcat掃描端口的樣例見下圖:
如圖所示,Netcat客戶端快速隱秘地掃描了IP地址192.168.1.3的10到25號端口,發現端口22是打開的,并使用SSH-2.0-OpenSSH 5.3。通過和特定端口的互動,我們可以得到更多目標設備的有用信息,包括應用名稱、版本,以及基礎操作系統。使用Netcat和HTTP服務互動的樣例見下圖:
如圖所示,我們可以推測出目標設備使用Apache,運行的版本號是2.2.15,基礎操作系統是CentOS。這樣的信息泄露并不一定是有害的,然而Netcat可能表現出一些更惡意的行為,包括允許攻擊者建立、使用后門,在不同設備間傳送文件。
Netcat的其中一項功能是執行一個程序,并將輸入變量從監聽器傳送到該程序。當用戶在Linux設備上執行/bin/sh或在Windows設備上執行cmd.exe時,就相當于在自己的電腦上打開了一個后門。幸運的是,對安全管理人員而言,在設備上使用預裝Netcat時的命令可能并沒有包含-e。
不過,攻擊者也可以只通過設立一個Netcat監聽器來繞過這個問題,該監聽器作為中繼,功能是從FIFO文件中讀取標準化輸出。然后攻擊者就可以將指令輸送到連接著本地主機22號端口的Netcat命令行上,然后將標準化輸出重定向到預先定義好的FIFO文件上。最后,只需要連接一個非本地主機的其它IP即可完成中繼過程。
盡管有諸如SCP、FTP、TFTP這類傳輸文件的方式,但它們基本上都被防火墻嚴密監控著,甚至可能已經被封鎖了。
上述Netcat的功能在Windows系統上也成立,但Netcat并不是Windows的自帶工具,因此使用它進行入侵可能沒有那么盛行。不過,微軟也為攻擊者無意間提供了一些基于SMB的其它工具,比如Windows規范管理架構命令行(WMIC)。要執行遠程命令,攻擊者需要一個管理員級別的賬戶。不幸的是,哈希傳遞攻擊(Pass the Hash)在Windows體系下相當普遍,獲得一個管理員級別的賬戶也許并非難事。除了WMIC之外,類似reg.exe和sc.exe這些內置工具也允許攻擊者遠程控制設備,不過同樣也需要管理員賬戶。
考慮到很多系統管理員也使用類似WMIC、reg.exe、sc.exe這類的工具,探測來自于這些工具的攻擊時會獲得較大的假陽性率。不過,Tripwire企業版用戶可以通過改動審查和關鍵改動審查兩個模塊來探測關鍵注冊表的風吹草動。另外,網絡犯罪內容模塊監控所有Windows設備上的服務狀態,任何通過sc.exe執行的命令都會觸動檢測規則,引起模塊報警。
盡管攻擊者在使用設備非自帶的工具和惡意軟件時更加得心應手,上面的這幾個例子同樣說明,即使是使用系統自帶工具,黑客仍然可以展開攻擊。
原文地址:http://www.aqniu.com/tools/7297.html