当前位置:   article > 正文

蜜罐HFish的使用介绍

蜜罐HFish的使用介绍

名词解释

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

什么是HFish?

HFish是一款社区型免费蜜罐,侧重企业安全场景,从内网失陷检测、外网威胁感知、威胁情报生产三个场景出发,为用户提供可独立操作且实用的功能,通过安全、敏捷、可靠的中低交互蜜罐增加用户在失陷感知和威胁情报领域的能力。

HFish支持基本网络 服务、OA系统、CRM系统、NAS存储系统、Web服务器、运维平台、安全产品、无线AP、交换机/路由器、邮件系统、IoT设备等90多种蜜罐服务、支持用户制作自定义Web蜜罐、支持流量牵引到免费云蜜网、支持可开关的全端口扫描感知能力、支持可自定义的蜜饵配置、一键部署、跨平台多架构,支持Linux x32/x64/ARM、Windows x32/x64平台和多种国产操作系统、支持龙芯、海光、飞腾、鲲鹏、腾云、兆芯等国产CPU、极低的性能要求、邮件/syslog/webhook/企业微信/钉钉/飞书告警等多项特性,帮助用户降低运维成本,提升运营效率。

HFish架构

HFish采用B/S架构,HFish由管理端(server)节点端(client)组成,管理端用来生成和管理节点端,并接收、分析和展示节点端回传的数据,节点端接受管理端的控制并负责构建蜜罐服务。

节点Windowsliunx x86
管理端(Server)支持64位支持64位
节点端(Client)支持64位和32位支持64为和32位

在HFish中,管理端只用于数据的分析和展示,节点端进行虚拟蜜罐,最后由蜜罐来承受攻击。

HFish各模块关系图

在这里插入图片描述

部署

用户需要先部署管理端,再通过管理端内置蜜罐节点或部署新节点

配置要求

HFish部署在内网所需配置

部署在内网的蜜罐对性能要求较低,针对过往测试情况,给出两个配置。

配置管理端节点端
建议配置2核4g200G1核2g50G
最低配置1核2g100G1核1g50G

注意:日志磁盘占用情况受攻击数量影响很大,建议管理端配置200G以上硬盘空间。

HFish部署在外网所需配置(必须更换MySQL数据库)

部署在公网的蜜罐因遭受更多攻击,因此会有更大性能需求。默认使用SQLite数据库

配置管理端节点端
建议配置4核8g200G1核2g50G
最低配置2核4g100G1核1g50G

注意:日志磁盘占用情况受攻击数量影响较大,建议管理端配置200G以上硬盘空间。

HFish部署权限要求
  • 1、如果使用官网推荐的install.sh脚本安装,必须具备root权限,安装目录会位于opt目录下;
  • 2、如果下载安装包手动安装,在默认使用SQLite数据库情况下,管理端的部署和使用不需要root权限,但如果后续需要替换SQLite改为MySQL数据,则MySQL安装和配置需要root权限;
  • 3、节点端安装和运行无需root权限,但是由于操作系统限制,非root权限运行的节点无法监听低于TCP/1024的端口;

Linux联网环境,一键安装

如果蜜罐节点暴露在互联网,可能会出现TCP连接超过最大1024个连接数限制,导致其他连接被拒绝的情况,可手动放开机器TCP最大连接数。

Linux作为服务器系统,当socket运行高并发TCP程序时,通常会出现连接建立到一定个数后不能再建立连接的情况,本人在工作时,测试高并发tcp程序(GPS服务器端程序),多次测试,发现每次连接建立到1000左右时,再也不能建立tcp连接,最总上网搜索,linux系统默认ulimit为1024个访问用户最多可开启的程序数目。一般一个端口的最高连接为2的16次方65535

解决Linux下解决高并发socket最大连接数限制

1、以root权限运行以下命令,确保配置防火墙开启TCP/4433、TCP/4434

HFish默认端口占用4433(用于web界面的访问)和4434(用于节点与管理端通信)

firewall-cmd --add-port=4433/tcp --permanent   
firewall-cmd --add-port=4434/tcp --permanent   
firewall-cmd --reload
  • 1
  • 2
  • 3
2、以root权限运行以下一键部署命令

使用shell脚本安装

