Merge pull request !5 from HFish/v2.4.0
This commit is contained in:
HFish 2021-06-11 03:56:55 +00:00 committed by Gitee
commit d1cd397f61
17 changed files with 1163 additions and 63 deletions

1
docs

@ -1 +0,0 @@
Subproject commit 71a813cc5f7aebf821296e01e07b5f684de6c27c

30
docs/README.md Normal file
View File

@ -0,0 +1,30 @@
## 什么是 HFish
<img src="https://hfish.cn-bj.ufileos.com/images/image-20210323210202971.png" alt="image-20210323210202971" style="zoom:67%;" />
##
> **`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采用闭源共享方式向所有用户免费授权使用。

19
docs/_coverpage.md Normal file
View File

@ -0,0 +1,19 @@
<!-- _coverpage.md -->
![logo](http://img.threatbook.cn/hfish/logo.png ":size=200x202")
# HFish <sup class="version">2.4</sup>
# 专为诱捕溯源打造的蜜罐 <sup class="version">永久免费</sup>
[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)

12
docs/_sidebar.md Normal file
View File

@ -0,0 +1,12 @@
* 使用手册
- [Server端部署](deploy)
- [节点端部署](node)
- [功能说明](function)
- [功能配置](setting)
* [测试样例](demo)
* [错误排查](debug)
* [总结](summary)
* [版本记录](version_log)

108
docs/config.md Normal file
View File

@ -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天保持您攻击情报时效性的同时节省您的查询次数。
<img src="/Users/water/git/hfish.io/safeset/images/image-20210209191721156.png" alt="image-20210209191721156" style="zoom:50%;" />
- 我们支持对接两种来自微步在线的威胁情报
> 对接微步在线云APIIP信誉接口
关于该接口完整的说明,可以参考[微步在线云API文档](https://x.threatbook.cn/nodev4/vb4/API)
本接口在注册后可以获得每日50条云端情报的查询额度给微步发送扩容邮件后可以提升到每日200条的额度。详情访问[微步在线X社区](https://x.threatbook.cn/nodev4/vb4/article?threatInfoID=3101)。
<img src="/Users/water/git/hfish.io/safeset/images/image-20210209172440082.png" alt="image-20210209172440082" style="zoom:50%;" />
> 对接TIP的本地情报您可以跟据页面的描述进行注册和使用。
使用该接口需要购买微步在线的TIP本地情报系统
<img src="images/image-20210209192626875.png" alt="image-20210209192626875" style="zoom:50%;" />
> 通知功能是蜜罐的核心功能之一
对于蜜罐捕获到的信息跟据您不同的安全运营流程您可能需要把该信息第一时间通知其它的安全设备也可能需要把该信息通知给相关的安全运营人员。OneFish用三种方式满足您的需求。
- Syslog通知
- 邮件通知
- Webhook通知
<img src="/Users/water/git/hfish.io/safeset/images/image-20210209173435065.png" alt="image-20210209173435065" style="zoom:50%;" />
> 用 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
```
<img src="/Users/water/git/hfish.io/safeset/images/image-20210209185036616.png" alt="image-20210209185036616" style="zoom:50%;" />
> 登陆后请及时修改您的密码
<img src="/Users/water/git/hfish.io/safeset/images/image-20210209172137133.png" alt="image-20210209172137133" style="zoom:50%;" />

94
docs/debug.md Normal file
View File

