T-Pot多蜜罐平臺:讓蜜罐實現更簡單

這兩年蜜罐技術被關注的越來越多,也漸形成低交互、中交互、高交互等交互程度的各類蜜罐,從web業務蜜罐、ssh應用蜜罐、網絡協議棧蜜罐到系統主機型蜜罐的各功能型蜜罐。小到一個word文檔的蜜標,到一個系統級的服務蜜罐,再到多功能蜜罐組成的蜜網,大到包含流控制重定向分佈式蜜網組成的蜜場。

隨着虛擬化技術的發展,各種虛擬蜜罐也得到發展,可以通過虛擬機來實現高交互蜜罐,以及通過docker實現的業務型蜜罐,不再像是以前需要昂貴硬件設備的部署支撐,這也大大減少了蜜罐的部署成本,一臺主機就可以實現整個集數據控制,數據捕獲和數據分析於一體多功能多蜜罐高交互蜜網的體系架構。也已經產生了一些不錯的開源蜜罐產品或項目,比如MHN(現代蜜網)、HoneypotProject。 MHN現代蜜網簡化了蜜罐的部署,集成了多種蜜罐的安裝腳本,可以快速部署、使用,也能夠快速的從節點收集數據。國外也有很多公司做基於蜜罐的欺騙技術產品創新。

蜜罐高保真高質量的數據集把安全人員從以前海量日誌分析的繁瑣過程中解脫出來,對於蜜罐的連接訪問都是***信息,並且不再像以前的特徵分析具有一定的滯後性,可以用於捕獲新型的***和方法。前段時間作者就通過高交互蜜罐捕獲了ssh自動化爆破工具,能夠針對整個互聯網進行爆破嘗試,並能夠自動識別某些低交互蜜罐。

現在各功能蜜罐這麼多,雖然MHN簡化了各蜜罐的部署過程,但還是需要手動安裝多個系統sensor來實現多個不同蜜罐。在蜜罐的研究過程中,有沒有一個提供能更簡單方便的平臺實現我們對蜜罐的研究與使用。

這裏將介紹一個開源多蜜罐平臺T-Pot16.10,安裝一次系統,輕鬆使用裏面多種蜜罐, 並且提供良好的可視化。官方英文介紹:https://dtag-dev-sec.github.io/mediator/feature/2016/10/31/t-pot-16.10.html

T-Pot16.10開源多蜜罐平臺

 T-Pot16.10多蜜罐平臺直接提供一個系統iso,裏面使用docker技術實現多個蜜罐,更加方便的蜜罐研究與數據捕獲。下面是剛把它部署到互聯網6個小時的情況,先來看看它長什麼,有沒有使用的慾望。 t1.pngt2.png t3.pngt4.png

是不是看到都想感受一下?別激動還是先介紹一下它。

T-Pot16.10 使用Ubuntuserver 16.04 LTS 系統,基於docker 技術提供了下面一些蜜罐容器:

Conpot: 低交互工控蜜罐,提供一系列通用工業控制協議, 能夠模擬複雜的工控基礎設施。

Cowrie: 基於kippo更改的中交互ssh蜜罐, 可以對暴力***賬號密碼等記錄,並提供僞造的文件系統環境記錄***操作行爲, 並保存通過wget/curl下載的文件以及通過SFTP、SCP上傳的文件。

Dionaea: Dionaea是運行於Linux上的一個應用程序,將程序運行於網絡環境下,它開放Internet常見服務的默認端口,當有外來連接時,模擬正常服務給予反饋,同時記錄下出入網絡數據流。網絡數據流經由檢測模塊檢測後按類別進行處理,如果有 shellcode 則進行仿真執行;程序會自動下載 shellcode 中指定或後續***命令指定下載的惡意文件。

Elasticpot: 模擬elastcisearch RCE漏洞的蜜罐,通過僞造函數在/,/_search, /_nodes的請求上回應脆弱ES實例的JSON格式消息。

Emobility: 在T-Pot中使用的高交互蜜罐容器, 旨在收集針對下一代交通基礎設施的***動機和方法。Emobility蜜網包含一箇中央收費系統,幾個收費點,模擬用戶的事務。一旦***者訪問中控系統web界面,監控並處理運行收費交易,並與收費點交互。除此之外,在隨機時間,***可能與正在收取車輛費用的用戶進行交互。

