蜜罐 | HFish介绍

官方帮助文档:https://hfish.io/#/README

1 快速了解HFish蜜罐

image-20220531102913945

HFish是一款社区型免费的中低交互蜜罐,侧重企业安全场景:

  • 内网失陷检测
  • 外网威胁感知
  • 威胁情报产生

目前共有42种蜜罐应用,包含40种低交互服务,2种高交互服务。

1.1 HFish基本结构

HFish由管理端(server)和节点端(client)组成:

  • 管理端:生成和管理节点端,并接收、分析和展示节点端回传的数据

    管理端必须部署在安全区。

    • 管理端访问端口:4433
    • 节点数据回传端口:TCP/4434
    • 服务默认访问端口:TCP/22

    注:4433、22端口只能被安全区设备访问,22端口必须能被节点端访问

  • 节点端:接受管理端的控制并负责构建蜜罐服务

image-20210611130621311

HFish的管理端对应蜜罐概念中的管理面,无安全防护功能;节点端对应交互面,负责模拟服务诱导攻击。

1.2 企业级应用架构

image-20210611130733084

1、管理端

HFish可以配置可供外网访问的Server,但若同时有内外网访问需求,建议同时部署两套相互独立的系统。

2、节点端

间插在生产环境中,通过回传端口将数据传递给管理端。

2 Windows下的环境部署

2.1 下载

Windows下载部署 (hfish.io)

  1. 下载安装包HFish-Windows-amd64 (Windows x86 架构 64 位系统),解压缩

  2. 防火墙上进出站双向打开TCP/4433、4434端口放行(如需使用其他服务,也需要打开端口)

    ※若未开启防火墙可跳过这一步

  3. 进入HFish-Windows-amd64文件夹内,运行文件目录下的install.bat (脚本会在当前目录进行安装HFish

2.2 登录管理端

登录web界面:

  • 登陆链接:https://[ip]:4433/web/

    端口和登录URL,可以在config.ini中自行配置。

2.3 数据库配置

官方建议使用MySql数据库。

  • 测试、内部简单使用:SQLite
  • 外网环境和大规模部署:MySQL、MariaDB

在系统配置–数据库配置可以更改数据库。

3 使用说明

3.1 节点管理

3.1.1 默认节点

HFish有唯一一个默认节点——“内置节点”。

内置节点在管理端成功安装后,自动在管理端部署设备上建立,作用为节点感知攻击

该节点将默认开启部分服务,包括FTP、SSH、Telnet、Zabbix监控系统、Nginx蜜罐、MySQL蜜罐、Redis蜜罐、HTTP代理蜜罐、ElasticSearch蜜罐和通用TCP端口监听。

image-20220531102428029

3.1.2 增加节点

在节点管理页面的节点列表处可新增,提供以下三种安装包:

  • Windows-386(支持32位和64位)
  • Linux-386(支持32位和64位)
  • Linux-ARM

部署成功后可,运行系统提供的脚本可实现开机自启。

3.1.3 删除节点

在节点管理页面可进行节点删除。

节点删除的实质是cut掉相对应的进程,节点下的程序和数据不会被删除。

3.2 服务管理

HFish目前提供了共42种服务,包含40种低交互服务和2种高交互服务,在“环境服务”下可以看到全部服务的介绍。

3.2.1 低交互服务

低交互服务包含项目有:基础服务、端口监听服务、WEB服务、数据库服务、自定义服务。

  • 基础服务:对常见远程访问协议(如SSH、Telnet)等进行仿真。
  • 端口监听服务:默认对TCP/135,TCP/139,TCP/445,TCP/3389进行监听
  • WEB服务
    • 代理:HTTP代理、Nginx
    • 办公系统:通用OA系统、政务OA系统、通达OA系统
    • 网络产品:Aruba无线AP、锐捷交换机、TP-LINK路由器仿真登陆、H3C路由器、齐治堡垒机
    • 互联网产品:WordPress(个人博客)、GitLab(代码托管)、Jira(项目管理系统)、Confluence(项目管理系统)、Coremail(邮件系统)、Exchange(邮件系统)、Jenkins(持续集成系统)、Joomla(内容管理平台)、Webmin(Unix系统管理工具)
    • 安防产品:海康摄像头
    • 服务器:微软IIS服务、Tomcat、Weblogic(分布式应用服务器)
    • 网络监控系统:Nagios(监控系统)、Websphere、Zabbix(监控系统)、JspSpy(网络后门)
    • 虚拟化平台:ESXi(基于Linux的虚拟化管理平台)
  • 数据库服务:MYSQL、REDIS、MEMCACH、Elasticsearch服务端进行仿真
  • 自定义服务:CUSTOM蜜罐,提供了与其它蜜罐的接口,使管理端可以接收其它蜜罐收集到的讯息

3.2.2 高交互服务

2种高交互服务为:高交互SSH蜜罐、高交互Telnet蜜罐。

  • SSH:SSH是Secure Shell的缩写,是专为远程登录会话和其他网络服务提供安全性的协议,目前几乎所有的基于Linux、BSD、Unix的操作系统和IoT都支持使用SSH远程登录,因此SSH也成为最常见的网络服务。
  • Telnet:是Internet远程登录服务的标准协议和主要方式,由于Telnet协议采用明文传输,安全性能较差,常被攻击者探测。

高交互和低交互版本服务的对比:

服务名称默认监听端口描述
高交互SSH蜜罐TCP/22提供了比较完善的SSH交互服务端,可记录攻击者的暴力破解攻击和shell交互,可被上传、删除和下载文件,默认使用TCP/22端口
高交互Telnet蜜罐TCP/23提供了比较完善的Telnet交互服务端,可记录攻击者的暴力破解攻击和shell交互,可被上传、删除、和下载文件。Telnet一般只用于内部系统、路由交换等IoT设备,默认使用TCP/23
SSH蜜罐TCP/22提供虚假的SSH服务端,常见于办公、生产、互联网场景,默认使用TCP/22端口
Telnet蜜罐TCP/23提供虚假的Telnet服务端,一般只用于内部系统、路由交换等IoT设备,该服务常见于办公场景,默认使用TCP/23端口

高交互版本进行了更深入的仿真,提供了上传、删除和下载的功能。

3.3 Python API

目前HFish支持调取的数据有:

  • 攻击来源
  • 攻击详情
  • 指定IP暴力破解使用过的账号密码
import requests
import json

# 获取攻击来源
src_url = "https://Server_IP/api/v1/attack/ip?api_key=YOUR_API_KEY"
# 获取攻击详情
detail_url = "https://Server_IP/api/v1/attack/detail?api_key=YOUR_API_KEY"
# 获取IP使用过的账号信息
acc_url = "https://Server_IP/api/v1/attack/account?api_key=YOUR_API_KEY"

payload = json.dumps({
 	"start_time": 0,
	"end_time": 0,
    
    # 获取攻击来源
	"intranet": "0",
	"threat_label": [
		"Scanner" 
	]
    
	# 获取攻击详情
	"client_id": [],
	"service_name": [],
	"info_confirm": "1"
	
    # 获取指定ip暴力破解使用过的账号密码
    "attack_ip": []
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", src_url, headers=headers, data=payload)

print(response.text)
  • 3
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值