bash <(curl -sS -L https://hfish.net/webinstall.sh)
  • 1

在这里插入图片描述

3、完成安装后,通过以下网址、账号密码登录

登陆链接:https://[ip]:4433/web/
账号:admin
密码:HFish2021
URL中/web/路径不能少

4、安装完成

登录后,在「节点管理」页面中可看到管理端服务器上的默认节点,如下图:
在这里插入图片描述

Linux无法联网,手动安装

如果您的环境无法联网,可以尝试手动安装。

下载安装包:

点击 hfish-3.3.4-linux-amd64.tgz安装包 获取安装包,以Linux 64位系统为例

创建一个目录用于后续存放解压缩文件
mkdir /home/user/hfish
  • 1

复制失败成功
将HFish安装文件解压到刚才创建的目录中

tar zxvf hfish-3.3.4-linux-amd64.tgz -C /home/user/hfish
  • 1

复制失败成功

以root权限运行以下命令,确保配置防火墙开启TCP/4433、TCP/4434
sudo firewall-cmd --add-port=4433/tcp --permanent   
sudo firewall-cmd --add-port=4434/tcp --permanent   
sudo firewall-cmd --reload
  • 1
  • 2
  • 3
进入安装目录直接运行install.sh
cd /home/user/hfish
sudo ./install.sh
  • 1
  • 2
登陆web界面

数据库选择

出于开箱即用考虑,HFish系统默认使用的SQLite数据库,自带的已经初始化好的db具体路径为/usr/share/db/hfish.db

SQLite数据库仅适用于功能预览、小规模内网环境失陷感知等有限场景。

SQLite更换为MySQL/MariaDB数据库

HFish提供两种更换数据库的机会:

  • 1、在首次安装时,用户可以选择使用SQLite或MySQL/MariaDB数据库
  • 2、如果已经选择了SQLite,以管理员身份登录后,在「数据库配置」页面,根据指南可快速更换数据库

在这里插入图片描述

版本升级

HFish v2.7.0(含)及后续版本支持Web页面自动升级,如果版本低于v2.7.0,请卸载重新部署。

联网情况

HFish v2.7.0(含)及后续版本中,HFish会自动检测到升级包,用户点击右上角火箭,点击「确认升级」,即可完成升级。

非联网情况

HFish v2.7.0(含)及后续版本中,用户点击右上角火箭,点击「上传安装包」,点击「确认升级」,即可完成升级。
在这里插入图片描述

节点管理

内置节点

安装HFish管理端后,在管理端所在机器上会默认建立节点感知攻击,该节点被命名为【内置节点】。
在这里插入图片描述
该节点将默认开启部分服务,包括FTP、SSH、Telnet、Zabbix监控系统、Nginx蜜罐、MySQL蜜罐、Redis蜜罐、HTTP代理蜜罐、ElasticSearch蜜罐和通用TCP端口监听。

注意:该节点不能被删除,但可以暂停。

新增节点

1、进入【节点管理】页面,点击【增加节点】
在这里插入图片描述
2、根据节点设备类型选择对应的安装包和回连地址
在这里插入图片描述
3、回连地址设置
在这里插入图片描述
HFish会自动获取当前服务器IP地址,但是例如在云环境,有时候获取的是内网地址,用户需要确保该回连地址和端口确实可以被所有节点联通。
在这里插入图片描述

在节点机器执行命令语句或安装包,即可成功部署节点。

测试样式

SSH蜜罐

在终端里,尝试连接蜜罐的ssh端口,会显示“Permission denied, please try again.”
在这里插入图片描述
这时攻击列表会记录下所有测试过的用户名和密码
在这里插入图片描述

FTP蜜罐

用FTP终端尝试连接FTP蜜罐端口,会在攻击列表中出现FTP蜜罐报警
在这里插入图片描述

HTTP蜜罐

HTTP蜜罐为http代理蜜罐,利用http代理工具连接蜜罐端口
在这里插入图片描述
攻击列表中的显示信息如下
在这里插入图片描述

Telnet蜜罐

利用Telnet应用连接蜜罐端口
在这里插入图片描述
攻击列表中显示信息如下
在这里插入图片描述

MySQL蜜罐

用MySQL工具连接蜜罐对应端口,可输入指令。
在这里插入图片描述
在管理端,可以看到攻击者的攻击记录以及其本地的etc/group信息
在这里插入图片描述

Web蜜罐

Web蜜罐用浏览器访问相应的端口,并尝试输入【用户名】和【密码】后
在这里插入图片描述
会提示用户名和密码错误
在这里插入图片描述
服务端后台会获取攻击者用于尝试的用户名和密码
在这里插入图片描述

Redis蜜罐

使用Redis客户端远程登录Redis
在这里插入图片描述
进入管理端,可以看到攻击详情
在这里插入图片描述

VNC蜜罐

通过VNC viewer进行登陆尝试,输入IP和端口
在这里插入图片描述
在管理端,可以看到相关攻击记录
在这里插入图片描述

MemCache蜜罐

通过Telnet(或其他方式)尝试连接MemCache
在这里插入图片描述
进入管理端,可以查看攻击详情
在这里插入图片描述

ElasticSearch蜜罐

通过IP和端口,可以登陆查看ElasticSearch蜜罐
在这里插入图片描述
进入管理端,可以看到攻击的请求详情
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/201525
推荐阅读
相关标签
  

闽ICP备14008679号