Glastopf: 低交互型Web應用蜜罐, Glastopf蜜罐它能夠模擬成千上萬的web漏洞,針對***的不同***手段來回應***者,然後從對目標Web應用程序的***過程中收集數據。它的目標是針對自動化漏洞掃描/利用工具,通過對漏洞利用方式進行歸類,針對某一類的利用方式返回對應的合理結果,以此實現低交互。

Honeytrap: 觀察針對TCP或UDP服務的***,作爲一個守護程序模擬一些知名的服務,並能夠分析***字符串,執行相應的下載文件指令。

Conpot: 低交互工控蜜罐,提供一系列通用工業控制協議, 能夠模擬複雜的工控基礎設施。

Cowrie: 基於kippo更改的中交互ssh蜜罐, 可以對暴力***賬號密碼等記錄,並提供僞造的文件系統環境記錄***操作行爲, 並保存通過wget/curl下載的文件以及通過SFTP、SCP上傳的文件。

Dionaea: Dionaea是運行於Linux上的一個應用程序,將程序運行於網絡環境下,它開放Internet常見服務的默認端口,當有外來連接時,模擬正常服務給予反饋,同時記錄下出入網絡數據流。網絡數據流經由檢測模塊檢測後按類別進行處理,如果有 shellcode 則進行仿真執行;程序會自動下載 shellcode 中指定或後續***命令指定下載的惡意文件。

Elasticpot: 模擬elastcisearch RCE漏洞的蜜罐,通過僞造函數在/,/_search, /_nodes的請求上回應脆弱ES實例的JSON格式消息。

Emobility: 在T-Pot中使用的高交互蜜罐容器, 旨在收集針對下一代交通基礎設施的***動機和方法。Emobility蜜網包含一箇中央收費系統,幾個收費點,模擬用戶的事務。一旦***者訪問中控系統web界面,監控並處理運行收費交易,並與收費點交互。除此之外,在隨機時間,***可能與正在收取車輛費用的用戶進行交互。

Glastopf: 低交互型Web應用蜜罐, Glastopf蜜罐它能夠模擬成千上萬的web漏洞,針對***的不同***手段來回應***者,然後從對目標Web應用程序的***過程中收集數據。它的目標是針對自動化漏洞掃描/利用工具,通過對漏洞利用方式進行歸類,針對某一類的利用方式返回對應的合理結果,以此實現低交互。

Honeytrap: 觀察針對TCP或UDP服務的***,作爲一個守護程序模擬一些知名的服務,並能夠分析***字符串,執行相應的下載文件指令。

在這個平臺上,使用了下面的這些工具:

ELK: 優雅地可視化T-Pot捕獲到的***事件

Elasticsearch-head: 一個web前端來瀏覽和操作ElasticSearch集羣  

Netdata: 實時性能監控

Portainer: docker的web操作界面

Suricate: 開源的網絡安全威脅檢測引擎。

Wetty: web界面的ssh客戶端

T-Pot 是基於Ubuntu server 16.04TLS 的網絡安裝,因此安裝過程中一定需要保證聯網。這些蜜罐守護程序或者其他組件都通過docker虛擬化技術提供。這樣可以使我們在一個網卡上運行多個蜜罐系統,並且整個系統更好維護。這些蜜罐程序封裝在docker容器中提供了良好的隔離環境並且更容易更新。 這些事件可以通過數據分析工具ewsposter進行關聯,也支持蜜網項目hpfeeds數據分享。

T-Pot蜜罐平臺結構圖: t9.png 

在docker中的所有數據是隔離裏,一旦docker容器崩潰,docker容器環境產生的所有數據都會消失並重啓一個新的docker實例。因此,對於有些數據需要永久保存,例如配置文件,在主機上有個永久存儲目錄/data/, 在系統或者容器重啓後都能持續有效。重要的日誌數據也通過docker 指定vulume選項存儲在容器外的主機文件系統/data/<container-name>中, 容器裏的應用程序能夠將日誌記錄到該目錄下。

