IVRE是一個網路滲透測試工具整合框架,可匯入滲透測試工具的掃描結果,儲存於資料庫內並以網頁的方式展示,以利分析與判讀。前面文章已經示範了如何安裝IVRE,並扼要說明過基礎操作方法,因此本文將接著介紹其進階使用方式。
在ivreclient中,預設已安裝Bro,因此可直接使用。由於Bro在讀取過程中會將輸出拆解成許多小檔,因此建議在操作前先切換至特定目錄中以方便管理,在此先切換至「/ivre-share」目錄內:
cd /ivre-share
然後,讀取該cap檔,並產出Log檔:
bro -r /tmp/tcpdump-20180508.cap
接著檢查其產出的Log檔,如圖8所示,可以看出Bro已產出Log檔。
|
▲圖8 Bro匯出Log檔。 |
接著,匯入Bro的Log檔:
ivre bro2db *.log
可使用「ivre flowcli」指令來查看每個flow的內容,也可以搭配count參數計算各類別的數量,其輸出如圖9所示:
|
▲圖9 查看flow count。 |
ivre flowcli
ivre flowcli ––count
建議收集較長時間的封包(flow網頁中可查看特定時間的記錄,因此可收集長期的資料以利日後查驗),再匯入flow資料庫中。
針對flow網頁做簡單的介紹。在匯入flow後,可以開啟flow的專屬頁面(http://myip.com/flow.html),其中myip.com請替換為實際的IP、hostname或FQDN(圖10)。
|
▲圖10 flow網頁的展示。 |
在此頁面中,可以點選任一節點(Node,代表IP)或任一條線(Edge,代表Port)。隨意點選一條線(Edge),可以看到其詳細說明,如圖11所示,能夠檢視其發生次數、封包大小及封包數量、初次建立的時間及最後建立的時間、協定、Source Port等資訊。
|
▲圖11 查看TCP 3389詳細說明。 |
同樣地,選擇某一IP(Node),亦可看到其詳細說明,如圖12所示,在IP的部分也可以看出其Incoming及Outgoing Flow的數量,同樣也有初次及最後建立的時間,但日期的部分,由於提供的資訊不足,因此就沒有詳細資料。
|
▲圖12 檢視IP詳細資訊。 |
在flow網頁中,右邊的flow圖的下方有時間軸的藍色按鈕,可依日期查看其flow。但因筆者收集的時間不夠長,無法展示其效果,讀者可自行測試。
據筆者的測試,可依時間間隔來顯示flow圖,例如查看每一天的差異,能減少過多資訊帶來的困擾,增加管理者查詢時的效率。
接著,介紹篩選的功能。這個功能主要是過濾資訊,例如只想查詢某個IP與伺服器連線的情形,避免因資訊太多而錯失了真正重要的訊息。點選左方選單的Explore(可參考圖12),接著在Node Query部分,可輸入某個IP,其語法較為特殊,在本例中輸入@addr = 34.199.242.170。可以得到其連線的資訊,如圖13所示,發現它試著去連線伺服器的TCP 80 Port。在左方的功能表示也能看出目前有1 flows、1 servers、1 clients符合此條件。
|
▲圖13 查看特定IP的連線資訊。 |
接下來,點選Details,如圖14所示,可查看此IP的詳細資訊。相較於圖12而言,此IP的資訊較豐富。
|
▲圖14 查詢IP詳細資訊。 |
IVRE的Node Query和Edge Query的語法較特殊,使用者無法得知其正確的查詢語法,因此作者也提供從flow圖直接查詢的功能。隨意選擇一個Node或一條Edge,針對它按下滑鼠右鍵,就可以使用圖形化的方式來查詢。
不管是Node或Edge,同樣都有Filter by和Filter out的功能,Filter by可查出想要的資訊,而Filter out指的是除了這個條件之外的所有資訊,舉例而言,!@addr = 34.199.242.170所代表的就是除了34.199.242.170之外的IP。圖15是Node的查詢功能,可以查詢Host (label)、addr、firstseen time以及lastseen time。
|
▲圖15 Node透過圖形化介面查詢。 |