基本介绍
HFish是一款基于Golang开发的跨平台多功能主动诱导型开源国产蜜罐框架系统,它从内网失陷检测、外网威胁感知、威胁情报生产三个场景出发,为用户提供可独立操作且实用的功能,通过安全、敏捷、可靠的中低交互蜜罐增加用户在失陷感知和威胁情报领域的能力,目前HFish具有超过40种蜜罐环境、提供免费的云蜜网、可高度自定义的蜜饵能力、一键部署、跨平台多架构、国产操作系统和CPU支持、极低的性能要求、邮件/syslog/webhook/企业微信/钉钉/飞书告警等多项特性,帮助用户降低运维成本,提升运营效率
架构设计
HFish采用B/S架构,系统由管理端和节点端组成,管理端用来生成和管理节点端,并接收、分析和展示节点端回传的数据,节点端接受管理端的控制并负责构建蜜罐服务,其中管理端只用于数据的分析和展示,节点端进行虚拟蜜罐,最后由蜜罐来承受攻击
主要特点
HFish当前具备如下几个特点:
-
安全可靠:主打低中交互蜜罐,简单有效
-
功能丰富:支持基本网络 服务、OA系统、CRM系统、NAS存储系统、Web服务器、运维平台、无线AP、交换机/路由器、邮件系统、IoT设备等40多种蜜罐服务,支持用户制作自定义Web蜜罐,支持用户进行流量牵引到云蜜网、可开关的扫描感知能力、支持可自定义的蜜饵配置
-
开放透明:支持对接微步在线X社区API、五路syslog输出、支持邮件、钉钉、企业微信、飞书、自定义WebHook告警输出
-
快捷管理:支持单个安装包批量部署,支持批量修改端口和服务
-
跨平台:支持Linux x32/x64/ARM、Windows x32/x64平台、国产操作系统、龙芯、海光、飞腾、鲲鹏、腾云、兆芯硬件
应用场景
内网失陷报警
外网情报生成
攻击溯源反制
内部人员风险
快速部署
Linux平台
此处我们使用Docker来快速搭建部署一个HFish:
Step 1:防火墙开启4433、4434,确认返回success
firewall-cmd --add-port=4433/tcp --permanent #(用于web界面启动)
firewall-cmd --add-port=4434/tcp --permanent #(用于节点与管理端通信)
firewall-cmd --reload
Step 2:使用root用户运行下面的脚本(需要联网)
bash <(curl -sS -L https://hfish.io/webinstall.sh)
Step 3:服务查看
Step 4:Web端访问
登陆链接:https://[ip]:4433/web/
账号:admin
密码:HFish2021
Docker部署
此处我们还可以使用Docker来快速搭建部署一个HFish:
Step 1:确认已安装并启动Docker
docker version
Step 2:运行版本HFish
docker run -itd --name hfish \\\\
-v /usr/share/hfish:/usr/share/hfish \\\\
--network host \\\\
--privileged=true \\\\
threatbook/hfish-server:latest
Step 3:配置后续自动升级
docker run -d \\\\
--name watchtower \\\\
--restart unless-stopped \\\\
-v /var/run/docker.sock:/var/run/docker.sock \\\\
--label=com.centurylinklabs.watchtower.enable=false \\\\
--privileged=true \\\\
containrrr/watchtower \\\\
--cleanup \\\\
hfish \\\\
--interval 3600
Step 4:登陆HFish
登陆地址:https://ip:4433/web/
初始用户名:admin
初始密码:HFish2021
控制面板如下所示:
Windows平台
Step 1:下载安装包
https://hfish.io/#/2-3-windows
Step 2:解压
Step 3:关闭防火墙
Step 4:进入HFish-Windows-amd64文件夹内,运行文件目录下的install.bat
Step 5:进行登录
登陆地址:https://192.168.17.132:4433/web/login
初始用户名:admin
初始密码:HFish2021
Step 6:之后进行数据库配置,这里我们直接选择SQLite
之后返回控制面板
之后进行密码修改
蜜罐使用
攻击大屏
https://192.168.17.132:4433/web/index
蜜罐列表
节点默认开启部分服务,包括FTP、SSH、Telnet、Zabbix监控系统、Nginx蜜罐、MySQL蜜罐、Redis蜜罐、HTTP代理蜜罐、ElasticSearch蜜罐和通用TCP端口监听
https://192.168.17.132:4433/web/nodeList
可支持的蜜罐列表如下:
https://192.168.17.132:4433/web/service
添加蜜罐
展开节点信息并点击\\”添加蜜罐服务\\”
https://192.168.17.132:4433/web/nodeList
勾选想要添加的蜜罐即可:
微步API
当我们获取到了攻击者的攻击信息后,下一步要做的就是溯源,此时我们可以在情报对接中可以配置我们的微步API密钥,来自动获取攻击者的威胁情报,这里就不做演示了,又兴趣的用户可以自行配置
攻击蜜罐
服务扫描
使用Nmap扫描蜜罐查看对应的服务信息:
nmap 192.168.17.132
SSH蜜罐
使用Kali虚拟机尝试SSH远程登录Hfish蜜罐系统的主机
ssh root@192.168.17.132 (passwd:123456)
此时可以在Hfish后台管理系统的\\”上钓列表\\”中成功看到攻击信息
攻击来源:
执行的命令也会被记录:
H3C蜜罐
https://192.168.17.132:9092/
相关记录捕捉:
Gitlab蜜罐
https://192.168.17.132:9093/
攻击记录:
MySQL蜜罐
mysql -h 192.168.17.132 -u root -p
之后会在控制台记录用户的操作信息:
OA系统蜜罐
https://192.168.17.132:9096/
相关记录捕获:
Elasticsearch
http://192.168.17.132:9200/
攻击记录:
文末小结
Hfish蜜罐部署简单,使用方便且功能强大,算是蜜罐界的一个标杆项目,更多的使用说明可以参考一下官方文档:https://hfish.io/#/
原创文章,作者:七芒星实验室,如若转载,请注明出处:https://www.sudun.com/ask/34207.html