蜜罐技術的初識以及HFish(開源蜜罐)的Docker搭建姿勢

蜜罐技術


[圖片來自: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/#/

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