公众号关注 「奇妙的 Linux 世界」

设为「星标」,每天带你玩转 Linux !

前段时间我们在「巧用 Cowrie 部署 SSH 蜜罐,让黑客攻击无处遁形!」 一文中给大家介绍了一款好用开源的 SSH 蜜罐系统,但遗憾的是这个蜜罐系统只支持 SSH 这一种协议。

今天,我们就给大家介绍一套功能更加强大、支持跨平台和多种协议的全功能蜜罐钓鱼开源系统 HFish。

什么是 HFish ?

HFish 是一款基于 Golang + SqlLite 开发的跨平台多功能主动攻击型蜜罐钓鱼平台框架系统。

项目地址:https://github.com/hacklcx/HFish

HFish 支持的特性

  • 多功能:不仅仅支持 HTTP(S) 钓鱼,还支持 SSHSFTPRedisMySQLMemCacheVNCES 等多种蜜罐。

  • 扩展性:HFish 提供 API 接口,使用者可以随意扩展钓鱼模块。

  • 便捷性:HFish 使用 Golang 开发,使用者可以在多平台上(WindowsMacOSLinux 等) 上快速进行部署。

什么是蜜罐?

蜜罐技术本质上是一种对攻击方进行 欺骗的技术,通过布置一些作为诱饵的主机、网络服务或者信息,诱使攻击方对它们实施攻击,从而可以对攻击行为进行捕获和分析,了解攻击方所使用的工具与方法,推测攻击意图和动机,能够让防御方清晰地了解他们所面对的安全威胁,并通过技术和管理手段来增强实际系统的安全防护能力。

蜜罐好比是情报收集系统。蜜罐好像是故意让人攻击的目标,引诱黑客前来攻击。所以攻击者入侵后,你就可以知道他是如何得逞的,随时了解针对服务器发动的最新的攻击和漏洞。还可以通过窃听黑客之间的联系,收集黑客所用的种种工具,并且掌握他们的社交网络。

部署 HFish

HFish 支持单机、集群、Docker 多种形式的部署,部署方法也是非常简单的。

二进制部署模式

  1. 下载当前系统二进制安装包

首先通过浏览器打开 https://github.com/hacklcx/HFish/releases,然后下载对应系统的二进制安装包。

  • darwinMacOS 版本

  • arm64ARM 架构的 64 位,可用于树莓派

  • 38632 位系统, amd6464 位系统

  1. 快速启动 HFish

二进制安装包下载完成,解压后执行即可。

2.1 Linux + Mac 平台

# 名字是下载的压缩包,根据实际情况修改
$ tar -zxvf HFish-0.5-linux-amd64.tar.gz
# 名字是解压后压缩包,根据实际情况修改
$ cd HFish-0.5-linux-amd64
$ chmod 777 -R db                                                        # sqlite 临时文件需要最高权限
$ ./HFish run

注意:db 目录必须要设置 777 最高权限,否则会报 unable to open database file。

2.2 Windown 平台

# 鼠标右键解压压缩包,打开命令终端 (cmd.exe) 进入程序跟目录
# 名字是解压后压缩包,根据实际情况修改
$ cd c:/HFish-0.5-win-amd64
# Windows 一样要给 db 目录所有权限,具体方法谷歌搜索。
$ ./HFish.exe run
  1. 访问 HFish

启动成功后,直接通过浏览器访问 IP:9001 端口即可进行访问。

默认登陆账号/密码为:admin/admin

Docker 部署模式

如果你对 Docker 比较了解还可以直接通过 Docker 来一键完成单节点部署或集群部署。

  1. 单节点部署

$ docker run -d --name hfish -p 21:21 -p 22:22 -p 23:23 -p 3306:3306 -p 6379:6379 -p 8080:8080 -p 8989:8989 -p 9000:9000 -p 9001:9001 -p 11211:11211 imdevops/hfish:latest
  1. 集群部署

# 主节点部署
$ docker run -d --name hfish-master -p 21:21 -p 22:22 -p 23:23 -p 3306:3306 -p 6379:6379 -p 7879:7879 -p 8080:8080 -p 8989:8989 -p 9000:9000 -p 9001:9001 -p 11211:11211 imdevops/hfish:latest# 客户端子节点部署
$ docker run -d --name hfish-client -p 21:21 -p 22:22 -p 23:23 -p 3306:3306 -p 6379:6379 -p 8080:8080 -p 8989:8989 -p 9000:9000 -p 11211:11211 -e CLUSTER_IP=master_ip:7879 -e NODE_NAME=clinet imdevops/hfish:latest

具体方法可以参考官方文档:https://hfish.io/docs/#/deploy/docker

