歡迎光臨
每天分享高質量文章

網絡蜜罐的前世今生

來自:信安之路(微信號:xazlsec)

作者:Cherishao

一個接入互聯網的網站,只要能和外部產生通信,就有被黑客攻擊的可能;使用某種陷阱來引誘攻擊者,就可以避免自身不被攻擊,這種引誘黑客攻擊的 “陷阱” 就是 “蜜罐” 。蜜罐是存在漏洞的、暴漏在互聯網中的一個虛假的服務(器) 其價值在於被掃描、攻擊和攻陷。

蜜罐分類

按型別我們可以將蜜罐分為:產品型 (容易部署 、 實時報警),研究型(高交互、資料捕獲);按交互可分為低中交互(模擬的 TCP/IP 協議棧、模擬的服務 & 漏洞),高交互( 真實的系統 & 應用 & 漏洞,資料捕獲、分析、控制)。

蜜罐主要優勢

蜜罐的主要優勢在於能誘導和記錄網絡攻擊行為,阻止或延緩其對真正標的的攻擊,而且能記錄攻擊日誌,便於審計和回溯。

if 系統沒有對外開放任何真實的服務
then 任何一個對它的連接嘗試都是可疑的

蜜罐起源

”蜜罐“ 這一概念最早起源於一本上世紀出版的小說——《The Cuckoo’s Egg》 ,小說描述了主人公作為一個公司的網管人員,如何追蹤併發現一起商業間諜的故事,該書的作者 CliffordStoll 還是個計算機安全專家,他在 1988 年提出 “蜜罐是一個瞭解黑客的有效手段” 。

在這一概念被提出 10 年後,蜜罐思想吸引到一匹網絡安全技術員的註意,同時也開發出一批相應的虛擬蜜罐產品,該階段的 “蜜罐工具” 能夠模擬成虛擬的操作系統和網絡服務,並對黑客的攻擊行為做出回應,從而欺騙黑客。

 

低交互式蜜罐不足

該階段的蜜罐為低交互式蜜罐,只是模擬出了真正操作系統的一部分,例如模擬一個 FTP 服務。雖然低交互式蜜罐容易建立和維護,但模擬可能不足以吸引攻擊者,還可能導致攻擊者繞過系統發起攻擊,從而使蜜罐在這種情況下失效。

蜜罐發展

為了獲取更多攻擊者信息,於是有人就提出一些設想:

如果用蜜罐獲取到更多的攻擊者信息,比如攻擊者的 IP,就可以對攻擊來源打上標記,這樣一來就可以直接防禦來自被標記的攻擊。

在這種思想的引領下,衍生出了一種高交互蜜罐。高交互蜜罐提供真實的操作系統和真實的服務,因此,這種蜜罐的交互性最強,收集到的資料也最全面。

更多開源 “蜜罐” 可見以下串列鏈接:

https://github.com/paralax/awesome-honeypots/blob/master/README_CN.md

高交互蜜罐風險與挑戰

高交互蜜罐部署和維護起來十分困難,而且被攻破的系統可能會被用來攻擊互聯網上其他的系統,這必須承擔很高的風險,資料收集也是設置蜜罐的技術挑戰。

1、蜜罐監控者需記錄下進出系統的每個資料包;

2、蜜罐本身上面的日誌檔案也是很好的資料來源,但日誌檔案很容易被攻擊者刪除。

高交互蜜罐優點

它們大大減少了所要分析的資料。對於通常的網站或郵件服務器,攻擊流量通常會被合法流量所淹沒。而蜜罐進出的資料大部分是攻擊流量。因而,瀏覽資料、查明攻擊者的實際行為也就更加容易。

蜜罐現狀

隨著新型的 APT 攻擊的出現,很多企業意識到傳統安全技術手段已經無法滿足對內部威脅的及時發現,於是,很多傳統的安全公司大佬都開始轉戰使用動態沙箱技術來解決問題,來探測未知威脅。

賣設備型: Symantec ATP 硬體配合終端的 SEP

威脅情報聯動型: 360 威脅情報中心

以上方式主要是針對 APT 攻擊的第一個環節,黑客通過社會工程學的手段得到用戶的信息,使用網絡釣魚或者水坑攻擊的方式進入企業內網個人 PC。但是要拿到有價值的內部敏感信息,黑客需要進一步部署攻擊鏈,包括獲取憑證、內網資產掃描等探測工作,因為很多行業包括金融機構是不允許在業務服務器上安裝安全解決方案的,甚至配置日誌系統都不可以,那麼,目前部署蜜罐是最好的解決方案。

蜜罐作為一種解決方案,其開源產品和商用產品的不同特性、國內外的成熟的商業蜜罐解決方案介紹、蜜罐所涉及的核心技術分析,可見:

為什麼這麼多創業公司都在做「蜜罐」?

https://www.secpulse.com/archives/50235.html

蜜罐部署實戰

