樹莓派蜜罐節點部署實戰


本文測試的內容是在已搭建好MHN中心服務器的前提下,嘗試用樹莓派搭建Dionaea 蜜罐 ,部署在局域網內,實時檢測局域網內部攻擊,同時通過出口路由器端口映射的方式,實現外網攻擊的實時檢測和攻擊地圖展示。主要是討論一下這種MHN蜜罐網絡的特點,以及蜜罐節點搭建過程中的問題解決:包括蜜罐第一次部署遇到的常見問題及解決辦法,蜜罐的快速批量部署的思路(即插即用),蜜罐穩定性問題及解決方法,蜜罐節點的定制等。

Part1 蜜罐網絡簡介

詳情請見:http://drops.wooyun.org/papers/5968  (蜜罐網絡)

采用MHN中心服務器和樹莓派蜜罐終端的方式主要考慮如下幾點

1. MHN中心服務器可部署在獨立ip的遠程VPS上,部署簡單,支持多種蜜罐
2. 樹莓派蜜罐終端成本低,部署也比較容易,部署好后可以即插即用
3. MHN中心服務器匯總數據,展示;使得蜜罐終端可以靈活部署在內外網,只要網絡能連接到MHN中心服務器即可

MHN簡介:

MHN是一個開源軟件,它簡化了蜜罐的部署,同時便於收集和統計蜜罐的數據。用ThreatStream(http://threatstream.github.io/mhn/)來部署,MHN使用開源蜜罐來收集數據,整理后保存在Mongodb中,收集到的信息也可以通過web接口來展示或者通過開發的API訪問。
MHN能夠提供多種開源的蜜罐,可以通過web接口來添加他們。一個蜜罐的部署過程很簡單,只需要粘貼,復制一些命令就可以完成部署,部署完成后,可以通過開源的協議hpfeeds來收集的信息。

搭建好后,訪問3000端口,就會看到默認的世界地圖准備就緒(沒有數據來源的情況下空白狀態):

首先看MHN中心服務器支持的蜜罐終端的類型(還是很豐富):

這里我們選擇比較簡單的“Raspberry Pi-Dionaea”,就是樹莓派上的Dionaea蜜罐,Dionaea是個低交互蜜罐。
Dionaea簡介:

Dionaea(捕蠅草) 低交互式蜜罐是 Honeynet Project 的開源項目,起始於 Google Summer of Code 2009,是Nepenthes(豬籠草)項目的后繼。Honeynet Project 是成立於 1999 年的國際性非盈利研究組織,致力於提高因特網的安全性,在蜜罐技術與互聯網安全威脅研究領域具有較大的影響力。
Dionaea 蜜罐的設計目的是誘捕惡意攻擊,獲取惡意攻擊會話與惡意代碼程序樣本。它通過模擬各種常見服務,捕獲對服務的攻擊數據,記錄攻擊源和目標IP、端口、協議類型等信息,以及完整的網絡會話過程,自動分析其中可能包含的 shellcode 及其中的函數調用和下載文件,並獲取惡意程序。
有別於高交互式蜜罐采用真實系統與服務誘捕惡意攻擊,Dionaea 被設計成低交互式蜜罐,它為攻擊者展示的所有攻擊弱點和攻擊對象都不是真正的產品系統,而是對各種系統及其提供的服務的模擬。這樣設計的好處是安裝和配置十分簡單,蜜罐系統幾乎沒有安全風險,不足之處是不完善的模擬會降低數據捕獲的能力,並容易被攻擊者識別。

詳情見:http://drops.wooyun.org/tips/640 (Dionaea低交互式蜜罐部署詳解)

為什么用樹莓派呢?

樹莓派,沒玩過的可以簡單理解為一個微型計算機主機。

百度百科:樹莓派

為什么選用樹莓派作為終端呢?

1. 這兩年樹莓派軟硬件發展,社區建設也比較迅速,學習和使用比較便捷 
2. 成本低:一個樹莓派主體 + 電源 + SD卡不超過300元。 
3. 便攜,樹莓派很小,搭建好之后便於攜帶,即插即用。配合移動電源還可以實現短時間獨立供電。

Part2 樹莓派搭建Dionaea蜜罐實戰

本地搭建蜜罐終端前提:MHN已在遠程VPS搭建好且運行正常 (其實蜜罐終端也可獨立部署,然后通過訪問查看捕獲到的攻擊數據和攻擊地圖展示,這里說的不是這種模式)

那么開始搭建樹莓派蜜罐吧,讓地圖閃動起來~

樹莓派部署Dionaea參考教程(放輕松,姿勢正常的話會很順利):https://github.com/threatstream/mhn/wiki/Deploying-Dionaea-on-a-Raspberry-Pi

為了少出錯誤,基本按照官方教程來。

工具和軟件准備

在Windows7下進行工具的下載和樹莓派SD卡的處理(這次用的是一個16GB的SD卡,用讀卡器連接到電腦上)

用到的工具(前兩個)

工具下載鏈接:

SDFromatter
NOOBS_lite

用“SDFromatter”軟件格式化SD卡,直接用Windows格式化應該也可以,注意下磁盤格式,考慮到后邊樹莓派裝的linux系統。

把“NOOBS_lite”下載,解壓后如下圖,整個拷貝到SD卡中。

 

樹莓派聯網安裝所需操作系統

然后准備工作就做好了,可以把SD卡插到樹莓派中,給樹莓派連接上網線(保證樹莓派能夠穩定上網就行),啟動,就進入安裝界面,按照教程一步步操作就好了。

注意:這個安裝其實是安裝的操作系統,邊下載邊安裝,很慢,我安裝的時候,整整等了12個小時才安好…(安裝的是Debian GNU/Linux system)

然后就可以重啟進入樹莓派系統了。

幾個建議做的樹莓派初始化設置

首次啟動的設置,用戶及密碼設置

首次啟動將出現系統初始配置的界面,這個界面在也可以在之后的終端窗口中通過

sudo raspi-config

激活選擇2 Change User Password ,改一下pi用戶的密碼,初始密碼為空或者raspberry。

root用戶默認沒開啟,重新開啟root賬號,可由pi用戶登錄后,在命令行下執行 

sudo passwd root

執行此命令后系統會提示輸入兩遍的root密碼,輸入你想設的密碼即可,然后在執行

sudo passwd --unlock root

這樣就可以解鎖root賬戶了。

讓樹莓派支持中文

終端中輸入(通常需要root權限):  

sudo apt-get install ttf-wqy-zenhei

將安裝文泉驛的開源中文字體

輸入法呢? Linux 下早就有,叫 SCIM ( Smart Common Input Method ),輸入:  

sudo apt-get install scim-pinyin

時間設置

部署的MHN的中心服務器在國外,默認是是格林尼治時間(世界時間):  

Greenwich Mean Time(GMT):       10/22/2015 08:52:41 Thursday(星期四)

想把樹莓派設置成國內的本地時間,

使用時區設置,

sudo dpkg-reconfigure tzdata

試了幾種,最后選擇time zone“Asia/Chita” 就對了

網絡設置

默認設置是DHCP,根據需要修改,可改成靜態ip。

設置樹莓派為靜態ip的方法和debian linux修改是一樣的 ,

只需要修改文件

sudo vi /etc/network/interfaces

即可。

開啟SSH服務

終端里,

sudo raspi-config

選項8 8-4-ssh enable 。打開ssh服務。

遠程連接putty和winscp,直接root登錄默認是禁止的。

putty的ssh可以,普通用戶接入,然后su,改成root用戶。

在樹莓派上安裝和部署Dionaea蜜罐,和中心服務器進行連接

前提是樹莓派已經接入了局域網,為了方便,可以在電腦上SSH連接樹莓派,root權限下通過執行命令安裝Dionaea。

首先Web登錄遠程的MHN中心服務器:

復制這條命令執行即可,

wget "http://MHN服務器的ip/api/script/?text=true&script_id=10" -O deploy.sh && sudo bash deploy.sh http://MHN服務器的ip d5xofICf

等幾分鍾,蜜罐就部署好了,中心服務器就能看到這個節點了。

以后只要把這個樹莓派通電,連上網就可以自動工作了。服務會開機自啟動的。

幾個需要解決的問題

部署在局域網的蜜罐如何檢測外網攻擊?

部署在局域網內的樹莓派蜜罐,只能檢測到內網的掃描行為,你會發現那個攻擊地圖啥也沒有,而且通常情況下,一般的單位被攻擊到內網的情況比較少。想部署在外網呢?很多人又沒這個條件,成本也高。

所以,如果你的外網是ADSL或者電信寬帶,有獨立公網IP的話,可以通過在出口路由器設置端口映射的方式。  

端口映射出去,會給內網帶來一定的風險。但是Dionaea 被設計成低交互式蜜罐,它為攻擊者展示的所有攻擊弱點和攻擊對象都不是真正的產品系統,而是對各種系統及其提供的服務的模擬,網絡配置適當的話,風險還是比較小的。

這樣就能夠檢測外網攻擊了。

如何快速批量地部署多個終端?

上述,安裝操作系統的時候需要聯網等待12個小時,還是太久了。所以,推薦的解決辦法,是對一個安裝好操作系統,基本配置完成的樹莓派的SD卡進行鏡像克隆成img文件。然后就可以方便地還原到新的SD卡中,還原后只需要執行最后一步安裝蜜罐的那條命令就好了。

試了幾種方法,各有利弊,但是推薦一種傻瓜式的方法,windows下使用win32diskimager軟件克隆,或者linux下使用dd命令克隆效果是一樣的。

但需要注意的是:這個克隆是全盤克隆,意思是說,我這次安裝的時候用的是16GB的SD卡,雖然安裝好后實際只用了4GB多,但是克隆后的img文件足足有14GB多,這樣的話,拿一個小於等於16GB的SD卡來進行還原,往往就會因為空間不足還原不了。
所以,強烈建議首次安裝的時候用小於等於8GB的SD卡,然后克隆成img鏡像,以后批量部署,就可以方便地把這個img鏡像,還原到16GB大小的SD卡上直接使用了。(其實就復制4GB的方法也有,要麻煩些)

嘗試“win32diskimager-binary.rar”工具:

注意:為了避免奇葩的錯誤,請使用英文路徑,且路徑不要有空格。

先自己先建立一個后綴為img的文件,例如miguan.img,要不然之后操作時會提示文件不存在。

然后以管理員身份運行這個程序,必要時關閉殺軟。  

選中這個空的文件,然后用read命令,制作鏡像。

樹莓派Dionaea 蜜罐終端的穩定性問題?

試運行幾天后,我發現這個樹莓派Dionaea 蜜罐終端運行幾天后就捕捉不到攻擊行為了,重啟后就可以立馬恢復正常。或者是樹莓派蜜罐突然斷網,網絡恢復后有時也會出現捕獲不到攻擊了。一個解決思路就是定時重啟。這樣可以持續穩定運行。說起來容易,折騰了一晚上才解決。

給出最簡單的解決方法:

借助crontab定時任務,設定每天8點執行,比較常見的就是,echo命令可以很順利執行,結果reboot命令,怎么都不執行。權限問題。

試了很久,各種姿勢。

最后發現,想要執行重啟,在root用戶下,必須把命令寫到 /etc/crontab 文件中,而且格式必須對,只要報錯就說明命令格式不對。

00 08 * * * root reboot

這個命令就可以正常執行了 每天8點重啟

nano編輯器也不錯

Ctrl + X 退出,然后Y保存

改動后

service cron restart

重啟服務

然后

service cron status

不報錯,就ok了

cron命令詳解:https://www.raspberrypi.org/documentation/linux/usage/cron.md

Part3 實驗效果

部署在局域網的樹莓派,一副撲克牌大小:

攻擊地圖一夜里檢測到的潛在攻擊行為(主要是掃描):

說明:紅圈圈說明剛檢測到的攻擊源,紅點表示之前捕捉到的攻擊源。底下會顯示時間,攻擊源所在地,經緯度。
看到我一個普通寬帶的ip每天都被那么多人掃描,還是有種感知的即視感。

登錄后可看到攻擊細節:IP、時間、掃描的端口、包類型等。  

 

攻擊細節記錄(大都是被掃描記錄)

低交互式蜜罐的普遍弱點:

即對網絡服務的模擬與真實服務存在差距,可能無法捕獲某些對環境敏感的攻擊,可以搭配其他專用服務蜜罐一起使用,來不斷進行完善。

Part4 應用場景思考

檢測潛在的內網攻擊

單位各局域網中部署一台,管理員定期查看,捕捉內網攻擊。

也可通過端口映射,檢測潛在的外網攻擊。

蜜罐的深度利用

及時看到潛在攻擊行為,提前應對;學習攻擊者針對該服務的攻擊技巧和利用代碼。 一些蜜罐能夠捕獲惡意軟件,利用代碼等等。  

再次提醒:蜜罐是把雙刃劍,如果不能正確的使用,有可能遭受更多的攻擊,模擬服務的軟件存在問題,也會產生新的漏洞。

MHN中心服務器的定制開發

蜜罐終端傳回的畢竟是基礎數據,可以通過自己開發程序對基礎數據進行處理和分析,提取出關注的信息,增加報警功能等。也可以把攻擊地圖改了,比如http://map.norsecorp.com/

Part5 繼續

如果看到這里你心動了,就去嘗試用樹莓派點亮你的地圖吧。

樓主表示:我也是剛開始玩,以上都是入門級的功能,還有很多可以嘗試的思路。

主要參考文章匯總:  

http://drops.wooyun.org/papers/5968  (蜜罐網絡)
http://drops.wooyun.org/tips/640 (Dionaea低交互式蜜罐部署詳解)
https://github.com/threatstream/mhn/wiki/Deploying-Dionaea-on-a-Raspberry-Pi(樹莓派部署Dionaea參考教程)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM