赞
踩
蜜罐 :技术本质上是一种对攻击方进行欺骗的技术,通过布置一些作为诱饵的主机、网络服务 或者信息,诱使攻击方对它们实施攻击,从而可以对攻击行为进行捕获 和分析,了解攻击方所使用的工具与方法,推测攻击意图和动机,能够让防御方清晰地了解他们所面对的安全威胁,并通过技术和管理手段来增强实际系统的安全防护能力。
HFish是一款社区型免费蜜罐,侧重企业安全场景,从内网失陷检测、外网威胁感知、威胁情报生产三个场景出发,为用户提供可独立操作且实用的功能,通过安全、敏捷、可靠的中低交互蜜罐增加用户在失陷感知和威胁情报领域的能力。
HFish支持基本网络 服务、OA系统、CRM系统、NAS存储系统、Web服务器、运维平台、安全产品、无线AP、交换机/路由器、邮件系统、IoT设备等90多种蜜罐服务、支持用户制作自定义Web蜜罐、支持流量牵引到免费云蜜网、支持可开关的全端口扫描感知能力、支持可自定义的蜜饵配置、一键部署、跨平台多架构,支持Linux x32/x64/ARM、Windows x32/x64平台和多种国产操作系统、支持龙芯、海光、飞腾、鲲鹏、腾云、兆芯等国产CPU、极低的性能要求、邮件/syslog/webhook/企业微信/钉钉/飞书告警等多项特性,帮助用户降低运维成本,提升运营效率。
HFish采用B/S架构
,HFish由管理端(server)
和节点端(client)
组成,管理端用来生成和管理节点端,并接收、分析和展示节点端回传的数据,节点端接受管理端的控制并负责构建蜜罐服务。
节点 | Windows | liunx x86 |
---|---|---|
管理端(Server) | 支持64位 | 支持64位 |
节点端(Client) | 支持64位和32位 | 支持64为和32位 |
在HFish中,管理端只用于数据的分析和展示,节点端进行虚拟蜜罐,最后由蜜罐来承受攻击。
HFish各模块关系图
用户需要先部署管理端,再通过管理端内置蜜罐节点或部署新节点
部署在内网的蜜罐对性能要求较低,针对过往测试情况,给出两个配置。
配置 | 管理端 | 节点端 |
---|---|---|
建议配置 | 2核4g200G | 1核2g50G |
最低配置 | 1核2g100G | 1核1g50G |
注意:日志磁盘占用情况受攻击数量影响很大,建议管理端配置200G以上硬盘空间。
部署在公网的蜜罐因遭受更多攻击,因此会有更大性能需求。默认使用SQLite数据库
配置 | 管理端 | 节点端 |
---|---|---|
建议配置 | 4核8g200G | 1核2g50G |
最低配置 | 2核4g100G | 1核1g50G |
注意:日志磁盘占用情况受攻击数量影响较大,建议管理端配置200G以上硬盘空间。
如果蜜罐节点暴露在互联网,可能会出现TCP连接超过最大1024个连接数限制,导致其他连接被拒绝的情况,可手动放开机器TCP最大连接数。
Linux作为服务器系统,当socket运行高并发TCP程序时,通常会出现连接建立到一定个数后不能再建立连接的情况,本人在工作时,测试高并发tcp程序(GPS服务器端程序),多次测试,发现每次连接建立到1000左右时,再也不能建立tcp连接,最总上网搜索,linux系统默认ulimit为1024个访问用户最多可开启的程序数目。一般一个端口的最高连接为2的16次方65535
HFish默认端口占用4433(用于web界面的访问)和4434(用于节点与管理端通信)
firewall-cmd --add-port=4433/tcp --permanent
firewall-cmd --add-port=4434/tcp --permanent
firewall-cmd --reload
使用shell脚本安装
bash <(curl -sS -L https://hfish.net/webinstall.sh)
登陆链接:https://[ip]:4433/web/
账号:admin
密码:HFish2021
URL中/web/路径不能少
登录后,在「节点管理」页面中可看到管理端服务器上的默认节点,如下图:
如果您的环境无法联网,可以尝试手动安装。
点击 hfish-3.3.4-linux-amd64.tgz安装包 获取安装包,以Linux 64位系统为例
mkdir /home/user/hfish
复制失败成功
将HFish安装文件解压到刚才创建的目录中
tar zxvf hfish-3.3.4-linux-amd64.tgz -C /home/user/hfish
复制失败成功
sudo firewall-cmd --add-port=4433/tcp --permanent
sudo firewall-cmd --add-port=4434/tcp --permanent
sudo firewall-cmd --reload
cd /home/user/hfish
sudo ./install.sh
出于开箱即用考虑,HFish系统默认使用的SQLite数据库,自带的已经初始化好的db具体路径为/usr/share/db/hfish.db
SQLite数据库仅适用于功能预览、小规模内网环境失陷感知等有限场景。
HFish提供两种更换数据库的机会:
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端口,会显示“Permission denied, please try again.”
这时攻击列表会记录下所有测试过的用户名和密码
用FTP终端尝试连接FTP蜜罐端口,会在攻击列表中出现FTP蜜罐报警
HTTP蜜罐为http代理蜜罐,利用http代理工具连接蜜罐端口
攻击列表中的显示信息如下
利用Telnet应用连接蜜罐端口
攻击列表中显示信息如下
用MySQL工具连接蜜罐对应端口,可输入指令。
在管理端,可以看到攻击者的攻击记录以及其本地的etc/group信息
Web蜜罐用浏览器访问相应的端口,并尝试输入【用户名】和【密码】后
会提示用户名和密码错误
服务端后台会获取攻击者用于尝试的用户名和密码
使用Redis客户端远程登录Redis
进入管理端,可以看到攻击详情
通过VNC viewer进行登陆尝试,输入IP和端口
在管理端,可以看到相关攻击记录
通过Telnet(或其他方式)尝试连接MemCache
进入管理端,可以查看攻击详情
通过IP和端口,可以登陆查看ElasticSearch蜜罐
进入管理端,可以看到攻击的请求详情
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。