內網低交互蜜罐-opencanary

opencanary 是 2015 年 blackhat 在單獨發佈環節推出的的一款蜜罐工具,純 python 模擬多種應用和服務。當模擬的服務被某人使用(交互登錄)時,它就會產生相應的日誌。

專案地址:https://github.com/p1r06u3/opencanary_web

實驗環境:

#虛擬機-1-Web 
[[email protected] ~]# cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)
[[email protected] ~]# ifconfig
ens33: flags=4163  mtu 1500
        inet 10.0.10.208  netmask 255.255.255.0  broadcast 10.0.10.255
#虛擬機-2-Agent
[[email protected] ~]# cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)
[[email protected] ~]# ifconfig
ens33: flags=4163  mtu 1500
        inet 10.0.10.209  netmask 255.255.255.0  broadcast 10.0.10.255 ......

部署:

部署方式有,自動化安裝和手工安裝,手工安裝需要自己進行 tornado、Mysql、 supervisor、opencanary,這裡採用自動化安裝方式。

Web 端:

[[email protected] ~]#curl -O https://raw.githubusercontent.com/p1r06u3/opencanary_web/master/install/install_opencanary_web.sh
[[email protected] ~]#chmod +x install_opencanary_web.sh
[[email protected] ~]# ./install_opencanary_web.sh
###########正在初始化環境#########
服務端IP地址:10.0.10.208
192.168.122.1
IP是否正確(y/n):y
#########安裝依賴包############
已加載插件:fastestmirror, langpacks ......
#啟動服務
systemctl start supervisord.service
systemctl start nginx.service
systemctl start mariadb.service

啟動成功後,訪問:http://10.0.10.208 ,登錄管理後臺:

Client 端:

[[email protected] ~]#curl -O https://raw.githubusercontent.com/p1r06u3/opencanary_web/master/install/install_opencanary_agent.sh
[[email protected] ~]#chmod +x install_opencanary_agent.sh
#啟動服務
[[email protected] ~]#opencanaryd --start

安裝成功後,可在後臺查看 agent 端主機在線狀態。

訪問 http://10.0.10.209/index.html 可見模擬的蜜罐站點,路徑如下,為了達到更逼真的效果站點可 DIY

[[email protected] nasLogin]# pwd
/usr/local/src/opencanary/opencanary/modules/data/http/skin/nasLogin
[[email protected] nasLogin]# ls
403.html  404.html  index.html  static

Nmap探測agent 端服務開啟情況如下

 

kippo 更改的中交互蜜罐-Cowrie

是一個具有中等交互的 SSH 蜜罐,安裝在 Linux 中,它可以獲取攻擊者用於暴力破解的字典、輸入的命令以及上傳或下載的惡意檔案。攻擊者在上傳惡意檔案後,執行惡意檔案的操作均會失敗,所以對蜜罐本身來說比較安全。

專案地址:https://github.com/cowrie/cowrie

部署官方文件:https://cowrie.readthedocs.io/en/latest/INSTALL.html

實驗環境(這裡使用的是 VPS):

[email protected]:~#  lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 9.0 (stretch)
Release:        9.0
Codename:       stretch

關於 Cowrie 的安裝主要有七個步驟:

1、安裝依賴項

查看 Python 版本,更新相關依賴

[email protected]0-3-debian:~# python -V
Python 2.7.13
[email protected]0-3-debian:~# apt-get install git python-virtualenv libssl-dev libffi-dev build-essential libpython-dev python2.7-minimal authbind
Reading package lists... Done
......
Processing triggers for libc-bin (2.24-11) ...

2、創建用戶帳戶

[email protected]0-3-debian:~# python -V
Python 2.7.13
[email protected]0-3-debian:~# apt-get install git python-virtualenv libssl-dev libffi-dev build-essential libpython-dev python2.7-minimal authbind
Reading package lists... Done
......
Processing triggers for libc-bin (2.24-11) ...

3、拉取部署檔案

[email protected]:/opt# su cowrie
[email protected]:/opt$ cd ~
[email protected]:~$ git clone https://github.com/cowrie/cowrie.git
Cloning into 'cowrie'...
remote: Enumerating objects: 26, done.
remote: Counting objects: 100% (26/26), done.
remote: Compressing objects: 100% (20/20), done.
remote: Total 12330 (delta 6), reused 24 (delta 6), pack-reused 12304
Receiving objects: 100% (12330/12330), 8.09 MiB | 1.14 MiB/s, done.
Resolving deltas: 100% (8561/8561), done.
[email protected]:~$ ls
cowrie
[email protected]:~$ cd cowrie/

4、設置虛擬環境

設置為 python2 的虛擬環境