配置 HFish

HFish 的配置分为服务器端和客户端,大致配置内容基本相同。官方也说得很清楚了,只要按需启用相应服务即可,这里就不再赘述了。

服务端配置

本配置为 Demo 服务端,需要启动 rpc , 修改状态 status1

[rpc]
status = 1                                   # 模式 0关闭 1服务端 2客户端
addr = 127.0.0.1:7879                        # RPC 服务端地址 or 客户端地址
name = Server                                # 状态1 服务端名称 状态2 客户端名称[admin]                                      # RPC 状态为 2 集群客户端的时候 admin 可以删掉
addr = 127.0.0.1:9001                        # 管理后台启动地址
account = admin                              # 登录账号
password = admin                             # 登录密码[api]
status = 1                                   # 是否启动 API 1 启动 0 关闭
web_url = /api/v1/post/report                # 管理后台启动地址
deep_url = /api/v1/post/deep_report          # 管理后台启动地址
plug_url = /api/v1/post/plug_report          # 插件蜜罐上报 API
sec_key = 9cbf8a4dcb8e30682b927f352d6559a0   # API 认证秘钥[plug]
status = 0                                   # 是否启动 蜜罐插件 0 关闭 1 启动, 需要先启动 API
addr = 0.0.0.0:8989                          # 蜜罐插件 启动地址[web]
status = 0                                   # 是否启动 WEB 1 启动 0 关闭, 启动 API 后 WEB 方可上报结果
addr = 0.0.0.0:9000                          # WEB 启动地址,0.0.0.0 对外开放,127.0.0.1 对内开放 可走 Nginx 反向代理
template = wordPress/html                    # WEB 模板路径
index = index.html                           # WEB 首页文件
static = wordPress/static                    # WEB 静态文件路径  注意:必须存在两个目录,html 文件 和静态文件 不能平级
url = /                                      # WEB 访问目录,默认 / 可更改成 index.html index.asp index.php[deep]
status = 0                                   # 是否启动 暗网 1 启动 0 关闭, 启动 API 后 方可上报结果
addr = 0.0.0.0:8080                          # 暗网 WEB 启动地址
template = deep/html                         # 暗网 WEB 模板路径
index = index.html                           # 暗网 WEB 首页文件
static = deep/static                         # 暗网 WEB 静态文件路径  注意:必须存在两个目录,html 文件 和静态文件 不能平级
url = /                                      # 暗网 WEB 访问目录,默认 / 可更改成 index.html index.asp index.php[ssh]
status = 0                                   # 是否启动 SSH 1 启动 0 关闭
addr = 0.0.0.0:22                            # SSH 服务端地址 注意端口冲突,请先关闭服务器 openssh 服务 或 修改端口[redis]
status = 0                                   # 是否启动 Redis 1 启动 0 关闭
addr = 0.0.0.0:6379                          # Redis 服务端地址 注意端口冲突[mysql]
status = 0                                   # 是否启动 Mysql 1 启动 0 关闭
addr = 0.0.0.0:3306                          # Mysql 服务端地址 注意端口冲突
files = /etc/passwd,/etc/group               # Mysql 服务端读取客户端任意文件; 多写逗号分隔,会随机取[telnet]
status = 0                                   # 是否启动 Telnet 1 启动 0 关闭
addr = 0.0.0.0:23                            # Telnet 服务端地址 注意端口冲突[ftp]
status = 0                                   # 是否启动 Ftp 1 启动 0 关闭
addr = 0.0.0.0:21                            # Ftp 服务端地址 注意端口冲突[mem_cache]
status = 0                                   # 是否启动 MemCache 0 关闭 1 启动
addr = 0.0.0.0:11211                         # Memcache 服务端地址 注意端口冲突
rate_limit = 4                               # 每秒响应次数

客户端配置

本配置为 Demo 客户端,可删除 admin 配置项。客户端需要启动 rpc , 修改状态 status2