該平臺需要滿足硬件要求: T-Pot 安裝需要至少4G 內存, 64G 磁盤空間, 並且聯網。 

該系統安裝步驟:

1.  下載 top.iso 或者自己創建操作系統環境。

2.  安裝到聯網的VM或者物理機上。安裝過程跟普通安裝Ubuntu 過程一樣, 其中需要爲tsec用戶設置密碼。

3. 正常安裝系統後,第一次啓動系統時將選擇安裝類型,此時將根據選擇下載安裝相應容器服務。

 有4種安裝類型,不同安裝類型需要的滿足要求不一樣, 我們這裏選典型T-Pot安裝。

1)T-Pot Installation (Cowrie, Dionaea, ElasticPot, Glastopf, Honeytrap, ELK, Suricata+P0f & Tools)

2)Sensor Installation (Cowrie, Dionaea, ElasticPot, Glastopf, Honeytrap)

3)Industrial Installation (ConPot, eMobility, ELK, Suricata+P0f & Tools)

4)Everything Installation (Everything, all of the above)

後面設置web 賬號密碼,再填寫一些相關信息,自動完成docker鏡像安裝下載,安裝成功後重新啓動系統進入如下頁面: 42431.PNG

其中紅色的爲公網ip地址。

可能在安裝過程中由於源的原因或者網絡不穩定造成安裝失敗,這時後面可以登錄到系統,用戶名爲tsec, 密碼爲安裝系統時設置的密碼, 進行sudo su 操作提升權限,手動執行/root/install.sh的安裝腳本, 腳本檢測出不是第一次安裝將自動終止,這是需要清除一下文件/root/install.err, /root/install.log以及後面的錯誤提醒,也可以根據實際情況註釋掉腳本已經完成的工作, 只繼續進行中斷未完成的命令。 

4.  開始愉快的使用吧。

通過瀏覽器訪問https://ip:64297訪問T-Pot控制面板。通過安裝時創建的web 賬戶密碼驗證登錄。

前面我們已經將各***事件通過Kibana面板展示出來了, 我們也可以根據自己的需要設計這些面板可視化展示

這裏爲了捕獲到***,需要將T-Pot平臺放置在互聯網上,否則捕獲不到任何***。我這裏通過在路由器上設置DMZ將T-Pot放到互聯網上。如果你是路由器做一個NAT轉換來實現的話,這裏需要把這些端口做NAT轉換。 t6.PNG

T-Pot平臺不僅提供了蜜罐數據捕獲,還有強大的ELK進行數據處理分析, 還能夠處理Elk集羣,把T-Pot中集成的多蜜罐可以分佈式部署在多個系統上進行數據捕獲並統一提供可視化分析展示。

t7.PNG

還提供docker的web控制界面,直接可以通過web界面來管理控制我們的各個蜜罐容器。也能夠根據需要設計自己的容器蜜罐或容器服務。 t10.PNG

還提供了Web ssh 客戶端,通過web控制檯直接就登錄了系統進行操作了,系統實際的22端口 ssh服務其實是一個cowrie蜜罐。 這樣我們通過控制檯就能方便的登錄到實際系統, 設計方便。 t11.PNG

還有強大的系統性能監控平臺,實時監控主機系統和各容器資源使用情況。

t8.png

你也可以使用ISO Creator 來創建你自己的ISO安裝鏡像。

創建鏡像要求:

Ubuntu 16.04 LTS 或者更新的系統作爲主機系統,其他系統沒有測試,至少4G內存,32G磁盤空間。

創建ISO鏡像:

1.     克隆倉庫並進入目錄

git clone https://github.com/dtag-dev-sec/tpotce.git

cd tpotce

2.     調用腳本來建立ISO鏡像, 這個腳本將下載安裝一些必須的依賴包。它將下載T-Pot基於的ubuntu網絡安裝鏡像(大約50M).

sudo./makeiso.sh

成功後你將在目錄下發現tpot.iso和tpot.sha256兩個文件。

現在可以方便的玩蜜罐了。前段時間自己也封裝了一些docker高交互蜜罐容器,現在可以方便地集成到T-Pot平臺上了, 讓蜜罐部署更簡單, 功能更豐富。

*本文作者:失路之人

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章