@ -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分钟左右延时。
所以刚刚变更蜜罐服务后,请大家稍微等等。
```

64
docs/demo.md Normal file
View File

@ -0,0 +1,64 @@
### SSH蜜罐
> 在终端里尝试连接蜜罐的ssh端口会显示“Permission denied, please try again.”
<img src="https://hfish.cn-bj.ufileos.com/images/image-20210319113406672.png" alt="image-20210319113406672" style="zoom:50%;" />
> 这时攻击列表会记录下所有测试过的用户名和密码
<img src="https://hfish.cn-bj.ufileos.com/images/image-20210319113330040.png" alt="image-20210319113330040" style="zoom:50%;" />
### FTP蜜罐
> 用FTP终端尝试连接FTP蜜罐端口会在攻击列表中出现FTP蜜罐报警
<img src="https://hfish.cn-bj.ufileos.com/images/image-20210319113309227.png" alt="image-20210319113309227" style="zoom:50%;" />
### HTTP蜜罐
> HTTP蜜罐为http代理蜜罐利用http代理工具连接蜜罐端口
<img src="https://hfish.cn-bj.ufileos.com/images/image-20210319113242516.png" alt="image-20210319113242516" style="zoom:50%;" />
> 攻击列表中的显示信息如下
<img src="https://hfish.cn-bj.ufileos.com/images/image-20210319113211933.png" alt="image-20210319113211933" style="zoom:50%;" />
### TELNET蜜罐
> 利用TELNET应用连接蜜罐端口
<img src="https://hfish.cn-bj.ufileos.com/images/image-20210319113132880.png" alt="image-20210319113132880" style="zoom:50%;" />
> 攻击列表中显示信息如下
<img src="https://hfish.cn-bj.ufileos.com/images/image-20210319113101608.png" alt="image-20210319113101608" style="zoom:50%;" />
### MYSQL蜜罐
> 用MYSQL工具连接蜜罐对应端口
![image-20210311174259758](https://hfish.cn-bj.ufileos.com/images/20210311174259.png)
### WEB蜜罐
WEB蜜罐用浏览器访问相应的端口并尝试输入user name和password后
<img src="https://hfish.cn-bj.ufileos.com/images/image-20210319112136937.png" alt="image-20210319112136937" style="zoom:50%;" />
会提示用户名和密码错误
<img src="https://hfish.cn-bj.ufileos.com/images/image-20210319112522399.png" alt="image-20210319112522399" style="zoom:50%;" />
服务端后台会获取攻击者用于尝试的用户名和密码
<img src="https://hfish.cn-bj.ufileos.com/images/image-20210319112739513.png" alt="image-20210319112739513" style="zoom: 50%;" />

243
docs/deploy.md Normal file
View File

@ -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)
```
<img src="https://hfish.cn-bj.ufileos.com/images/20210607174007.png" alt="image-20210607154624162" style="zoom: 33%;" />
## 部署运行
下载HFish的控制端压缩包包二进制文件无依赖也不需安装下载后可以直接解压运行。
<!-- tabs:start -->
#### ** 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」)」
<!-- tabs:end -->
##

104
docs/download.md Executable file
View File

