1 Star 0 Fork 324

starsky / HFish

forked from HFish / HFish 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

image-20210323225511461

专为诱捕溯源网络攻击者打造的蜜罐系统

什么是 HFish

HFish 是一款基于 Golang 开发的跨平台高交互蜜罐系统

HFish承载了全新的架构理念和实现方案,增加了蜜罐在威胁情报和诱捕溯源领域的能力,帮助企业在红蓝对抗中自动化的对攻击者进行画像和追溯。

此外,我们将重点关注企业安全场景,从攻击、处置、溯源角度提升产品联通能力。从威胁分析、告警策略与办公管理多方面出发,为企业用户提供更高的可用性与可拓展性。

我们深知企业环境特殊性,为了便于快速部署和敏捷管理,HFish提供了一系列方便运维和管理的技术,包括:一键闪电部署、应用模板批量管理、节点服务动态调整等特性……

image-20210324215337841

什么是蜜罐

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

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

我们的故事

2019年的8月7日,我们发布了第一个版本的HFish,在16个月里,HFish在Github上获得2.6k个star,在Gitee上成为安全类目TOP5的GVP项目。

2021年2月9日,融合社区反馈和过去2年的思考,我们发布了全新概念的威胁捕获和诱捕系统HFish v2.0.0 社区版,社区版采用闭源共享方式向所有用户免费授权使用。

Server端部署

linux

通过https://hfish.io/download.html下载符合自己系统架构HFish服务端安装包

wget http://hfish.cn-bj.ufileos.com/hfish-2.1.0-linux-amd64.tar.gz

解压缩

tar -xzvf hfish-2.1.0-linux-amd64.tar.gz

执行 ./server命令运行服务端,当然您也可以使用nohup,让服务端进程后台运行。

nohup ./server &

补充服务包

服务端自带的Linux-amd64的服务包,如果您有部署其它系统架构节点的需求,请额外下载下面的服务包,并解压到packages目录下。

#X86架构32位Linux
http://hfish.cn-bj.ufileos.com/services-linux-386.tar.gz

#ARM架构64位Linux
http://hfish.cn-bj.ufileos.com/services-linux-arm64.tar.gz

#X86架构32位Windows
http://hfish.cn-bj.ufileos.com/services-windows-386.tar.gz

#X86架构64位Windows
http://hfish.cn-bj.ufileos.com/services-windows-amd64.tar.gz
#下载解压示范,请自行替换链接、文件夹路径和包文件名
wget http://hfish.cn-bj.ufileos.com/services-windows-amd64.tar.gz
cd packages
tar -xzvf services-windows-amd64.tar.gz

windows

下载OneFish

​ 访问我们官网的下载页面,下载最新版的服务端并解压。

运行文件目录下的server.exe

services

蜜罐服务说明

高交互蜜罐和低交互蜜罐

接触蜜罐产品中我们经常会听到关于高交互蜜罐和低交互蜜罐,两种蜜罐根据与攻击者的交互程度不同而不同。两种类型的蜜罐在使用场景上有所区别。

  • 高交互蜜罐

    高交互蜜罐可以跟攻击者进行更多的互动,从而收集更多的攻击者行为数据,能为溯源工作提供更多的参考信息。

    高交互蜜罐也有自己的局限性,高交互蜜罐通常意味着更高的资源占用,和相应更高的业务风险。

  • 低交互蜜罐

    低交互蜜罐通常跟攻击者之间的交互行为要少一些,不过因为蜜罐产品具有“访问既是风险”的特性,只要能够实现访问就报警,就能解决失陷报警的使用场景。

    低交互蜜罐的局限性跟高交互蜜罐的局限性恰好相反,低交互蜜罐服务对节点资源的占用更少、业务安全性更高。但因为无法获得更多元的攻击信息,对于溯源工作的帮助不如高交互蜜罐高。

高交互蜜罐和低交互蜜罐并无好坏差异,根据自己的业务选择更适合自己的方案即可。

目前蜜罐的服务支持4大类,13种不同的蜜罐服务(蜜罐服务还在持续增加),截止本文档发布,OneFish的蜜罐都是低交互蜜罐。

  1. 常见的Linux服务

    包括SSH蜜罐、FTP蜜罐、TFTP蜜罐、TELNET蜜罐、VNC蜜罐、HTTP蜜罐

  2. 常见Web应用仿真

    包括WordPress仿真登陆蜜罐、通用OA系统仿真登录蜜罐

  3. 常见的数据库服务

    MYSQL蜜罐、Redis蜜罐、Memcache蜜罐、Elasticsearch蜜罐

  4. 用户自定义蜜罐

服务端配置

默认密码

初次登陆账号密码为

admin  /  HFish2021
image-20210318215218016

登陆后请及时修改您的密码

image-20210318215106718

重置密码

需要重置密码,请切换到 server/tools 文件夹:

cd server/tools

然后执行:

./tools resetpwd

如果看到 reset admin password success,那就重置成功了

情报对接

对接精准的云端的威胁情报后,可以对攻击行为进行更准的研判,帮助我们更科学的进行处置。

对接了威胁情报后,当HFish捕获到了来自外网的攻击行为后,我们可以在攻击列表中了解攻击者的IP情报。HFish会把您在云端查询到的情报在本地缓存7天,保持您攻击情报时效性的同时,节省您的查询次数。

image-20210318220204897
  • 我们支持对接两种来自微步在线的威胁情报

对接微步在线云API(IP信誉接口)

关于该接口完整的说明,可以参考微步在线云API文档

本接口在注册后可以获得每日50条云端情报的查询额度,给微步发送扩容邮件后,可以提升到每日200条的额度。详情访问微步在线X社区

如果有企业化需求,可以邮件 honeypot@threatbook.cn

对接TIP的本地情报,您可以跟据页面的描述进行注册和使用。

使用该接口需要购买微步在线的TIP本地情报系统

image-20210318221558637

通知配置

通知功能是蜜罐的核心功能之一

对于蜜罐捕获到的信息,跟据您不同的安全运营流程,您可能需要把该信息第一时间通知其它的安全设备,也可能需要把该信息通知给相关的安全运营人员。HFish用三种方式满足您的需求。

  • Syslog通知
  • 邮件通知
  • Webhook通知
image-20210318215610629

用 Syslog 联动其它安全设备

您可以自定义接受通知设备的地址、协议和端口,用来接受OneFish捕获的攻击信息和报警。HFish最多支持5路syslog进行通知。

image-20210318215642971

用邮件通知相关安全人员

您可以通过配置相关的邮件服务器信息,来接受OneFish的通知和报警。

image-20210318215718987

Webhook通知其它设备/人

很多的场景下我们都可以方便的使用webhook联动人或者设备。

  • 对于当前企业办公中最为流行的3大即时通讯软件企业微信、钉钉、飞书的机器人,我们也做了适配,您在IM中建立一个机器人,把机器人的token复制到OneFish的webhook配置中,就可以第一时间在IM中获取蜜罐捕获的攻击告警了。
  • 三家IM的官方文档如下,您可以对照进行参考
- 企业微信官方文档

  https://work.weixin.qq.com/help?doc_id=13376#%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E7%BE%A4%E6%9C%BA%E5%99%A8%E4%BA%BA

- 钉钉官方文档

  https://ding-doc.dingtalk.com/doc#/serverapi2/qf2nxq

- 飞书官方文档
  https://www.feishu.cn/hc/zh-CN/articles/360040553973

告警策略

添加一个新的策略

image-20210318173355287

对策略进行配置

image-20210209202737224

通知当前分为威胁告警和系统通知两种类型

威胁告警是系统感知攻击时的告警;系统通知是系统自身运行状态的告警。

在设置通知方式前,您应该先完成了前边的通知配置

如果您完成了通知配置,那么这里三种不同的通知方式中就会出现您之前的配置,勾选即可。

使用和管理

新建模版

首先要解释的是,在OneFish中,为了蜜罐更好的可拓展性,我们将蜜罐的层次分为三类

蜜罐服务

蜜罐的最基础元素是服务,截止到2021.3.18日更新,目前提供 MYSQL、SSH、FTP、Elasticsearch、REDIS、通用OA系统、WordPress、HTTP、VNC、Telnet、MEMCACHE、TFTP、CUSTOM 共13种服务。

image-20210318194212394

服务管理分为两个模块:

  • 服务搜索与管理模块

该模块可以搜索服务名称,筛选服务类型与筛选监听端口,辅助搜寻服务。

  • 服务列表

该模块主要是展示服务名称、被模版引用数、默认监听端口和服务概述。

其中,默认监听端口可以在模版详情中进行操作修改。

蜜罐模版

在服务之上,我们支持对蜜罐服务的组合,并称之为模版。

在软件初始化阶段,我们会自带两种模版。

image-20210318194755834