cowrie@VM-0-3-debian:~/cowrie$ pwd
/home/cowrie/cowrie
cowrie@VM-0-3-debian:~/cowrie$ virtualenv --python=python2 cowrie-env
Running virtualenv with interpreter /usr/bin/python2
New python executable in /home/cowrie/cowrie/cowrie-env/bin/python2
Also creating executable in /home/cowrie/cowrie/cowrie-env/bin/python
Installing setuptools, pkg_resources, pip, wheel...done.

激活虛擬環境並安裝包:

[email protected]:~/cowrie$  source cowrie-env/bin/activate
(cowrie-env) [email protected]:~/cowrie$ pip install --upgrade pip
Requirement already up-to-date: pip in ./cowrie-env/lib/python2.7/site-packages (19.0.3)
(cowrie-env) [email protected]-0-3-debian:~/cowrie$ pip install --upgrade -r requirements.txt
Collecting twisted>=17.1.0 (from -r requirements.txt (line 1))
  Using cached https://files.pythonhosted.org/packages/f8/2b/a80a70f71eb2b86992ffa5aaae41457791ae67faa70927fd16b76127c2b7/Twisted-19.2.0.tar.bz2
Collecting cryptography>=0.9.1 (from -r requirements.txt (line 2))
......
Successfully built twisted tftpy pycparser......
Successfully installed Automat-0.7.0 ......

5、安裝配置檔案

要啟用telnet,請創建cowrie.cfg並僅輸入以下內容:

(cowrie-env) [email protected]-0-3-debian:~/cowrie$ pwd
/home/cowrie/cowrie
(cowrie-env) [email protected]-0-3-debian:~/cowrie$ vim cowrie.cfg
#寫入以下檔案,啟用 telnet
[telnet]
enabled = true

6、啟動 Cowrie

(cowrie-env) [email protected]:~/cowrie/bin$ ./cowrie start

Join the Cowrie community athttp://bit.ly/cowrieslack

Using activated Python virtual environment "/opt/cowrie/cowrie-env"
Starting cowrie: [twistd   --umask=0022 --pidfile=var/run/cowrie.pid --logger cowrie.python.logfile.logger cowrie ]...
(cowrie-env) [email protected]-0-3-debian:/opt/cowrie/bin$ ./cowrie status
cowrie is running (PID: 13215).

7、端口重定向

有三種方法可以在預設的 SSH 端口(22)上訪問 Cowrie:iptables,authbind 和 setcap。

更多輸出配置,可參見:

https://blog.csdn.net/Kevinhanser/article/details/79282309

基於 Docker 的高交互 t-pot

t-pot 是一個基於 Docker 的高交互蜜罐平臺,集成了Conpot、Cowrie、Dionaea、Honeytrap 等多個蜜罐。t-pot 對於資源的要求也比較高(t-pot 安裝需要至少 6-8 GB RAM 和128 GB可用磁盤空間 (SSD) 以及可用的互聯網連接),目前的最新版本為 19.03。可採用鏡像 (ISO)的方式進行安裝。

專案地址:

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

安裝部署:

下載鏡像,虛擬機安裝,安裝過程和常規的 Linux 安裝差不多,需要選擇 t-pot 安裝型別及設置賬戶及密碼,安裝好之後界面如下:

Web 控制端:https://10.0.*.**:64297,輸入賬號、密碼即可訪問:

更多 t-pot 的使用細節可參考:

https://www.freebuf.com/sectool/134504.html

思考

在真正的生產環境中,我們不僅要考慮到安全,還需考慮部署的成本,高交互蜜罐,存在被攻陷的可能

蜜罐的部署成本也較高,但隨之也更真實,更容易迷惑攻擊者,捕獲到高級的威脅;opencanary 這種低交互蜜獾適合部署在局域網用來檢測來自攻擊者橫向移動階段的掃描,Cowrie 的中交互蜜罐適合放在外網用來捕獲一些惡意樣本,擴充 IOC 庫及提供給分析師分析(這一類方法是比較實在且行之有效的方式)。捕獲針對性攻擊的樣本需要部署針對性的蜜罐,t-pot 雖融合了多種蜜罐,但可重構性不高。想利用開源的蜜罐作為捕獲威脅的一種解決方式,還需要花更多的心思。情報驅動應急響應,資料驅動安全,蜜罐作為獲取情報的一種手段,怎麼樣利用蜜罐以最小的風險,去獲取攻擊者的攻擊方式、反向追蹤攻擊者,禦敵於安全事件發生之前,這是一件看似簡單實際不簡單的事情。

更多蜜罐專案:

http://www.honeynet.org/project

參考鏈接

http://bigsec.com/bigsec-news/wechat-16721-miguan-kepu

https://www.secpulse.com/archives/50235.html

https://github.com/paralax/awesome-honeypots/blob/master/README_CN.md

http://www.myh0st.cn/index.php/archives/36/

https://sosly.me/index.php/2017/08/23/goldenspark1/

https://blog.csdn.net/Kevinhanser/article/details/7928230

    已同步到看一看
    赞(0)

    分享創造快樂