前段时间我们在「巧用 Cowrie 部署 SSH 蜜罐,让黑客攻击无处遁形!」 一文中给大家介绍了一款好用开源的 SSH
蜜罐系统,但遗憾的是这个蜜罐系统只支持 SSH
这一种协议。
今天,我们就给大家介绍一套功能更加强大、支持跨平台和多种协议的全功能蜜罐钓鱼开源系统 HFish
。
什么是 HFish ?
HFish
是一款基于 Golang + SqlLite
开发的跨平台多功能主动攻击型蜜罐钓鱼平台框架系统。
项目地址:https://github.com/hacklcx/HFish
HFish 支持的特性
-
多功能:不仅仅支持 HTTP(S)
钓鱼,还支持 SSH
、SFTP
、Redis
、MySQL
、MemCache
、VNC
、ES
等多种蜜罐。
-
扩展性:HFish
提供 API
接口,使用者可以随意扩展钓鱼模块。
-
便捷性:HFish
使用 Golang
开发,使用者可以在多平台上(Windows
、MacOS
、Linux
等) 上快速进行部署。
什么是蜜罐?
蜜罐技术本质上是一种对攻击方进行 欺骗的技术,通过布置一些作为诱饵的主机、网络服务或者信息,诱使攻击方对它们实施攻击,从而可以对攻击行为进行捕获和分析,了解攻击方所使用的工具与方法,推测攻击意图和动机,能够让防御方清晰地了解他们所面对的安全威胁,并通过技术和管理手段来增强实际系统的安全防护能力。
蜜罐好比是情报收集系统。蜜罐好像是故意让人攻击的目标,引诱黑客前来攻击。所以攻击者入侵后,你就可以知道他是如何得逞的,随时了解针对服务器发动的最新的攻击和漏洞。还可以通过窃听黑客之间的联系,收集黑客所用的种种工具,并且掌握他们的社交网络。
部署 HFish
HFish
支持单机、集群、Docker
多种形式的部署,部署方法也是非常简单的。
二进制部署模式
- 下载当前系统二进制安装包
首先通过浏览器打开 https://github.com/hacklcx/HFish/releases
,然后下载对应系统的二进制安装包。
- 快速启动 HFish
二进制安装包下载完成,解压后执行即可。
2.1 Linux + Mac 平台
1 2 3 4 5 6
| $ tar -zxvf HFish-0.5-linux-amd64.tar.gz
$ cd HFish-0.5-linux-amd64 $ chmod 777 -R db $ ./HFish run
|
注意: db 目录必须要设置 777 最高权限,否则会报 unable to open database file。
2.2 Windown 平台
1 2 3 4 5
|
$ cd c:/HFish-0.5-win-amd64
$ ./HFish.exe run
|
- 访问 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 2 3 4 5
| $ 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
, 修改状态 status
为 1
。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
| [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
, 修改状态 status
为 2
。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
| [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
、插件扩展
等很多强大的功能。如果你很感兴趣,可自行前往官网进一步探索哟!
更多功能演示截图
- HFish 管理界面
- HFish 数据统计界面
- HFish SSH 蜜罐后台界面
- HFish Telnet 蜜罐后台界面
- HFish Redis 蜜罐后台界面
- HFish Memcache 蜜罐后台界面
- HFish MySQL 蜜罐后台界面
- HFish FTP 蜜罐后台界面
- HFish Web 蜜罐后台界面
参考文档
-
https://www.google.com
-
https://hfish.io/docs/
-
https://bithack.io/forum/484