一 簡單介紹
工具名字叫:GRASSMARLIN 來頭不小,是美國國家安全局發布的,最近開放了源碼,工具如題是一款免費的專門針對工業網絡的被動網絡映射工具,即展示工業網絡環境的資產以及流關系信息。
開源地址:https://github.com/nsacyber/GRASSMARLIN/releases
目前最高是3.3Beta3版本。
最初,GrassMarlin的開發重點是監控和數據采集(SCADA)和工業控制系統(ICS)主機。然而,它已經從這些起源擴展到在更廣泛的環境中運行,包括OT和IT(運營和信息技術)領域。通過3.3.0版添加的插件支持,GrassMarlin幾乎可以適應任何網絡環境,包括無線和串行。有了正確的插件集,它可能也可以支持社交網絡的分析。
它支持多種數據的收集,比如通過pcap分析得到數據、通過網卡抓包得到數據,還可以導入思科路由器的配置等。
- GrassMarlin不是捕獲工具。捕獲實時 Pcap 的能力是為了方便,而不是作為更強大的捕獲引擎的替代品。除了這個功能只是在混雜模式下偵聽NIC,GrassMarlin沒有捕獲功能。
- GrassMarlin不是捕獲工具。GrassMarlin沒有任何特殊功能來查找您的網絡上的信息。它不會解密VPN隧道,不會解復用IP串連連接,也不會自己做任何事情。您(用戶)有責任準確地告訴 GrassMarlin 要導入哪些數據文件,并確保這些文件采用它可以理解的格式。反過來,它以一種希望有助于分析該數據的方式呈現這些文件中的信息。
- GrassMarlin不是一個分析引擎。雖然許多分析任務可以自動化,但GrassMarlin并沒有開箱即用地自動化它們 - 每種情況都足夠獨特,無法做到這一點。GrassMarlin不會取代分析師,而是幫助他們。
- GrassMarlin不是Wireshark的替代品。GrassMarlin和Wireshark使用相同的數據,但為用戶提供不同的信息。GrassMarlin旨在補充Wireshark - 它旨在幫助篩選Pcap數據的大海撈針,以隔離潛在的針頭,而這些針頭又應該在Wireshark中進行檢查。
- GrassMarlin不是一個數據存儲庫。會話旨在成為短期實體,而不是可訪問的持久數據存儲。已經努力促進開發將數據從GrassMarlin移動到適當的數據存儲庫(如數據庫)的系統。
- GrassMarlin不是捕獲工具。你給它數據,它組織這些數據。
數據文件被導入到GrassMarlin中,并從這些文件收集,排序和存儲信息。與其他數據集(指紋識別、OUI 查找等)的關聯與導入的數據集成在一起,共同生成邏輯圖和物理圖。插件不僅可以在輸入格式方面進行擴展,還可以集成新的數據源、得出結論并將結果內容傳達給用戶,但邏輯圖和物理圖仍然是 GrassMarlin 的基本輸出。
2.1 下載
可以在relase處下載相關系統下的編譯好的應用程序,應用為JAVA開發,可以支持windows、linux等多個系統環境。
安裝包
編譯好的安裝包
2.2 主界面展示
左邊為展示的資產列表,根據需要展示網絡地址分組或國家分組等,右邊主要用來展示資產的拓撲關系圖。
2.3 使用
新建個session后,導入文件或進行網卡流量鏡像后,可以得到如下的邏輯圖(其實算是IP的通信關系圖,旁邊另一個tab為物理關系圖,即mac的關系圖):
網絡關系圖
上圖是根據網段進行分組的場景,右邊不同的色塊是不同的網段,在不同色塊內展示具體的ip(mac)右鍵點擊查看子元素可以看到通信的端口信息:
類似下圖:
當然整個圖支持縮放,也可以支持將關注的點放在中心位置。
展開圖中紅色是TCP端口、綠色為UDP端口、深藍色表示路由器的地址、黑色表示默認值。
對于每個端口關聯的連接,可以右鍵看下具體兩個節點間的通信包的大小、端口等基本信息,如下。
2.4 插件功能
整個系統有一套插件系統,可以支持通過插件的形式進行功能的擴展,且通過pipeline方式進行配置,在“工具”菜單可看到pipeline的配置如下圖:
2.5 節點詳情信息查看
資產信息詳情
有些復雜的關系圖,如果按照網絡來展示,形成的復雜的形狀還挺有意思: