diff --git a/docs b/docs deleted file mode 160000 index 71a813c..0000000 --- a/docs +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 71a813cc5f7aebf821296e01e07b5f684de6c27c diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 0000000..1ef6395 --- /dev/null +++ b/docs/README.md @@ -0,0 +1,30 @@ +## 什么是 HFish + +image-20210323210202971 + +## + +> **`HFish`** 是一款基于 **`Golang`** 开发的跨平台高交互蜜罐系统 + +HFish承载了全新的架构理念和实现方案,增加了蜜罐在威胁情报和诱捕溯源领域的能力,帮助企业在红蓝对抗中自动化的对攻击者进行画像和追溯。 + +此外,我们将重点关注企业安全场景,从攻击、处置、溯源角度提升产品联通能力。从威胁分析、告警策略与办公管理多方面出发,为企业用户提供更高的可用性与可拓展性。 + +我们深知企业环境特殊性,为了便于快速部署和敏捷管理,HFish提供了一系列方便运维和管理的技术,包括:一键闪电部署、应用模板批量管理、节点服务动态调整等特性…… + +![image-20210506131950692](https://hfish.cn-bj.ufileos.com/images/image-20210506131950692.png) + +## 什么是蜜罐 + +**蜜罐** 技术本质上是一种对攻击方进行 **欺骗的技术**,通过布置一些作为 **诱饵的主机**、**网络服务** 以及 **操作系统**等,诱使攻击方对它们实施攻击,从而可以**捕获攻击行为 **进行 **分析、溯源、反制**等操作。 + +了解攻击方所使用的工具与方法,推测攻击意图和动机,能够让防御方清晰地了解他们所面对的安全威胁,并通过技术和管理手段来增强实际系统的安全防护能力。 + +**蜜罐** 是企业内部私有的 **情报收集系统**。通过对蜜罐本身的设定以及蜜饵的铺洒与运营 **引诱黑客前来攻击**。所以攻击者触碰陷阱时,你就可以知道他是如何得逞的,随时了解针对服务器发动的最新的攻击和漏洞。还可以通过窃听攻击之间的联系,收集黑客所用的种种工具,最终掌握他们的攻击路径与手法,知己知彼。 + +## 我们的故事 + +2019年的8月7日,我们发布了自己的第一款开源蜜罐,在16个月里,在Github上获得2.6k个star,在Gitee上成为安全类目TOP5的GVP项目。 + +2021年2月9日,融合社区反馈和过去2年的思考,我们发布了全新概念的威胁捕捉和诱骗系统 HFish V2,采用闭源共享方式向所有用户免费授权使用。 + diff --git a/docs/_coverpage.md b/docs/_coverpage.md new file mode 100644 index 0000000..954724a --- /dev/null +++ b/docs/_coverpage.md @@ -0,0 +1,19 @@ + + +![logo](http://img.threatbook.cn/hfish/logo.png ":size=200x202") + +# HFish 2.4 + +# 专为诱捕溯源打造的蜜罐 永久免费 + + + + + +[Linux版](https://hfish.io/new/#/deploy?id=%e4%b8%80%e9%94%ae%e5%ae%89%e8%a3%85) +[Windows版](https://hfish.io/new/#/deploy?id=windows%e5%ae%89%e8%a3%85%e8%af%b4%e6%98%8e) +[使用手册](#什么是-hfish) + + + +![](http://img.threatbook.cn/hfish/background.jpg) \ No newline at end of file diff --git a/docs/_sidebar.md b/docs/_sidebar.md new file mode 100644 index 0000000..821e34d --- /dev/null +++ b/docs/_sidebar.md @@ -0,0 +1,12 @@ +* 使用手册 + + - [Server端部署](deploy) + - [节点端部署](node) + - [功能说明](function) + - [功能配置](setting) + +* [测试样例](demo) +* [错误排查](debug) +* [总结](summary) +* [版本记录](version_log) + diff --git a/docs/config.md b/docs/config.md new file mode 100644 index 0000000..4e71bdd --- /dev/null +++ b/docs/config.md @@ -0,0 +1,108 @@ +# 服务端配置 + +OneFish支持您自定义不同的告警策略。您可以为您不同类型的内容,进行不同方式的通知,以及通知给不同的人。 + +- 在您配置告警策略之前,您需要先完成上面的【通知配置】 + + + +> 添加一个新的策略 + +![image-20210318173355287](https://hfish.cn-bj.ufileos.com/images/2021-03-18-093357.png) + +> 对策略进行配置 + +![image-20210209202737224](https://qiniu.cuiqingcai.com/2021-03-18-090743.png) + +> 对接精准的云端的威胁情报后,可以对攻击行为进行更准的研判,帮助我们更科学的进行处置。 + +对接了威胁情报后,当OneFish捕获到了来自外网的攻击行为后,我们可以在攻击列表中了解攻击者的IP情报。OneFish会把您在云端查询到的情报在本地缓存3天,保持您攻击情报时效性的同时,节省您的查询次数。 + +image-20210209191721156 + + + + + +- 我们支持对接两种来自微步在线的威胁情报 + +> 对接微步在线云API(IP信誉接口) + +关于该接口完整的说明,可以参考[微步在线云API文档](https://x.threatbook.cn/nodev4/vb4/API) + +本接口在注册后可以获得每日50条云端情报的查询额度,给微步发送扩容邮件后,可以提升到每日200条的额度。详情访问[微步在线X社区](https://x.threatbook.cn/nodev4/vb4/article?threatInfoID=3101)。 + +image-20210209172440082 + + + +> 对接TIP的本地情报,您可以跟据页面的描述进行注册和使用。 + +使用该接口需要购买微步在线的TIP本地情报系统 + +image-20210209192626875 + + + +> 通知功能是蜜罐的核心功能之一 + +对于蜜罐捕获到的信息,跟据您不同的安全运营流程,您可能需要把该信息第一时间通知其它的安全设备,也可能需要把该信息通知给相关的安全运营人员。OneFish用三种方式满足您的需求。 + +- Syslog通知 +- 邮件通知 +- Webhook通知 + +image-20210209173435065 + +> 用 Syslog 联动其它安全设备 + +您可以自定义接受通知设备的地址、协议和端口,用来接受OneFish捕获的攻击信息和报警。OneFish最多支持3路syslog进行通知。 + + + +> 用邮件通知相关安全人员 + +您可以通过配置相关的邮件服务器信息,来接受OneFish的通知和报警。 + + + +> Webhook通知其它设备/人 + +很多的场景下我们都可以方便的使用webhook联动人或者设备。 + +- 对于当前企业办公中最为流行的3大即时通讯软件企业微信、钉钉、飞书的机器人,我们也做了适配,您在IM中建立一个机器人,把机器人的token复制到OneFish的webhook配置中,就可以第一时间在IM中获取蜜罐捕获的攻击告警了。 +- 三家IM的官方文档如下,您可以对照进行参考 + +```wiki +- 企业微信官方文档 + + 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 +``` + + + + + + + +> 初次登陆账号密码为 + +```wiki +admin / OneFish2021 +``` + +image-20210209185036616 + + + +> 登陆后请及时修改您的密码 + +image-20210209172137133 + diff --git a/docs/debug.md b/docs/debug.md new file mode 100644 index 0000000..40660be --- /dev/null +++ b/docs/debug.md @@ -0,0 +1,94 @@ +### 常见问题排查 + +> 节点红色离线而蜜罐服务却是绿色的启用? + +![](https://hfish.cn-bj.ufileos.com/images/WechatIMG3065.jpg) + + + +解决办法: + +1. 检查节点到管理端的网络连通情况,并等待…… + + ```shell + 节点每90秒连接server的4433端口一次,180秒内连接不上,即显示离线。 + 在刚刚完成部署,或网络不稳定的时候会出现这种情况。 + 这种时候等2~3分钟,如果节点恢复绿色在线,那通常过一会儿,蜜罐服务也会从绿色的启用,变成绿色的在线。 + ``` + +2. 检查管理端防火墙以及ACL策略是否放行了节点对server 4434端口访问的权限 + + ```shell + #可以用wget进行测试 + wget 127.0.0.1:4433 + ``` + +3. 如果确认网络访问正常,节点在server那里始终离线,需要检查节点上的进程运行情况。如果进程运行异常,需要杀死全部关联进程后,重启进程,并记录错误日志。 + + ```shell + #检查./client的进程是否运行正常 + ps aux | grep client + + #检查./service的进程是否运行正常 + ps aux | grep service + ``` + + + +> server部署完成后,web页面始终无法打开 + +解决办法: + +1. 确认server进程的运行情况和4433端口开放情况,如果不正常需要重启server进程,并记录错误日志 + + ```shell + #检查./server的进程是否运行正常 + ps aux | grep server + + #检查端口是否正常开放 + ss -ntpl + + #节点端日志在安装目录下client/logs文件夹内,文件名称为 + client.log + + #蜜罐服务的日志在节点端安装目录下client/service/蜜罐id 文件夹,文件名称为 + 蜜罐id.log + ``` + +2. 检查堡垒机是否开放了对server4433端口的访问 + + + +> 节点在线,部分蜜罐服务在线,部分蜜罐服务离线 + +解决办法: + +1. 确认蜜罐服务进程是否还在运行? + +```shell +#检查./service的进程是否运行正常 +ps aux | grep service + +#如果进程确实挂了,查看服务的日志 +``` + +2. 确认是否端口冲突? + +```shell +这个问题常见默认22端口的SSH服务,刚启动client的时候,服务在线,过了一会儿后服务离线。 +用ss -ntpl检查该蜜罐服务的端口是否被占用? +如果被占用,建议修改该业务的默认端口。 +如果在部署节点前,先安装部署流程运行了node.sh脚本的话,那么原则上22端口应该不会冲突。但是之前在hbyc的客户现场发现,客户系统中默认的ssh端口不是由sshd.service监听的,而是ssh.socket提供的。我的脚本就无效了。 +``` + +> 变更服务模板后,蜜罐新服务访问不到 + +```shell +在OneFish当前的产品结构中,管理端永远不会主动连接节点进行节点配置的变更。 +而是在管理端上,生成一个配置,等待节点来拉取。 +节点每90秒尝试连接管理端一次,获取到变更数据后,还需要从管理端上拉取新的服务,解压服务包并运行。 +运行服务的结果,会在下一个90秒回连时,上报到管理端。 +这个流程最慢的话,可能会有一个3分钟左右延时。 +所以刚刚变更蜜罐服务后,请大家稍微等等。 +``` + diff --git a/docs/demo.md b/docs/demo.md new file mode 100644 index 0000000..b07a61c --- /dev/null +++ b/docs/demo.md @@ -0,0 +1,64 @@ + + +### 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](https://hfish.cn-bj.ufileos.com/images/20210311174259.png) + +### WEB蜜罐 + +WEB蜜罐用浏览器访问相应的端口,并尝试输入user name和password后 + +image-20210319112136937 + +会提示用户名和密码错误 + +image-20210319112522399 + + + +服务端后台会获取攻击者用于尝试的用户名和密码 + +image-20210319112739513 + diff --git a/docs/deploy.md b/docs/deploy.md new file mode 100644 index 0000000..4d82623 --- /dev/null +++ b/docs/deploy.md @@ -0,0 +1,243 @@ +# 控制端部署 + +## linux安装说明 + +到官网 https://hfish.io 下载HFish最新版本安装包 hfish-2.3-linux-amd64.tar.gz ,按如下步骤进行安装 (以linux64位系统为例): + +> 第一步: 在当前目录创建一个路径解压安装包 + +``` +mkdir hfish +``` + +> 第二步:将安装文件包解压到hfish目录下 + +``` +tar zxvf hfish-2.3.0-linux-amd64.tar.gz -C hfish +``` + +> 第三步:请防火墙开启4433或者4434,确认返回success(如果有其他服务需要打开端口,使用相同命令打开。 + +``` +firewall-cmd --add-port=4433/tcp --permanent +firewall-cmd --add-port=4434/tcp --permanent +``` + +> 第四步:进入安装目录直接运行server,或者后台运行 nohup ./server & + +``` +cd hfish +./server +``` + +> 第五步:登陆web界面 + +``` +登陆链接:https:// [ip]:4433/web +账号:admin +密码:HFish2021 +``` + +例:如果您的ip是192.168.1.1,登陆链接为:https://192.168.1.1:4433/web + + + +> 补充服务包 + +服务端自带的Linux-amd64的服务包,如果您有部署其它系统架构节点的需求,请额外下载下面的服务包,并解压到packages目录下。 + +```shell +#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 +``` + +```shell +#下载解压示范,请自行替换链接、文件夹路径和包文件名 +wget http://hfish.cn-bj.ufileos.com/services-windows-amd64.tar.gz +cd packages +tar -xzvf services-windows-amd64.tar.gz +``` + + + +**注意:安装server后不会自动开启服务,需要通过增加节点来运行服务,详情可以看「增加节点」模块。** + +## Windows安装说明 + +> 下载HFish + +​ 访问我们官网的[下载页面](https://hfish.io/download.html),下载最新版的服务端并解压。 + +> 运行文件目录下的server.exe + + + +> 登陆web界面 + +``` +登陆链接:https:// [ip]:4433/web +账号:admin +密码:HFish2021 +``` + +例:如果您的ip是192.168.1.1,登陆链接为:https://192.168.1.1:4433/web + + + +**注意:安装server后不会自动开启服务,需要通过增加节点来运行服务,详情可以看「增加节点」模块。** + + + +## 蜜罐服务说明 + +> 高交互蜜罐和低交互蜜罐 + +接触蜜罐产品中我们经常会听到关于高交互蜜罐和低交互蜜罐,两种蜜罐根据与攻击者的交互程度不同而不同。两种类型的蜜罐在使用场景上有所区别。 + +- 高交互蜜罐 + + 高交互蜜罐可以跟攻击者进行更多的互动,从而收集更多的攻击者行为数据,能为溯源工作提供更多的参考信息。 + + 高交互蜜罐也有自己的局限性,高交互蜜罐通常意味着更高的资源占用,和相应更高的业务风险。 + + + +- 低交互蜜罐 + + 低交互蜜罐通常跟攻击者之间的交互行为要少一些,不过因为蜜罐产品具有“访问既是风险”的特性,只要能够实现访问就报警,就能解决失陷报警的使用场景。 + + 低交互蜜罐的局限性跟高交互蜜罐的局限性恰好相反,低交互蜜罐服务对节点资源的占用更少、业务安全性更高。但因为无法获得更多元的攻击信息,对于溯源工作的帮助不如高交互蜜罐高。 + + + +高交互蜜罐和低交互蜜罐并无好坏差异,根据自己的业务选择更适合自己的方案即可。 + + + +> 目前蜜罐的服务支持4大类,13种不同的蜜罐服务(蜜罐服务还在持续增加),截止本文档发布,OneFish的蜜罐都是低交互蜜罐。 + +1. 常见的Linux服务 + + 包括SSH蜜罐、FTP蜜罐、TFTP蜜罐、TELNET蜜罐、VNC蜜罐、HTTP蜜罐 + +2. 常见Web应用仿真 + + 包括WordPress仿真登陆蜜罐、通用OA系统仿真登录蜜罐 + +3. 常见的数据库服务 + + MYSQL蜜罐、Redis蜜罐、Memcache蜜罐、Elasticsearch蜜罐 + +4. 用户自定义蜜罐 + +## Docker部署 + + + +> 作为新兴的虚拟化方式,Docker以优秀的性能和便捷的部署与维护特性,获得大家的认可。 + +Docker也是我们推荐的蜜罐交付方式。而且因为是虚拟化的原因,合理配置过的Docker网络环境,能获得更高的业务安全性。 + +> Docker镜像的下载 + +```shell +docker pull registry.cn-beijing.aliyuncs.com/threatbook/hfish-amd64 +``` + +> 镜像的运行 + +```shell +docker run -d -p 4433:4433 -p 4434:4434 --name=hfish --restart=always registry.cn-beijing.aliyuncs.com/threatbook/hfish-amd64 +``` + +## 数据库切换MySQL + +HFish系统默认使用的sqlite数据库,具体见 db/hfish.db(自带的已经初始化好的db),相关的初始化脚本见 db/sql/sqlite/V2.3.0__sqlite.sql + +如果您想要重置 hfish.db, 可以通过下面命令生成新的 db 文件(请确保安装了sqlite3数据库)。 替换 db/hfish.db 即可。 + +``` +sqlite3 hfish.db < db/sql/V2.4.0__sqlite.sql +``` + + + +**sqlite数据库无需安装,使用方便,但在遭到大规模攻击,及当前版本升级时候会存在数据丢失的问题。** + +因此,HFis同时**支持mysql**数据库,相关的初始化脚本见 db/sql/mysql/V2.3.0__mysql.sql。 + +如果您想要切换到mysql数据库,可以进行以下操作(请确认已经安装了mysql数据库,推荐5.7及以上版本) + +> 1> 初始化数据库 + +linux环境可以在命令行执行下述命令,然后输入密码(root用户密码)。 + +``` +mysql -u root -p < db/sql/mysql/V2.3.0__mysql.sql +``` + +windows环境可以使用远程连接工具(比如sqlyog等)导入db/sql/V2.3.0__mysql.sql 脚本。 + + + +> 2> 修改config.ini配置文件,数据库的连接方式,主要需要修改type和url,如下: + +``` +[database] +type = mysql +url = root:HFish316@tcp(:3306)/hfish?charset=utf8&parseTime=true&loc=Local + +# type = sqlite3 +# url = ./db/hfish.db?cache=shared&mode=rwc +``` + +## 一键安装 + +如果您部署的环境为Linux,且可以访问互联网。我们为您准备了一键部署脚本进行安装和配置,请用root用户,运行下面的脚本。 + +``` +bash <(curl -sS -L https://hfish.io/install) +``` + +image-20210607154624162 + +## 部署运行 + +下载HFish的控制端压缩包包,二进制文件无依赖,也不需安装,下载后可以直接解压运行。 + + + +#### ** Windows ** + +下载解压得到 `server.exe` 文件,运行 + +> 用浏览器访问控制台web页面 + +```wiki +登陆链接:https:// [ip]:4433/web +账号:admin +密码:HFish2021 + +例:如果您的ip是192.168.1.1,登陆链接为:https://192.168.1.1:4433/web +``` + +!> 注意:安装server后不会自动开启服务,需要通过增加节点来运行服务,详情可以看「[增加节点](https://hfish.io/docs/#/manage/add)」模块。 + +#### ** Linux ** + +Linux系统的部署配置,详见「[Linux主机部署](「https://hfish.io/docs/#/deploy/linux」)」 + + + + + +## \ No newline at end of file diff --git a/docs/download.md b/docs/download.md new file mode 100755 index 0000000..94c855b --- /dev/null +++ b/docs/download.md @@ -0,0 +1,104 @@ +# 下载 + +### HFish v2.3.0 + +```wiki +2021年4月30日发布 + +1. 新增主机蜜饵功能,其可将仿真的账号配置文件,作为蜜饵分发到主机,通过高仿真的假配置文件,诱导攻击者攻击蜜罐,触发内网失陷警告,精准溯源失陷主机。 + +2. 新增web蜜罐上传功能,可根据指导文档,自主开发web蜜罐,在服务页面上传,即可运行使用。 + +3. 新增「账号资产」页面,内覆盖所有被攻击时使用的用户名密码。其中,页面支持对企业关键字进行监测,可以导入企业名字和员工姓名,实时查询是否有对应信息被攻击者尝试,一旦发现,说明该攻击风险较高。 + +4. 新增攻击者IP陈列,辅助用户进行高级溯源。 + +5. 新增本地升级功能,可点击升级按钮,选择本地上传升级包升级。 + +6. web蜜罐增加对HTTPS的支持,可在模版页面进行操作修改。 + +7. 新增web蜜罐访问记录,支持记录子目录与url扫描访问请求。 + +8. 新增web蜜罐预览功能,支持预览web蜜罐详情界面,帮助进行模版组合。 +``` + + + +!> 注意:如果当前使用sqlite数据库的话,升级时,hfish.db文件将会被覆盖,导致之前的攻击记录丢失,请注意进行备份。如果要将之前的db文件导入当前版本时,请参考mysql.sql的语句修改db文件,执行导入。 + + + +## 下载安装 + +请根据自己要部署系统的架构选择「控制端安装包」,如果您需要用不同架构设备进行集群部署,您需要补充相应的「增添服务包」。 + + + +#### ** 控制端安装包 ** + ++ [HFish-Linux-amd64](http://hfish.cn-bj.ufileos.com/hfish-linux-amd64.tar.gz) 为 Linux x86架构64位系统使用 ++ [HFish-Linux-386](http://hfish.cn-bj.ufileos.com/hfish-linux-386.tar.gz) 为 Linux x86架构32位系统使用 ++ [HFish-Windows-amd64](http://hfish.cn-bj.ufileos.com/hfish-windows-amd64.tar.gz) 为 Windows x86架构64位系统使用 ++ [HFish-Windows-386](http://hfish.cn-bj.ufileos.com/hfish-windows-386.tar.gz)* 为 Windows x86架构32位系统使用 ++ [HFish-Linux-arm64](http://hfish.cn-bj.ufileos.com/hfish-windows-arm64.tar.gz) 为 Linux Arm架构64位系统使用,常见于NAS、路由器、树莓派等…… + + + +#### ** 增添服务包 ** + +请把增添的服务包下载到控制端文件目录下 `packages`目录下. + ++ [Services-Linux-amd64](http://hfish.cn-bj.ufileos.com/services-linux-amd64.tar.gz) 为 Linux x86架构64位系统使用 ++ [Services-Linux-386](http://hfish.cn-bj.ufileos.com/services-linux-386.tar.gz) 为 Linux x86架构32位系统使用 ++ [Services-Windows-amd64](http://hfish.cn-bj.ufileos.com/services-windows-amd64.tar.gz) 为 Windows x86架构64位系统使用 ++ [Services-Windows-386](http://hfish.cn-bj.ufileos.com/services-windows-386.tar.gz)为 Windows x86架构32位系统使用 ++ [Services-Linux-arm64](http://hfish.cn-bj.ufileos.com/services-linux-arm64.tar.gz) 为 Linux Arm架构64位系统使用,常见于NAS、路由器、树莓派等…… + + + + + +## 文件结构 + +```wiki +HFish +│ server #控制端文件 +│ config.ini #控制端配置文件 +│ README.md #安装使用说明 +│ version #版本信息 +│ ssl.key #SSL私钥 +│ ssl.pem #SSL证书 +│ +└───db +│ │ hfish.db #sqlite数据 +│ │ ipip.ipdb #ip归属地信息 +│ │ +│ └───sql +│ └───mysql +│ │ V2.3.0__mysql.sql #mysql数据库用户升级文件 +│ │ +│ └───sqlite +│ │ V2.3.0__sqlite.sql #sqlite数据库用户升级文件 +│ +└───logs +│ │ server-年-月-日.log #server日志文件 +│ +└───packages +│ │ install.sh #节点部署时安装脚本 +│ │ node_account.conf #蜜饵源文件 +│ │ +│ └───linux-amd64 #Linux 64位服务包 +│ │ client +│ │ service-*.tar.gz +│ +└───static #web服务预览图 +│ └───services +│ │ …… +│ +└───web #控制台web文件 +│ │ …… +│ +└───tools + │ tools #控制台工具,目前功能为重置控制台web登录密码 +``` + diff --git a/docs/function.md b/docs/function.md new file mode 100644 index 0000000..8c40bd7 --- /dev/null +++ b/docs/function.md @@ -0,0 +1,104 @@ +# 功能说明 + +### 账号资产 + +> 用户名密码页面收集了所有被用来攻击的账号密码,可以对企业账号资产有效监控 + +image-20210506152344041 + +> 为辅助企业进行内部账号监控,设定高级监测策略,建议输入企业的邮箱、员工姓名、企业名称等信息进行监控,从而随时监控泄漏情况 + +1.点击界面右上角查看高级监测策略 + +image-20210401150526485 + +2.按照规则要求,导入csv文件。 + +**注意!务必按照提示规则进行写入** + +image-20210506153037454 + +3.页面可查看到所有匹配高级监测策略的数据,从而帮助运维人员精准排查泄漏账号,实现企业账号资产安全防护。 + +image-20210506153041469 + +### 主机失陷检测 + +失陷蜜饵是部署在业务主机上的失陷检测蜜饵。在主机失陷情况下,通过部署虚假的账号、本地证书等失陷蜜饵,诱导攻击者转移攻击目标,并触发失陷告警。 + +其中,主机蜜饵是一种基于部署虚假的账号密码配置文件,诱导转移攻击者攻击目标的防御手段。 + +命令在主机运行后,会在本地生成一份虚假的“账号密码备份文件”。 当该主机被攻陷时,攻击者将被诱导,使用文件中的账号信息进行登录。借此,安全人员发现主机失陷情况。 + +image-20210506162347469 + + + +![image-20210506162447618](https://hfish.cn-bj.ufileos.com/images/image-20210506162447618.png) + + + +### 恶意IP + +> 恶意IP页面将监控所有攻击IP的相关信息,包括微步情报及企业自定义情报。 +> +> 另外,所有的溯源信息,最终都会呈现在恶意IP页面,并成为企业的私有情报库。 + + + +![image-20210506150145273](https://hfish.cn-bj.ufileos.com/images/image-20210506150145273.png) + +### 自定义蜜罐传输协议 + +针对Web应用仿真、网络设备服务、安全设备服务以及IOT服务,可以根据自身业务场景和网络情况,选择其具体的传输协议(HTTP或者HTTPS),从而让蜜罐更符合当前网络结构,更好吸引攻击者视线。 + +image-20210506155628363 + +### WEB蜜罐自定义开发 + +为了方便企业的定制业务,管理段提供了上传自定义web服务的内容,可根据微步在线的开发规范和原则,自己对web界面进行开发,修改,并上传,使其成为真正的蜜罐服务。 + +> 1.web蜜罐文件所在目录 + +```shell +- index.html +在节点client安装目录./services/service_id/root 下面 + +- 其它格式的文件 +在节点client安装目录./services/service_id/root下的所有目录都可以自行定义、上传文件,用户可以在不同目录下面上传自己的样式文件和图片。 +``` + +> 2.修改页面元素 + +根据index.html文件中的信息,替换和修改相关的文件。 + +> 3.制作全新的登陆页面 + +我们可以自己制作一个全新的登陆页面,通过替换表单元素实现“定制开发” + +```shell +- 删除client安装目录./services/service_id/root下所有文件后,自行上传编辑完成的html页面和相关文件 + +- 修改主页文件名为index.html + +- 按照下面图片的要求,修改表单元素。 +``` + +![蜜罐web页面表哥元素](https://hfish.cn-bj.ufileos.com/images/20210406150240.png) + + + +> 4.将修改完成的服务包进行上传,完成web服务添加 + +image-20210506162036933 + + + +image-20210506162100883 + + + + + +最后,如果您希望微步为您进行规范统一开发,请邮件发送给honeypot@threatbook.cn。 + diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 0000000..380f221 --- /dev/null +++ b/docs/index.html @@ -0,0 +1,79 @@ + + + + + + Document + + + + + + + + + +
+ + + + + + + + \ No newline at end of file diff --git a/docs/node.md b/docs/node.md new file mode 100644 index 0000000..85fd325 --- /dev/null +++ b/docs/node.md @@ -0,0 +1,132 @@ +# 节点端部署 + +当您在【模板管理】页面添加完需要的蜜罐模板后,您就可以进行【增加节点】的操作了。 + +> 点击增加节点 + +image-20210318190541416 + + + +> 对要增加的节点进行具体的配置。 + +当前,管理端启动会自带两个默认模版,分别对应【研发测试环境】和【通用web环境】。 + +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](https://hfish.cn-bj.ufileos.com/images/image-20210318192240339.png) + + + + + +**注意事项** + +```shell +1. 建议节点是全新的主机环境,除了节点的服务外不要运行其他的任何程序或开放相应的端口。 +2. 建议在安装前修改默认的ssh端口,因为ssh蜜罐服务的端口是22,不修改端口的情况下部署ssh蜜罐,会让该蜜罐无法正常启动。 +3. 节点的联通性测试结束,正式使用前,记得配置相应的安全策略。SSH 端口,只能被安全区的设备访问。蜜罐服务端口应该对所有网段开放。非蜜罐服务端口应该结束相关进程或调整 iptables&firewalld 规则限制访问。 +``` + +下面是环境管理的使用方式。 + + + +首先要解释的是,在OneFish中,为了蜜罐更好的可拓展性,我们将蜜罐的层次分为三类 + +> 蜜罐服务 + +蜜罐的最基础元素是服务,截止到2021.5.6日更新,目前提供 MYSQL、SSH、FTP、Elasticsearch、REDIS、通用OA系统、WordPress、HTTP、VNC、Telnet、MEMCACHE、TFTP、CUSTOM 共13种服务。 + +image-20210318194212394 + + + +服务管理分为两个模块: + +- 服务搜索与管理模块 + +该模块可以搜索服务名称,筛选服务类型与筛选监听端口,辅助搜寻服务。 + +- 服务列表 + +该模块主要是展示服务名称、被模版引用数、默认监听端口和服务概述。 + +**其中,默认监听端口可以在模版详情中进行操作修改。** + + + + + +> 蜜罐模版 + +在服务之上,我们支持对蜜罐服务的组合,并称之为模版。 + +在软件初始化阶段,我们会自带两种模版。 + +image-20210318194755834 + + + +另外,可以通过新建模版自由添加 + +image-20210318195331781 + + + +image-20210318195941660 + + + + + + + + + diff --git a/docs/setting.md b/docs/setting.md new file mode 100644 index 0000000..4f7f5c8 --- /dev/null +++ b/docs/setting.md @@ -0,0 +1,100 @@ +# 服务端配置 + +### 告警策略 + + + +> 添加一个新的策略 + +![image-20210318173355287](https://hfish.cn-bj.ufileos.com/images/2021-03-18-093357.png) + + + +> 对策略进行配置 + +![image-20210209202737224](https://qiniu.cuiqingcai.com/2021-03-18-090743.png) + + + +> 通知当前分为威胁告警和系统通知两种类型 + +威胁告警是系统感知攻击时的告警;系统通知是系统自身运行状态的告警。 + + + +> 在设置通知方式前,您应该先完成了前边的通知配置 + +如果您完成了通知配置,那么这里三种不同的通知方式中就会出现您之前的配置,勾选即可。 + +> 对接精准的云端的威胁情报后,可以对攻击行为进行更准的研判,帮助我们更科学的进行处置。 + +对接了威胁情报后,当HFish捕获到了来自外网的攻击行为后,我们可以在攻击列表中了解攻击者的IP情报。HFish会把您在云端查询到的情报在本地缓存7天,保持您攻击情报时效性的同时,节省您的查询次数。 + +image-20210318220204897 + + + +- 我们支持对接两种来自微步在线的威胁情报 + +> 对接微步在线云API(IP信誉接口) + +关于该接口完整的说明,可以参考[微步在线云API文档](https://x.threatbook.cn/nodev4/vb4/API) + +本接口在注册后可以获得每日50条云端情报的查询额度,给微步发送扩容邮件后,可以提升到每日200条的额度。详情访问[微步在线X社区](https://x.threatbook.cn/nodev4/vb4/article?threatInfoID=3101)。 + +如果有企业化需求,可以邮件 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的官方文档如下,您可以对照进行参考 + +```wiki +- 企业微信官方文档 + + 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 +``` + + + + + diff --git a/docs/static/version b/docs/static/version new file mode 100644 index 0000000..32ed9db --- /dev/null +++ b/docs/static/version @@ -0,0 +1,5 @@ +{ + "version": "0.6.5", + "date": "2020-12-21", + "desc": "1.增加通过微步本地情报设备(TIP)查询情报数据。\n2.新增威胁情报的本地缓存,节省API的查询次数。\n3.新增自动升级功能,以后的更新可以一键升级。\n4.新增用户通过后台页面修改密码。\n5.修复清空系统数据报错的问题。" +} diff --git a/docs/summary.md b/docs/summary.md new file mode 100644 index 0000000..36b5a88 --- /dev/null +++ b/docs/summary.md @@ -0,0 +1,4 @@ +以上就是HFish本次更新的全部内容。 + +最后,希望HFish可以带给大家更好的蜜罐使用体验,帮助构建更好的网络生态环境。谢谢大家。 + diff --git a/docs/version_log.md b/docs/version_log.md new file mode 100644 index 0000000..4ddae38 --- /dev/null +++ b/docs/version_log.md @@ -0,0 +1,8 @@ + + +[v 2.3.0] 2021-04-30 + +在这个版本中,我们增加了主机蜜饵功能、web蜜罐自定义功能、「账号资产」页面,「攻击来源」页面,增加了web 蜜罐对HTTPS的支持。 + +综上,所有的功能都是希望带给各位更好的体验,如果对产品本身有任何的意见与建议,也希望大家不吝赐教。网安路上,我们继续前行。 + diff --git a/readme.md b/readme.md index 77ebb37..578ae15 100644 --- a/readme.md +++ b/readme.md @@ -1,24 +1,21 @@ -\#HFish +# HFish HFish是一款安全、简单可信赖的跨平台蜜罐软件,允许商业和个人用户免费使用。 +## 特点 ++ 安全可靠:主打低中交互蜜罐,简单有效; -\## 特点 ++ 蜜罐丰富:支持SSH、FTP、TFTP、MySQL、Redis、MySQL、Telnet、VNC、Gitlab、Exchange、Memcache、Elasticsearch、打印机、视像头、交换机、Wordpress、OA系统等20多种蜜罐服务,支持用户制作自定义Web蜜罐; -\+ 安全可靠:主打低中交互蜜罐,简单有效; ++ 开放透明:支持对接微步在线X社区API、五路syslog输出、支持邮件、钉钉、企业威胁、飞书、自定义WebHook告警输出; ++ + 快捷管理:支持单个安装包批量部署,支持批量修改端口和服务; -\+ 蜜罐丰富:支持SSH、FTP、TFTP、MySQL、Redis、MySQL、Telnet、VNC、Gitlab、Exchange、Memcache、Elasticsearch、打印机、视像头、交换机、Wordpress、OA系统等20多种蜜罐服务,支持用户制作自定义Web蜜罐; - -\+ 开放透明:支持对接微步在线X社区API、五路syslog输出、支持邮件、钉钉、企业威胁、飞书、自定义WebHook告警输出; - -\+ 快捷管理:支持单个安装包批量部署,支持批量修改端口和服务; - -\+ 跨平台:支持Linux x32/x64/ARM、Windows x32/x64平台; ++ 跨平台:支持Linux x32/x64/ARM、Windows x32/x64平台; -\## 链接 +## 链接 [官方网站](https://hfish.io/):更多使用蜜罐、使用场景和玩法详见官网 @@ -26,25 +23,25 @@ HFish是一款安全、简单可信赖的跨平台蜜罐软件,允许商业和 -\## 架构 +## 架构 HFish由控制端和节点端组成,控制端用来生成和管理节点端,并接收、分析和展示节点端回传的数据,节点端接受控制端的控制并负责构建蜜罐服务。 -\## 注意 +## 注意 -\+ Linux 安装无需root权限,但是会导致无法监听低于TCP/1024以下端口 ++ Linux 安装无需root权限,但是会导致无法监听低于TCP/1024以下端口 -\+ 控制端使用 TCP/4433 和 TCP/4434 端口,节点端监听端口根据模拟的服务不同而不同 ++ 控制端使用 TCP/4433 和 TCP/4434 端口,节点端监听端口根据模拟的服务不同而不同 -\+ 节点端需要可访问控制端的 TCP/4434 端口,控制端不会主动访问节点端 ++ 节点端需要可访问控制端的 TCP/4434 端口,控制端不会主动访问节点端 -\+ 控制端默认用户名/密码:**`admin / HFish2021`** ++ 控制端默认用户名/密码:**`admin / HFish2021`** -\## 部署控制端 +## 部署控制端 先部署控制端,再通过控制端的Web页面配置节点端,安装包仅包含控制端和节点端,蜜罐服务包需要部署控制端后从 **`服务管理**` 页面联网下载或离线上传 @@ -52,10 +49,9 @@ HFish由控制端和节点端组成,控制端用来生成和管理节点端, 可联网环境:如果用户的环境允许联网,建议使用以下快速部署步骤: -\+ Linux x64 环境: - -- \* 在shell中运行命令:**`sh | curl https://hfish.io/install.sh`** -- 请转到下面的配置段落继续阅读 ++ Linux x64 环境: + + 在shell中运行命令:**`sh | curl https://hfish.io/install.sh`** + + 请转到下面的配置段落继续阅读 @@ -69,71 +65,70 @@ HFish由控制端和节点端组成,控制端用来生成和管理节点端, 离线部署:如果用户为隔离网络环境,请使用以下部署方式 -\+ Linux x64 环境: - -- 下载控制端安装包:从Github https://github.com/hacklcx/HFish/releases 或码云 https://gitee.com/lauix/HFish 下载最新安装包 -- 解压缩安装包:**`tar zxvf ./hfish-*-linux-*.tar.gz -C hfish`** -- 进入安装目录:**`cd hfish`** -- 启动控制端:**`nohup ./server &`** -- 请转到下面的【配置控制端】段落继续阅读 ++ Linux x64 环境: + + 下载控制端安装包:从Github https://github.com/hacklcx/HFish/releases 或码云 https://gitee.com/lauix/HFish 下载最新安装包 + + 解压缩安装包:**`tar zxvf ./hfish-*-linux-*.tar.gz -C hfish`** + + 进入安装目录:**`cd hfish`** + + 启动控制端:**`nohup ./server &`** + + 请转到下面的【配置控制端】段落继续阅读 -\## 配置控制端 +## 配置控制端 新部署的控制端需要没有任何蜜罐服务,必须新增服务和节点,控制端和节点端可以部署在同一台机器上。 -\+ 新增服务 - -- 浏览器中输入 **`https://`**,登录控制端 -- 进入 **`服务管理**` 页面 -- 如果当前控制端可联网,点击服务表格右侧的下载按钮,并等待服务下载完成 -- 如果当前控制端不可联网,点击右上角 **`新增服务`** 按钮,上传服务包,服务包下载地址: **`https://hfish.io/services.html`** ++ 新增服务 + + 浏览器中输入 **`https://`**,登录控制端 + + 进入 **`服务管理**` 页面 + + 如果当前控制端可联网,点击服务表格右侧的下载按钮,并等待服务下载完成 + + 如果当前控制端不可联网,点击右上角 **`新增服务`** 按钮,上传服务包,服务包下载地址: **`https://hfish.io/services.html`** -\+ 新增节点 - -- 浏览器中输入 **`https://`**,登录控制端 -- 进入 **`节点管理`** 页面,点击右上角新增节点按钮,根据节点操作系统和CPU架构动态创建安装包 -- Linux可以选择命令安装或下载节点程序运行,Windows只能选择下载节点程序运行 ++ 新增节点 + + 浏览器中输入 **`https://`**,登录控制端 + + 进入 **`节点管理`** 页面,点击右上角新增节点按钮,根据节点操作系统和CPU架构动态创建安装包 + + Linux可以选择命令安装或下载节点程序运行,Windows只能选择下载节点程序运行 -\## 效果图 +## 效果图 -\+ 攻击详情:记录所有对蜜罐的访问请求,包括正常请求、攻击行为、暴力破解 ++ 攻击详情:记录所有对蜜罐的访问请求,包括正常请求、攻击行为、暴力破解 + +![image2021-6-7_13-57-19](http://img.threatbook.cn/hfish/20210611114902.png) ++ 扫描详情:记录对所有节点主机的UDP和SYN扫描 +![image2021-6-7_17-18-11](http://img.threatbook.cn/hfish/20210611114934.png) -\+ 扫描详情:记录对所有节点主机的UDP和SYN扫描 ++ 蜜饵管理 + +![image2021-6-7_19-6-21](http://img.threatbook.cn/hfish/20210611115053.png) + ++ 节点信息 + +![image2021-6-7_18-0-36](http://img.threatbook.cn/hfish/20210611115118.png) + ++ 模板管理 + +![image2021-6-7_18-56-55](http://img.threatbook.cn/hfish/20210611115140.png) -\+ 蜜饵管理 ++ 威胁情报对接 +![image2021-6-7_19-0-11](http://img.threatbook.cn/hfish/20210611115158.png) ++ 告警配置 -\+ 节点信息 +![image2021-6-7_19-4-10](http://img.threatbook.cn/hfish/20210611115224.png) +## 微信群 - -\+ 模板管理 - - - - - -\+ 威胁情报对接 - - - -\+ 告警配置 - - - -\## 微信群 \ No newline at end of file +![HFish官方群的qr](http://img.threatbook.cn/hfish/20210611115258.png) \ No newline at end of file