@ -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文件执行导入。
## 下载安装
请根据自己要部署系统的架构选择「控制端安装包」,如果您需要用不同架构设备进行集群部署,您需要补充相应的「增添服务包」。
<!-- tabs:start -->
#### ** 控制端安装包 **
+ [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、路由器、树莓派等……
<!-- tabs:end -->
## 文件结构
```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登录密码
```

104
docs/function.md Normal file
View File

@ -0,0 +1,104 @@
# 功能说明
### 账号资产
> 用户名密码页面收集了所有被用来攻击的账号密码,可以对企业账号资产有效监控
<img src="https://hfish.cn-bj.ufileos.com/images/image-20210506152344041.png" alt="image-20210506152344041" style="zoom:50%;" />
> 为辅助企业进行内部账号监控,设定高级监测策略,建议输入企业的邮箱、员工姓名、企业名称等信息进行监控,从而随时监控泄漏情况
1.点击界面右上角查看高级监测策略
<img src="https://hfish.cn-bj.ufileos.com/images/image-20210401150526485.png" alt="image-20210401150526485" style="zoom: 50%;" />
2.按照规则要求导入csv文件。
**注意!务必按照提示规则进行写入**
<img src="https://hfish.cn-bj.ufileos.com/images/image-20210506153037454.png" alt="image-20210506153037454" style="zoom:33%;" />
3.页面可查看到所有匹配高级监测策略的数据,从而帮助运维人员精准排查泄漏账号,实现企业账号资产安全防护。
<img src="https://hfish.cn-bj.ufileos.com/images/image-20210506153041469.png" alt="image-20210506153041469" style="zoom:50%;" />
### 主机失陷检测
失陷蜜饵是部署在业务主机上的失陷检测蜜饵。在主机失陷情况下,通过部署虚假的账号、本地证书等失陷蜜饵,诱导攻击者转移攻击目标,并触发失陷告警。
其中,主机蜜饵是一种基于部署虚假的账号密码配置文件,诱导转移攻击者攻击目标的防御手段。
命令在主机运行后,会在本地生成一份虚假的“账号密码备份文件”。 当该主机被攻陷时,攻击者将被诱导,使用文件中的账号信息进行登录。借此,安全人员发现主机失陷情况。
<img src="https://hfish.cn-bj.ufileos.com/images/image-20210506162347469.png" alt="image-20210506162347469" style="zoom:50%;" />
![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从而让蜜罐更符合当前网络结构更好吸引攻击者视线。
<img src="https://hfish.cn-bj.ufileos.com/images/image-20210506155628363.png" alt="image-20210506155628363" style="zoom:50%;" />
### 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服务添加
<img src="https://hfish.cn-bj.ufileos.com/images/image-20210506162036933.png" alt="image-20210506162036933" style="zoom:50%;" />
<img src="https://hfish.cn-bj.ufileos.com/images/image-20210506162100883.png" alt="image-20210506162100883" style="zoom:50%;" />
最后如果您希望微步为您进行规范统一开发请邮件发送给honeypot@threatbook.cn。

79
docs/index.html Normal file
View File

@ -0,0 +1,79 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta name="description" content="Description">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/docsify/lib/themes/vue.css">
<style type="text/css">
.cover-main {
color: #ffffff;
}
.cover-main .anchor span {
color: #ffffff;
}
section.cover.has-mask .mask {
background-color: initial;
opacity: .8;
position: absolute;
top: 0;
height: 100%;
width: 100%;
}
nav {
color: #ffffff;
}
section.cover .cover-main>p:last-child a:last-child:hover {
--theme-color: #ff5656;
}
section.cover .cover-main>p:last-child a:hover {
color: #ff5656;
}
.version {
font-size: 14px;
}
</style>
</head>
<body>
<nav>
<a href="https://hfish.io/new/" target="_bank">首页</a>
<a href="https://hfish.io//new/#/download" target="_bank">下载</a>
<a href="https://github.com/hacklcx/HFish" target="_bank">GitHub</a>
<a href="https://gitee.com/lauix/HFish" target="_bank">Gitee</a>
</nav>
<div id="app"></div>
<script>
window.$docsify = {
name: 'HFish',
loadSidebar: true,
subMaxLevel: 2,
coverpage: true,
themeColor: '#e93636',
search: {
paths: 'auto',
maxAge: 86400000, // 过期时间,单位毫秒,默认一天
placeholder: '请输入搜索内容',
noData: '找不到结果!',
depth: 2
},
// repo: 'https://github.com/hacklcx/HFish',
}
</script>
<script src="//unpkg.com/docsify/lib/docsify.min.js"></script>
<script src="//unpkg.com/docsify/lib/plugins/search.js"></script>
<script src="//unpkg.com/prismjs/components/prism-bash.js"></script>
<script src="https://cdn.jsdelivr.net/npm/docsify-tabs@1"></script>
</body>
</html>

132
docs/node.md Normal file
View File

@ -0,0 +1,132 @@
# 节点端部署
当您在【模板管理】页面添加完需要的蜜罐模板后,您就可以进行【增加节点】的操作了。
> 点击增加节点
<img src="https://hfish.cn-bj.ufileos.com/images/image-20210318190541416.png" alt="image-20210318190541416" style="zoom:50%;" />
> 对要增加的节点进行具体的配置。
当前管理端启动会自带两个默认模版分别对应【研发测试环境】和【通用web环境】。
<img src="https://hfish.cn-bj.ufileos.com/images/image-20210318190641973.png" alt="image-20210318190641973" style="zoom:50%;" />
- 节点名称可以自定义用于您个人管理中识别设备的名称长度不低于6个字符
- 部署位置:可以自定义,用于您个人管理中识别设备的位置
- 节点安装包目前我们支持linux_x86、linux_arm、windows三大平台下的32/64位的设备作为节点您可以选择相应的版本
<img src="https://hfish.cn-bj.ufileos.com/images/image-20210318190656299.png" alt="image-20210318190656299" style="zoom:50%;" />
> 选择配置好之后,我们就会生成一个节点安装包
<img src="https://hfish.cn-bj.ufileos.com/images/image-20210318191631254.png" alt="image-20210318191631254" style="zoom:50%;" />
**值得一提的是由于windows环境的特殊原因并不能支持命令行部署需要关闭掉页面后在节点栏点击下载安装包。**
<img src="https://hfish.cn-bj.ufileos.com/images/image-20210318191736929.png" alt="image-20210318191736929" style="zoom:50%;" />
节点配置:节点配置下拉框中,内容就是用户设置的所有模版。此外,**节点添加以后仍然可以修改模版**。
服务器地址该服务器地址写您的s端地址我们支持内网与云主机。请注意一定要注意您的s端地址书写。**假设c端添加上长期没有流量我们建议您查看一下服务器地址是否正确。**
下面来跟大家一起看一下具体界面
<img src="https://hfish.cn-bj.ufileos.com/images/image-20210318192101619.png" alt="image-20210318192101619" style="zoom:50%;" />
> 搜索框(红色)
搜索节点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种服务。
<img src="https://hfish.cn-bj.ufileos.com/images/image-20210318194212394.png" alt="image-20210318194212394" style="zoom:50%;" />
服务管理分为两个模块:
- 服务搜索与管理模块
该模块可以搜索服务名称,筛选服务类型与筛选监听端口,辅助搜寻服务。
- 服务列表
该模块主要是展示服务名称、被模版引用数、默认监听端口和服务概述。
**其中,默认监听端口可以在模版详情中进行操作修改。**
> 蜜罐模版
在服务之上,我们支持对蜜罐服务的组合,并称之为模版。
在软件初始化阶段,我们会自带两种模版。
<img src="https://hfish.cn-bj.ufileos.com/images/image-20210318194755834.png" alt="image-20210318194755834" style="zoom:50%;" />
另外,可以通过新建模版自由添加
<img src="https://hfish.cn-bj.ufileos.com/images/image-20210318195331781.png" alt="image-20210318195331781" style="zoom:50%;" />
<img src="https://hfish.cn-bj.ufileos.com/images/image-20210318195941660.png" alt="image-20210318195941660" style="zoom:50%;" />

100
docs/setting.md Normal file
View File

@ -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天保持您攻击情报时效性的同时节省您的查询次数。
<img src="https://hfish.cn-bj.ufileos.com/images/image-20210318220204897.png" alt="image-20210318220204897" style="zoom:50%;" />
- 我们支持对接两种来自微步在线的威胁情报
> 对接微步在线云APIIP信誉接口
关于该接口完整的说明,可以参考[微步在线云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本地情报系统
<img src="/Users/maqian/Library/Application%2520Support/typora-user-images/image-20210318221558637.png" alt="image-20210318221558637" style="zoom:50%;" />
> 通知功能是蜜罐的核心功能之一
对于蜜罐捕获到的信息跟据您不同的安全运营流程您可能需要把该信息第一时间通知其它的安全设备也可能需要把该信息通知给相关的安全运营人员。HFish用三种方式满足您的需求。
- Syslog通知
- 邮件通知
- Webhook通知
<img src="https://hfish.cn-bj.ufileos.com/images/image-20210318215610629.png" alt="image-20210318215610629" style="zoom:50%;" />
> 用 Syslog 联动其它安全设备
您可以自定义接受通知设备的地址、协议和端口用来接受OneFish捕获的攻击信息和报警。HFish最多支持5路syslog进行通知。
<img src="https://hfish.cn-bj.ufileos.com/images/image-20210318215642971.png" alt="image-20210318215642971" style="zoom:50%;" />
> 用邮件通知相关安全人员
您可以通过配置相关的邮件服务器信息来接受OneFish的通知和报警。
<img src="https://hfish.cn-bj.ufileos.com/images/image-20210318215718987.png" alt="image-20210318215718987" style="zoom:50%;" />
> 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
```

5
docs/static/version vendored Normal file
View File

@ -0,0 +1,5 @@
{
"version": "0.6.5",
"date": "2020-12-21",
"desc": "1.增加通过微步本地情报设备TIP查询情报数据。\n2.新增威胁情报的本地缓存节省API的查询次数。\n3.新增自动升级功能,以后的更新可以一键升级。\n4.新增用户通过后台页面修改密码。\n5.修复清空系统数据报错的问题。"
}

4
docs/summary.md Normal file
View File

@ -0,0 +1,4 @@
以上就是HFish本次更新的全部内容。
最后希望HFish可以带给大家更好的蜜罐使用体验帮助构建更好的网络生态环境。谢谢大家。

8
docs/version_log.md Normal file
View File

@ -0,0 +1,8 @@
[v 2.3.0] 2021-04-30
在这个版本中我们增加了主机蜜饵功能、web蜜罐自定义功能、「账号资产」页面「攻击来源」页面增加了web 蜜罐对HTTPS的支持。
综上,所有的功能都是希望带给各位更好的体验,如果对产品本身有任何的意见与建议,也希望大家不吝赐教。网安路上,我们继续前行。

119
readme.md
View File

@ -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)
## 微信群
\+ 模板管理
\+ 威胁情报对接
\+ 告警配置
\## 微信群
![HFish官方群的qr](http://img.threatbook.cn/hfish/20210611115258.png)