[rpc]
status = 2                                   # 模式 0关闭 1服务端 2客户端
addr = 127.0.0.1:7879                        # RPC 服务端地址 or 客户端地址
name = Beijing_Clinet                        # 状态1 服务端名称 状态2 客户端名称[api]
status = 1                                   # 是否启动 API 1 启动 0 关闭
web_url = /api/v1/post/report                # 管理后台启动地址
deep_url = /api/v1/post/deep_report          # 管理后台启动地址
plug_url = /api/v1/post/plug_report          # 插件蜜罐上报 API
sec_key = 9cbf8a4dcb8e30682b927f352d6559a0   # API 认证秘钥[plug]
status = 0                                   # 是否启动 蜜罐插件 0 关闭 1 启动, 需要先启动 API
addr = 0.0.0.0:8989                          # 蜜罐插件 启动地址[web]
status = 0                                   # 是否启动 WEB 1 启动 0 关闭, 启动 API 后 WEB 方可上报结果
addr = 0.0.0.0:9000                          # WEB 启动地址,0.0.0.0 对外开放,127.0.0.1 对内开放 可走 Nginx 反向代理
template = wordPress/html                    # WEB 模板路径
index = index.html                           # WEB 首页文件
static = wordPress/static                    # WEB 静态文件路径  注意:必须存在两个目录,html 文件 和静态文件 不能平级
url = /                                      # WEB 访问目录,默认 / 可更改成 index.html index.asp index.php[deep]
status = 0                                   # 是否启动 暗网 1 启动 0 关闭, 启动 API 后 方可上报结果
addr = 0.0.0.0:8080                          # 暗网 WEB 启动地址
template = deep/html                         # 暗网 WEB 模板路径
index = index.html                           # 暗网 WEB 首页文件
static = deep/static                         # 暗网 WEB 静态文件路径  注意:必须存在两个目录,html 文件 和静态文件 不能平级
url = /                                      # 暗网 WEB 访问目录,默认 / 可更改成 index.html index.asp index.php[ssh]
status = 0                                   # 是否启动 SSH 1 启动 0 关闭
addr = 0.0.0.0:22                            # SSH 服务端地址 注意端口冲突,请先关闭服务器 openssh 服务 或 修改端口[redis]
status = 0                                   # 是否启动 Redis 1 启动 0 关闭
addr = 0.0.0.0:6379                          # Redis 服务端地址 注意端口冲突[mysql]
status = 0                                   # 是否启动 Mysql 1 启动 0 关闭
addr = 0.0.0.0:3306                          # Mysql 服务端地址 注意端口冲突
files = /etc/passwd,/etc/group               # Mysql 服务端读取客户端任意文件; 多写逗号分隔,会随机取[telnet]
status = 0                                   # 是否启动 Telnet 1 启动 0 关闭
addr = 0.0.0.0:23                            # Telnet 服务端地址 注意端口冲突[ftp]
status = 0                                   # 是否启动 Ftp 1 启动 0 关闭
addr = 0.0.0.0:21                            # Ftp 服务端地址 注意端口冲突[mem_cache]
status = 0                                   # 是否启动 MemCache 0 关闭 1 启动
addr = 0.0.0.0:11211                         # Memcache 服务端地址 注意端口冲突
rate_limit = 4                               # 每秒响应次数

除了这些,Hfish 还支持通过 API 请求白名单WebHook插件扩展等很多强大的功能。如果你很感兴趣,可自行前往官网进一步探索哟!

更多功能演示截图

  1. HFish 管理界面

  1. HFish 数据统计界面

  1. HFish SSH 蜜罐后台界面

  1. HFish Telnet 蜜罐后台界面

  1. HFish Redis 蜜罐后台界面

  1. HFish Memcache 蜜罐后台界面

  1. HFish MySQL 蜜罐后台界面

  1. HFish FTP 蜜罐后台界面

  1. HFish Web 蜜罐后台界面

参考文档

  1. https://www.google.com

  2. https://hfish.io/docs/

  3. https://bithack.io/forum/484

你可能还喜欢

点击下方图片即可阅读

巧用 Cowrie 部署 SSH 蜜罐,让黑客攻击无处遁形!

点击上方图片,打开小程序,加入「玩转 Linux」圈子

更多有趣的互联网新鲜事,关注「奇妙的互联网」视频号全了解!