另外,可以通过新建模版自由添加

image-20210318195331781 image-20210318195941660

新建节点

当您在【模板管理】页面添加完需要的蜜罐模板后,您就可以进行【增加节点】的操作了。

点击增加节点

image-20210318190541416

对要增加的节点进行具体的配置

image-20210318190641973
  • 节点名称:可以自定义,用于您个人管理中识别设备的名称,长度不低于6个字符
  • 部署位置:可以自定义,用于您个人管理中识别设备的位置
  • 节点安装包:目前我们支持linux_x86、linux_arm、windows,三大平台下的32/64位的设备作为节点,您可以选择相应的版本
image-20210318190656299

选择配置好之后,我们就会生成一个节点安装包

image-20210318191631254

值得一提的是,由于windows环境的特殊原因,并不能支持命令行部署,需要关闭掉页面后,在节点栏点击,下载安装包。

image-20210318191736929

节点配置:节点配置下拉框中,内容就是用户设置的所有模版。此外,节点添加以后仍然可以修改模版

服务器地址:该服务器地址写您的s端地址,我们支持内网与云主机。请注意一定要注意您的s端地址书写。假设c端添加上长期没有流量,我们建议您查看一下服务器地址是否正确。

下面来跟大家一起看一下具体界面

image-20210318192101619

搜索框(红色)

搜索节点ip,筛选节点状态,查看流量以及模版。

导出框(绿色)

这里可以导出所有的节点内容,生成csv格式的文件。

节点列表界面(蓝色)

这里显示具体的节点名称,流量。当我们点击的时候可以展开,查看详细信息。其中女服务状态的在线、离线和禁用,可以在模版中进行修改。

image-20210318192240339

注意事项

1. 建议节点是全新的主机环境,除了节点的服务外不要运行其他的任何程序或开放相应的端口。
2. 建议在安装前修改默认的ssh端口,因为ssh蜜罐服务的端口是22,不修改端口的情况下部署ssh蜜罐,会让该蜜罐无法正常启动。
3. 节点的联通性测试结束,正式使用前,记得配置相应的安全策略。SSH 端口,只能被安全区的设备访问。蜜罐服务端口应该对所有网段开放。非蜜罐服务端口应该结束相关进程或调整 iptables&firewalld 规则限制访问。

测试样例

五、测试样例

SSH蜜罐

在终端里,尝试连接蜜罐的ssh端口,会显示“Permission denied, please try again.”

image-20210319113406672

这时攻击列表会记录下所有测试过的用户名和密码

image-20210319113330040

FTP蜜罐

用FTP终端尝试连接FTP蜜罐端口,会在攻击列表中出现FTP蜜罐报警

image-20210319113309227

HTTP蜜罐

HTTP蜜罐为http代理蜜罐,利用http代理工具连接蜜罐端口

image-20210319113242516

攻击列表中的显示信息如下

image-20210319113211933

TELNET蜜罐

利用TELNET应用连接蜜罐端口

image-20210319113132880

攻击列表中显示信息如下

image-20210319113101608

MYSQL蜜罐

用MYSQL工具连接蜜罐对应端口

image-20210311174259758

WEB蜜罐

WEB蜜罐用浏览器访问相应的端口,并尝试输入user name和password后

image-20210319112136937

会提示用户名和密码错误

image-20210319112522399

服务端后台会获取攻击者用于尝试的用户名和密码

image-20210319112739513

总结

以上就是HFish本次更新的全部内容。在这个版本中,我们重点做了一键升级功能,只要我们有任何的更新,您在客户端都可以快速实现全线升级。

最后,希望HFish可以带给大家更好的蜜罐使用体验,帮助构建更好的网络生态环境。谢谢大家。

版本记录

[v 2.1.0] 2021-03-18

本版本是HFish的第二个版本,在这个版本中,我们针对年前的bug进行了深刻的反思和密集的修复。

此外,针对数据显示问题,我们着重改进了攻击列表的显示方式,希望提供一个有质、有效、可视化的攻击情况复现。

最后,感谢各位一直以来的支持,我们继续陪伴~

空文件

简介

HFish 是一款基于 Golang 开发的跨平台多功能主动诱导型蜜罐框架系统,为了企业安全防护测试做出了精心的打造 展开 收起
Go
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Go
1
https://gitee.com/starsky20/HFish.git
git@gitee.com:starsky20/HFish.git
starsky20
HFish
HFish
master

搜索帮助

14c37bed 8189591 565d56ea 8189591