蜜罐技术的初识以及HFish(开源蜜罐)的Docker搭建姿势

文章目录

  • 蜜罐技术
    • 简介
    • 分类
    • 隐藏技术
    • 识别技术
  • HFish
    • 简介
    • 搭建过程
    • 解决4个报错

蜜罐技术

蜜罐技术的初识以及HFish(开源蜜罐)的Docker搭建姿势_第1张图片
[图片来自:sosly 菜鸟笔记]

简介

蜜罐 技术本质上是一种对攻击方进行 欺骗的技术,通过布置一些作为 诱饵的主机、网络服务 或者 数据,诱使黑客(攻击方)对它们实施攻击,从而可以通过对攻击行为进行 捕获 和 分析,了解攻击方所使用的工具与方法,推测攻击意图和动机.
而且蜜罐还可以详细地记录攻击者攻击过程中的许多痕迹,以及收集到大量有价值的数据,如病毒或蠕虫的源码、黑客的攻击思路等,从而可以为防守方提供丰富的溯源数据。能够让防御方清晰地了解所面对的安全威胁,并通过针对性的技术和管理手段来增强实际系统的安全防护能力。

注: 蜜罐仍然存在安全隐患,如果没有做好隔离,可能成为新的攻击源。

分类

按用途分类:
蜜罐可以分为研究型蜜罐和产品型蜜罐。研究型蜜罐一般是用于研究各类网络威胁,寻找应对的方式,不增加特定组织的安全性。产品型蜜罐主要是用于防护的商业产品。

按交互方式分类:
蜜罐可以分为:

  • 低交互蜜罐
  • 高交互蜜罐

低交互蜜罐模拟网络服务响应和攻击者交互,容易部署和控制攻击,但是模拟能力会相对较弱,对攻击的捕获能力不强。

高交互蜜罐不是简单地模拟某些协议或服务,而是提供真实的攻击系统,使得他们猜测他们被转移或观察的可能性大大降低。由于系统仅作为诱饵出现,因此发现的任何流量都是恶意存在的,因此可以轻松发现威胁并跟踪和跟踪攻击者的行为。通过使用高交互蜜罐,研究人员可以了解攻击者用于升级权限的工具,或者他们为尝试发现敏感数据而进行的横向移动。

隐藏技术

蜜罐主要涉及到的是伪装技术,主要涉及到进程隐藏、服务伪装等技术。

蜜罐之间的隐藏,要求蜜罐之间相互隐蔽。进程隐藏,蜜罐需要隐藏监控、信息收集等进程。伪服务和命令技术,需要对部分服务进行伪装,防止攻击者获取敏感信息或者入侵控制内核。数据文件伪装,需要生成合理的虚假数据的文件.

识别技术

攻击者也会尝试对蜜罐进行识别。
比较容易的识别的是低交互的蜜罐,尝试一些比较复杂且少见的操作能比较容易的识别低交互的蜜罐。相对困难的是高交互蜜罐的识别,因为高交互蜜罐通常以真实系统为基础来构建,和真实系统比较近似。对这种情况,通常会基于虚拟文件系统和注册表的信息、内存分配特征、硬件特征、特殊指令等来识别.

HFish

蜜罐技术的初识以及HFish(开源蜜罐)的Docker搭建姿势_第2张图片

简介

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:
蜜罐技术的初识以及HFish(开源蜜罐)的Docker搭建姿势_第3张图片
截图2:
蜜罐技术的初识以及HFish(开源蜜罐)的Docker搭建姿势_第4张图片
才搭建成功没几分钟,就有了好几个来自全球各地的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

蜜罐技术的初识以及HFish(开源蜜罐)的Docker搭建姿势_第5张图片

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/#/

你可能感兴趣的:(安全认知,docker,安全,信息安全,github,shell)