全功能开源的企业级安全主动攻击型蜜罐钓鱼系统 HFish,你很有必要部署一套!...相关推荐

  1. 网课/网校/知识付费/在线教育系统,100%全功能开源,可免费商用

    一.开源项目简介 酷瓜云课堂,依托腾讯云基础服务架构,采用C扩展框架Phalcon开发,GPL-2.0开源协议,致力开源网课系统,开源网校系统,开源知识付费系统,开源在线教育系统. 酷瓜云课堂 - 网 ...

  2. o2o java_O2OA下载-O2OAJAVA全功能开源办公平台下载v4.2698稳定版 - 欧普软件园

    O2OA是一款J2EE架构的办公软件,这款软件的功能十分强大,也十分地稳定.O2OA能够带给你的是全功能的办公功能,有了它,相信你的办公效率能够提高很多.这个办公平台是免费供用户使用的,快来下载吧! ...

  3. Java 全功能开源办公软件O2OA V4.2698 稳定版发布

           O2OA是基于J2EE架构,集成移动办公.智能办公,支持私有化部署,自适应负载能力的,能够很大程度上节约企业软件开发成本的基于AGPL协议开放源代码的企业信息化系统需求定制开发解决方案, ...

  4. esplise自定义快捷代码补全_Ecplise更便捷的自动补全功能设置及改良

    最近遇到了一些需要用搜索引擎解决的问题,在专栏里我一般不会放出来,不会像CSDN那样将几十个人把一个答案复制到自己的CSDN下,我尽量不去污染搜索结果和影响有问题需要解决的人的体验 比如困扰我的一个问 ...

  5. 【ECS最佳实践】性能测试及ECS+RDS构建云服务器主动防御系统部署开源蜜罐系统Hfish

    云服务器ECS(Elastic Compute Service)是阿里云提供的性能卓越.稳定可靠.弹性扩展的IaaS(Infrastructure as a Service)级别云计算服务.云计算最基 ...

  6. 你知道为什么Xcode6中Swift没有智能提示和自己主动补全功能吗 ?

    你知道为什么Xcode6中Swift没有智能提示和自己主动补全功能吗 ? 长沙戴维营教育将为你解开这个巨大的谜团大BUG! http://www.ubuntucollege.cn/course/29/ ...

  7. linux生物代谢图软件,答疑解惑专题(四)——开源代谢组学全功能软件介绍

    高通量代谢组学研究的一大难点在于数据处理和分析.对于质谱或核磁产生的海量数据需要借助于自动化的软件来进行数据分析.代谢组学全流程软件应具备完整的分析工作流程,包括数据预处理.物质鉴定.统计分析以及数据 ...

  8. Banana Pi BPI-6202 开源嵌入式单板工控机,支持HMI及全功能SCADA功能

    嵌入式工控机概述 ​嵌入式工控机的定义与应用场景 工控机(Industrial Personal Computer,简称IPC),是上世纪90年代开始出现的.广泛应用于工业现场监视与控制的加固.增强型 ...

  9. EasyPlayer开源流媒体移动端播放器推出RTSP-RTMP-HTTP-HLS全功能Pro版

    EasyPlayerPro介绍 Android EasyPlayerPro专业版全功能播放器,是由EasyDarwin开源团队维护的一款支持RTSP.RTMP.HTTP.HLS多种流媒体协议的播放器版 ...

  10. KubeSphere 团队(青云QingCloud) 全职开源职位等你加入!

    关于 KubeSphere 团队 KubeSphere 团队是开源项目 KubeSphere[1] 的核心维护成员.在 KubeSphere 团队,一切都是由技术和业务能力为主导,工程师能够完全自主地 ...

最新文章

  1. 电脑记事本在哪_【锦囊站第002期】电脑一秒内完成文件搜索是如何实现的?
  2. 项目梳理6——使用WebApiTestClient为webapi添加测试
  3. 关于使用scrapy框架编写爬虫以及Ajax动态加载问题、反爬问题解决方案
  4. UVA - 1415 Gauss Prime(高斯素数)
  5. 7-12(图) 社交网络图中结点的“重要性”计算(30 分)
  6. 流媒体数据代理----Anychat
  7. mysql-复习表的基本操作01
  8. 20种小技巧,玩转Google Colab
  9. HDU 1551 Cable master
  10. 11 、图解2个node环境下replica shard是如何分配的
  11. BT5的登陆用户名和密码
  12. 解决Ubuntu 14.04下CodeBlocks缩进异常问题
  13. win10下rdlc报表在vs(visual studio)中中文显示小方块的批量处理解决方法
  14. android 桌球游戏,安卓上目前最台球游戏《台球帝国》测评
  15. MIME protocol 说明
  16. 上海落户条件—海归落户上海
  17. Java微服务开发指南-集群管理、失败转移和负载均衡的实践(下)
  18. Unity3D中玩家的移动方式,三大类型,八种方式
  19. 在iOS微信里如何自动播放
  20. 关于嵌入式linux下的串口通讯问题---回车、换行、缓冲

热门文章

  1. win10 C盘磁盘清理
  2. 基于动物性去思考人性
  3. 声音存储空间计算公式_音频中文件大小计算公式(转)
  4. 计算机术语BOOTP,bootp是什么意思?
  5. 继电器----D型触发器,边沿触发器,累加器
  6. 开源视频服务器软件MJPG-streamer研究
  7. 为什么显示连接服务器超时,连接服务器超时什么意思
  8. 可充电点电池和不可充电电池区分?
  9. 计算机的云是什么意思_云计算是什么意思?为什么叫云计算?
  10. Asterisk入门教程