蜜罐技術
[圖片來自:sosly 菜鳥筆記]
簡介
蜜罐 技術本質上是一種對攻擊方進行 欺騙的技術,通過佈置一些作爲 誘餌的主機、網絡服務 或者 數據,誘使黑客(攻擊方)對它們實施攻擊,從而可以通過對攻擊行爲進行 捕獲 和 分析,瞭解攻擊方所使用的工具與方法,推測攻擊意圖和動機.
而且蜜罐還可以詳細地記錄攻擊者攻擊過程中的許多痕跡,以及收集到大量有價值的數據,如病毒或蠕蟲的源碼、黑客的攻擊思路等,從而可以爲防守方提供豐富的溯源數據。能夠讓防禦方清晰地瞭解所面對的安全威脅,並通過針對性的技術和管理手段來增強實際系統的安全防護能力。
注: 蜜罐仍然存在安全隱患,如果沒有做好隔離,可能成爲新的攻擊源。
分類
按用途分類:
蜜罐可以分爲研究型蜜罐和產品型蜜罐。研究型蜜罐一般是用於研究各類網絡威脅,尋找應對的方式,不增加特定組織的安全性。產品型蜜罐主要是用於防護的商業產品。
按交互方式分類:
蜜罐可以分爲:
- 低交互蜜罐
- 高交互蜜罐
低交互蜜罐模擬網絡服務響應和攻擊者交互,容易部署和控制攻擊,但是模擬能力會相對較弱,對攻擊的捕獲能力不強。
高交互蜜罐不是簡單地模擬某些協議或服務,而是提供真實的攻擊系統,使得他們猜測他們被轉移或觀察的可能性大大降低。由於系統僅作爲誘餌出現,因此發現的任何流量都是惡意存在的,因此可以輕鬆發現威脅並跟蹤和跟蹤攻擊者的行爲。通過使用高交互蜜罐,研究人員可以瞭解攻擊者用於升級權限的工具,或者他們爲嘗試發現敏感數據而進行的橫向移動。
隱藏技術
蜜罐主要涉及到的是僞裝技術,主要涉及到進程隱藏、服務僞裝等技術。
蜜罐之間的隱藏,要求蜜罐之間相互隱蔽。進程隱藏,蜜罐需要隱藏監控、信息收集等進程。僞服務和命令技術,需要對部分服務進行僞裝,防止攻擊者獲取敏感信息或者入侵控制內核。數據文件僞裝,需要生成合理的虛假數據的文件.
識別技術
攻擊者也會嘗試對蜜罐進行識別。
比較容易的識別的是低交互的蜜罐,嘗試一些比較複雜且少見的操作能比較容易的識別低交互的蜜罐。相對困難的是高交互蜜罐的識別,因爲高交互蜜罐通常以真實系統爲基礎來構建,和真實系統比較近似。對這種情況,通常會基於虛擬文件系統和註冊表的信息、內存分配特徵、硬件特徵、特殊指令等來識別.
HFish
簡介
HFish 是一款基於 Golang 開發的跨平臺多功能主動誘導型開源蜜罐框架系統,爲了企業安全防護做出了精心的打造,全程記錄黑客攻擊手段,實現防護自主化。
- 多功能 不僅僅支持 HTTP(S) 蜜罐,還支持 SSH、SFTP、Redis、Mysql、
FTP、Telnet、暗網 等 - 擴展性 提供 API 接口,使用者可以隨意擴展蜜罐模塊 ( WEB、PC、APP )
- 便捷性 使用 Golang + SQLite 開發,使用者可以在 Win + Mac + Linux 上快速部署一套蜜罐平臺
項目地址
Github : https://github.com/hacklcx/HFish
碼雲(Gitee) : https://gitee.com/lauix/HFish
搭建過程
Docker 拉取鏡像
docker pull imdevops/hfish
搭建
docker run -d --name hfish -p 21:21 -p 22:22 -p 23:23 -p 69:69 -p 3306:3306 -p 5900:5900 -p 6379:6379 -p 8080:8080 -p 8081:8081 -p 8989:8989 -p 9000:9000 -p 9001:9001 -p 9200:9200 -p 11211:11211 --restart=always imdevops/hfish:latest
- 21 爲 FTP 端口
- 22 爲 SSH 端口
- 23 爲 Telnet 端口
- 3306 爲 Mysql 端口
- 6379 爲 Redis 端口
- 8080 爲 暗網 端口
- 8989 爲 插件 端口
- 9000 爲 Web 端口
- 9001 爲 系統管理後臺 端口
- 11211 爲 Memcache 端口
- 69 爲 TFTP 端口
- 5900 爲 VNC端口
- 8081 爲 HTTP代理池 端口
- 9200 爲Elasticsearch端口
以上端口根據實際需要決定是否打開,並注意端口衝突。
效果截圖
截圖1:
截圖2:
才搭建成功沒幾分鐘,就有了好幾個來自全球各地的IP掃我服務器,看來得抓緊提升技術了,畢竟怎麼說也得搞回去吧!😎
解決4個報錯
error1.docker pull nethttp TLS handshake timeout
方法1:
自建梯子
方法2:
使用國內源,下面用國內源
echo "DOCKER_OPTS=\"\$DOCKER_OPTS --registry-mirror=http://f2d6cb40.m.daocloud.io\"" | sudo tee -a /etc/default/docker
error2.port is already allocated.
step1:
查看佔用該端口的容器:
docker ps -a
step2:
終止該容器:
docker stop CONTAINER_ID
error3.9000等端口無法加載
添加策略對外打開指定的端口,在服務器控制檯設置安全組,即在入站規則裏放通需要佈置蜜罐的端口.
error4.OCI runtime exec failed
無法進入到容器的終端中,因爲docker鏡像中的/bin/bash文件並不存在,存在的是/bin/sh文件,於是使用命令docker exec -it 容器名/容器ID /bin/sh進入,終於成功:
docker exec -it ID /bin/sh
參考文章:
We安全學習筆記
https://sosly.me/
https://hfish.io/docs/#/