diff --git a/docs/1-1-honeypot.md b/docs/1-1-honeypot.md index 55b1453..e999041 100644 --- a/docs/1-1-honeypot.md +++ b/docs/1-1-honeypot.md @@ -1,5 +1,5 @@ -### 什么是蜜罐 +### 蜜罐的定义 **蜜罐** 技术本质上是一种对攻击方进行 **欺骗的技术**,通过布置一些作为 **诱饵的主机**、**网络服务** 或者 **信息**,诱使攻击方对它们实施攻击,从而可以对攻击行为进行 **捕获** 和 **分析**,了解攻击方所使用的工具与方法,推测攻击意图和动机,能够让防御方清晰地了解他们所面对的安全威胁,并通过技术和管理手段来增强实际系统的安全防护能力。 @@ -7,41 +7,41 @@ ### 蜜罐的优势 > **误报少,告警准确** - + 蜜罐作为正常业务的 "**影子**" 混淆在网络中,正常情况下不应被触碰,每次触碰都可以视为威胁行为。 - + 例如,在其它检测型产品中,将正常请求误判为攻击行为的误报很常见,而对于蜜罐来说,几乎 **不存在正常请求**,即使有也是探测行为。 > **检测深入,信息丰富** - + 不同于其它检测型安全产品,蜜罐可以 **模拟业务服务甚至对攻击的响应**,完整获取整个交互的所有内容,最大深度的获得攻击者探测行为之后的N个步骤,可检测点更多,信息量更大。 - + 例如,对于 **SSL加密** 或 **工控环境**,蜜罐可以轻松伪装成业务,得到完整攻击数据。 - - + + > **主动防御,预见未来,生产情报** - + 在每个企业,几乎每分钟都在发生这样的场景: - + 潜伏在互联网角落中的攻击者发起一次攻击探测,防守方业务不存在安全漏洞,IDS告警后事情就不了了之了。 - + 而应用蜜罐型产品后,转换为 **主动防御思路**: - + 蜜罐响应了攻击探测,诱骗攻击者认为存在漏洞,进而发送了更多指令,包括从远端地址下载木马程序,而这一切不仅被完整记录下来,还可以转化为威胁情报供给传统检测设备,用于在未来的某个时刻,准确检测主机失陷。 - + 可以发现,转换为主动防护思路后, **威胁检测由针对单次、多变的攻击上升到应用威胁情报甚至TTPs检测**。 - - + + > **环境依赖少,拓展视野** - + 由于是融入型安全产品,蜜罐**不需要**改动现有网络结构,并且很多蜜罐是软件形态,对各种虚拟和云环境非常友好,部署成本低。 - + 蜜罐可以广泛部署于**云端**和**接入交换机下游末梢网络中**,作为**轻量级探针**,将告警汇聚到态势感知或传统检测设备中分析和展示。 ### 蜜罐和威胁情报的关系 显而易见 **蜜罐** 是非常准确、稳定和恰当的 **情报感知探针**。 - + 蜜罐最大的价值是 **诱使攻击者展示其能力和资产**,再配合误报少,信息丰富等一系列优势,配合态势感知或本地情报平台可以稳定生产私有威胁情报。 diff --git a/docs/1-2-spec.md b/docs/1-2-spec.md index eafcff6..be54e16 100644 --- a/docs/1-2-spec.md +++ b/docs/1-2-spec.md @@ -1,5 +1,16 @@ +### HFish架构 -> HFish当前具备如下几个特点: +HFish采用B/S架构,系统由控制端和节点端组成,控制端用来生成和管理节点端,并接收、分析和展示节点端回传的数据,节点端接受控制端的控制并负责构建蜜罐服务。 + +在HFish中,**管理端**只用于**数据的分析和展示**,**节点端**进行**虚拟蜜罐**,最后由**蜜罐来承受攻击**。 + +image-20210902163914134 + + + +### HFish特点 + +HFish当前具备如下几个特点: - 安全可靠:主打低中交互蜜罐,简单有效; @@ -11,3 +22,5 @@ - 跨平台:支持Linux x32/x64/ARM、Windows x32/x64平台 + + diff --git a/docs/1-4-scene.md b/docs/1-4-scene.md index ec4cc25..728e0d3 100644 --- a/docs/1-4-scene.md +++ b/docs/1-4-scene.md @@ -1,39 +1,39 @@ -### 应用场景 +#### 常见蜜罐场景 > **内网失陷检测场景** - + 该场景是蜜罐在企业环境 **最常见** 的使用方法,用来捕捉内网已经失陷、勒索软件和恶意行为,重点在于 **敏捷准确**,具体可细分为 **内部办公场景** 和 **内部IDC场景**, - + **内部办公场景**:蜜罐被部署在企业内部办公网区,用于 **感知内网失陷主机、勒索软件扫描或恶意员工内网刺探行为** ,常见模板可设置为监听tcp/135、139、445和3389等服务。 - + **内部服务器场景**:蜜罐被部署在企业内部服务器区,用于 **感知内网失陷和横向移动**,常见模板可以设置文模拟Web、MySQL、Redis、Elasticsearch、SSH、Telnet等服务。 - - + + > **外网风险感知和情报生产场景** 该场景一般是将节点部署在互联网区,用来感知互联网来自自动化蠕虫、竞争对手和境外的 **真实威胁**,甚至发现针对客户的 **0day攻击**,通过和具有情报生产能力的 **情报平台** 对接,可以稳定准确的**生产私有威胁情报**。 - + 另外,需要注意,该场景会捕捉到 **大量真实攻击行为** ,在部署蜜罐之前建议将蜜罐加入网络检测设备白名单中避免产生误报。 - + > **云环境风险感知场景** - + 由于云环境特殊性,云上 **匮乏** 流量检测类安全产品,此外企业防守者需要频繁切换查看本地安全设备的告警与云端有限安全设备的告警。 - + 而通过在云端部署蜜罐产品,应用蜜罐 **吸引部分攻击**,保护真实业务,并且企业防守者可以通过蜜罐感知到 **云上威胁的强度和方式**,不至于对安全现状一无所知,最后通过 **蜜罐产品的API** 和 **本地态势感知或检测设备** 打通,实现防守者通过一个平台 **统一管理**。 - - + + > **员工账号密码资产遗失感知场景** - + 员工账号密码资产遗失对于企业来说都是 **致命隐患**,安全团队如何感知是当下一个空白。 - + 企业可将常见的对外服务例如vpn.company.com或hr.company.com **替换成蜜罐**,通过监控试图登录的账号判断是否为 **内部员工账号**,并实时通知安全团队和该员工,敦促其尽快修改密码。 - + > **企业安全意识培训场景** - + 在企业安全工作中,员工 **安全意识问题** 常常被忽略,而对于攻击者,搜集员工信箱批量发送钓鱼或木马病毒链接只要有一个成功即可突破辛苦构建的企业安全防线。 - + 使用开源的钓鱼邮件工具和 **Web蜜罐自定义能力**,可以快速、低成本的组装 **企业安全意识培训平台**。 - + \ No newline at end of file diff --git a/docs/2-2-docker.md b/docs/2-1-docker.md similarity index 100% rename from docs/2-2-docker.md rename to docs/2-1-docker.md diff --git a/docs/2-2-linux.md b/docs/2-2-linux.md new file mode 100644 index 0000000..7cd5171 --- /dev/null +++ b/docs/2-2-linux.md @@ -0,0 +1,89 @@ +### 联网,使用一键安装脚本 + +如果您部署的环境为Linux,且可以访问互联网。我们为您准备了一键部署脚本进行安装和配置。 + +在使用一键脚本前,请先配置防火墙 + +> 请防火墙开启4433或者4434,确认返回success(如之后蜜罐服务需要占用其他端口,可使用相同命令打开。) + +``` +firewall-cmd --add-port=4433/tcp --permanent +firewall-cmd --add-port=4434/tcp --permanent +firewall-cmd --reload +``` + +> 使用root用户,运行下面的脚本。 + +``` +bash <(curl -sS -L https://hfish.io/install.sh) +``` + +image-20210812135013716 + +> 完成安装安装 + +在安装完成后,HFish会自动在控制端上创建一个节点。可在节点管理进行查看。 + +image-20210914113134975 + + + +### 配置开机自启动 + +进入管理端(server端)安装目录,执行 + +``` +sh <(curl -sSL https://hfish.io/autorun.sh) +``` + +即可配置开机自启动。 + +(该方法通用于节点端自启动) + + + +### 无法联网,手动安装 + +如果上述的安装脚本您无法使用,您可以尝试用手动安装完成部署。 + +> ##### **第一步:下载安装包**:[HFish-Linux-amd64](https://hfish.cn-bj.ufileos.com/hfish-<% version %>-linux-amd64.tar.gz) ( Linux x86 架构 64 位系统) + +使用按如下步骤进行安装 (以linux64位系统为例): + +> 第二步: 在当前目录创建一个路径解压安装包 + +``` +mkdir hfish +``` + +> 第三步:将安装文件包解压到hfish目录下 + +``` +tar zxvf hfish-*-linux-amd64.tar.gz -C hfish +``` + +> 第四步:请防火墙开启4433或者4434,确认返回success(如果有其他服务需要打开端口,使用相同命令打开。 + +``` +firewall-cmd --add-port=4433/tcp --permanent +firewall-cmd --add-port=4434/tcp --permanent +firewall-cmd --reload +``` + +> 第五步:进入安装目录直接运行server,或者后台运行 nohup ./server & + +``` +cd hfish +nohup ./server & +``` + +> 第六步:登陆web界面 + +``` +登陆链接:https://[ip]:4433/web/ +账号:admin +密码:HFish2021 +``` + +例:如果控制端的ip是192.168.1.1,登陆链接为:https://192.168.1.1:4433/web/ + diff --git a/docs/2-3-linux.md b/docs/2-3-linux.md deleted file mode 100644 index 155ed0c..0000000 --- a/docs/2-3-linux.md +++ /dev/null @@ -1,87 +0,0 @@ -### 一键安装脚本 - -如果您部署的环境为Linux,且可以访问互联网。我们为您准备了一键部署脚本进行安装和配置,请用root用户,运行下面的脚本。 - -``` -bash <(curl -sS -L https://hfish.io/install.sh) -``` - -![image-20210812135013716](http://img.threatbook.cn/hfish/20210812135015.png) - -> 安装并运行单机版 - -这种安装方式,在安装完成后,自动在控制端上创建一个节点,并同时把控制端进程和节点端进程启动。 - -``` -#控制端所在目录 -/opt/hfish/ - -#节点端所在目录 -/opt/hfish/client -``` - -> 安装并运行集群版 - -这种安装方式,会在安装完成后,启动控制端进程,需要我们后续完成添加节点的操作。 - -!> 控制端部署完成后,请继续参考下面的【控制端配置】完成配置 - - - -### 配置开机自启动 - -进入管理端(server端)安装目录,执行 - -``` -sh <(curl -sSL https://hfish.io/autorun.sh) -``` - -即可配置开机自启动。 - -(该方法通用于节点端自启动) - - - -### 手动安装 - -如果上述的安装脚本您无法使用,您可以尝试用手动安装完成部署。 - -到官网 [https://hfish.io](https://hfish.io/) 下载HFish最新版本安装包,按如下步骤进行安装 (以linux64位系统为例): - -> 第一步: 在当前目录创建一个路径解压安装包 - -``` -mkdir hfish -``` - -> 第二步:将安装文件包解压到hfish目录下 - -``` -tar zxvf hfish-*-linux-amd64.tar.gz -C hfish -``` - -> 第三步:请防火墙开启4433或者4434,确认返回success(如果有其他服务需要打开端口,使用相同命令打开。 - -``` -firewall-cmd --add-port=4433/tcp --permanent -firewall-cmd --add-port=4434/tcp --permanent -firewall-cmd --reload -``` - -> 第四步:进入安装目录直接运行server,或者后台运行 nohup ./server & - -``` -cd hfish -nohup ./server & -``` - -> 第五步:登陆web界面 - -``` -登陆链接:https://[ip]:4433/web/ -账号:admin -密码:HFish2021 -``` - -例:如果控制端的ip是192.168.1.1,登陆链接为:https://192.168.1.1:4433/web/ - diff --git a/docs/2-3-windows.md b/docs/2-3-windows.md new file mode 100644 index 0000000..e23eb28 --- /dev/null +++ b/docs/2-3-windows.md @@ -0,0 +1,21 @@ +> **第一步:下载安装包**[HFish-Windows-amd64](https://hfish.cn-bj.ufileos.com/hfish-<% version %>-windows-amd64.tar.gz) (Windows x86 架构 64 位系统) + + + +> 第二步:运行文件目录下的autorun.bat + + autorun.bat将帮助server.exe转为后台运行,启动后直接运行。(启动在一分钟内) + +> 第三步:登陆web界面 + +``` +登陆链接:https://[ip]:4433/web/ +账号:admin +密码:HFish2021 +``` + +例:如果控制端的ip是192.168.1.1,登陆链接为:https://192.168.1.1:4433/web + + + +`如果您启动页面失败,请查看windows防火墙是否放开4433与4434` diff --git a/docs/2-5-mariadb.md b/docs/2-4-mariadb.md similarity index 68% rename from docs/2-5-mariadb.md rename to docs/2-4-mariadb.md index 5882763..946335f 100644 --- a/docs/2-5-mariadb.md +++ b/docs/2-4-mariadb.md @@ -1,5 +1,14 @@ +### 数据库选择方案 -### 数据库相关 +| 部署情况 | 内网和小规模部署情况 | 外网及大规模部署 | +| ---------- | -------------------- | ---------------- | +| 适用数据库 | Sqlite/Mysql均可 | Mysql | + +`综合来说,Mysql数据库适合于所有部署情况,也是我们优先推荐的数据库,其他数据处理能力和并发兼容上都要优于SQLite` + + + +### SQlite详述 HFish系统默认使用的sqlite数据库,具体见 db/hfish.db(自带的已经初始化好的db),相关的初始化脚本见 db/sql/sqlite/V<% version %>__sqlite.sql @@ -9,11 +18,13 @@ HFish系统默认使用的sqlite数据库,具体见 db/hfish.db(自带的已 sqlite3 hfish.db < db/sql/sqlite/V<% version %>__sqlite.sql ``` - - **sqlite数据库无需安装,使用方便,但在遭到大规模攻击,及当前版本升级时候会存在数据丢失的问题。** -因此,HFish同时**支持mysql**数据库,相关的初始化脚本见 db/sql/mysql/V<% version %>__mysql.sql。 + + +### Sqlite更换为Mysql + +HFish同时**支持mysql**数据库,相关的初始化脚本见 db/sql/mysql/V<% version %>__mysql.sql。 如果您想要切换到mysql数据库,可以进行以下操作(请确认已经安装了mysql数据库,推荐5.7及以上版本) @@ -38,7 +49,7 @@ max_open = 50 max_idle = 50 url = ./db/hfish.db?cache=shared&mode=rwc # type = mysql -# url = mysql用户名:密码@tcp(:3306)/hfish?charset=utf8&parseTime=true&loc=Local +# url = mysql用户名::密码@tcp(:3306)/hfish?charset=utf8&parseTime=true&loc=Local ``` **如果mysql想要加ip,则使用**: diff --git a/docs/2-4-windows.md b/docs/2-4-windows.md deleted file mode 100644 index d08a4b7..0000000 --- a/docs/2-4-windows.md +++ /dev/null @@ -1,17 +0,0 @@ -> 第一步:下载HFish - - 访问我们官网的[下载页面](https://hfish.io/#/download),下载最新版的服务端并解压。 - -> 第二步:运行文件目录下的server.exe - - server.exe为后台运行,启动后直接后台运行。 - -> 第三步:登陆web界面 - -``` -登陆链接:https://[ip]:4433/web/ -账号:admin -密码:HFish2021 -``` - -例:如果控制端的ip是192.168.1.1,登陆链接为:https://192.168.1.1:4433/web/ diff --git a/docs/2-1-env.md b/docs/2-5-env.md similarity index 71% rename from docs/2-1-env.md rename to docs/2-5-env.md index da5c401..b00b72e 100644 --- a/docs/2-1-env.md +++ b/docs/2-5-env.md @@ -1,21 +1,4 @@ - -### 主机资源要求 - -> 蜜罐对资源的要求根据攻击数量的区别差异很大,通常来说部署在内网的蜜罐,对性能的要求很低。 -> -> 但接入公网的蜜罐对性能就会有更大的需求。 - -针对过往测试情况,我们给出两个配置。注意,如果您的蜜罐部署在互联网,会遭受到较大攻击流量,建议提升主机的配置。 - -```wiki -最低配置:控制端 1c2g100G、节点端 1c1g50G - -建议配置:控制端 2c4g200G、节点端 1c2g50G - -(日志磁盘占用,受攻击数量影响较大,我们建议控制端配置200G硬盘空间以上) -``` - -### 联网要求 +### 网络要求 > HFish控制端会主动访问如下网络域名 @@ -23,7 +6,7 @@ HFish支持IPv4和IPv6地址环境,可以在完全隔离互联网的内部网 | 目的IP | 协议/端口 | 对应域名 | 访问目的 | | ------------------------------------------------ ------- | --------- | ------------------- | ------------------------------------------------ | -| 103.210.21.74 | TCP/443 | hfish.io | 用于官网升级功能,建议开启 | +| 103.210.21.74 | TCP/443 | hfish.io | **用于官网升级功能,建议开启** | | 该域名使用CDN解析,建议在实际网络中解析后开放权限 | TCP/443 | hfish.cn-bj.ufileos.com | 用于分发安装和升级包 | | 106.75.36.224 123.59.72.253 123.59.51.113 106.75.36.226 117.50.17.104 | TCP/443 | api.threatbook.cn | 用于威胁情报查询,如果未启用该功能,无需开放 | | 该域名使用CDN解析,建议在实际网络中解析后开放权限 | TCP/443 | open.feishu.cn | 用于飞书告警功能,如果未使用该功能,无需开放 | @@ -42,24 +25,9 @@ HFish支持IPv4和IPv6地址环境,可以在完全隔离互联网的内部网 -### 部署权限要求 +### 安全配置 -> 控制端对root权限的需求 - -```wiki -1. 如果您使用的是官网推荐的install.sh脚本安装,安装目录被释放到opt目录下,过程需要root权限; - -2. 如果您下载安装包手动安装,在默认使用SQLite数据库情况下,控制端的部署和使用不需要root权限,但如何替换SQLite改为MySQL数据,则MySQL安装和配置需要root权限; -``` - -> 节点端对root权限的需求 - -```wiki -节点端安装和运行无需root权限,但是由于操作系统限制,非root权限运行的节点无法监听低于tcp/1024的端口; -``` - - -### 控制端安全要求 +##### 控制端安全要求 > 控制端应部署在安全区,只向少部分有网络管理权限和安全分析能力工作的人员和设备开放web和ssh端口 @@ -78,7 +46,8 @@ https://192.168.11.11:4433/web/ - **tcp/4434端口“必须能”被蜜罐节点访问**; -### 节点端安全要求 + +##### 节点端安全要求 > 节点直接面对攻击者,建议遵循以下安全配置: diff --git a/docs/2-deploy.md b/docs/2-deploy.md new file mode 100644 index 0000000..d63295a --- /dev/null +++ b/docs/2-deploy.md @@ -0,0 +1,40 @@ +#### HFish支持的部署主机 + +| | Windows | Linux X86 | +| ---------------- | -------------- | -------------- | +| 管理端(Server) | 支持64位 | 支持64位 | +| 节点端(Client) | 支持64位和32位 | 支持64为和32位 | + + + +#### HFish所需配置 + +> 通常来说部署在内网的蜜罐,对性能的要求较低,接入公网的蜜罐会有更大的性能需求。 + +针对过往测试情况,我们给出两个配置。注意,如果您的蜜罐部署在互联网,会遭受到较大攻击流量,建议提升主机的配置。 + +| | 控制端 | 节点端 | +| -------- | --------- | -------- | +| 建议配置 | 2核4g200G | 1核2g50G | +| 最低配置 | 1核2g100G | 1核1g50G | + +`(日志磁盘占用情况受攻击数量影响较大,我们通常建议控制端配置200G硬盘空间以上)` + +#### 部署权限要求 + +> 控制端对root权限的需求 + +```wiki +1. 如果您使用的是官网推荐的install.sh脚本安装,安装目录被释放到opt目录下,过程需要root权限; + +2. 如果您下载安装包手动安装,在默认使用SQLite数据库情况下,控制端的部署和使用不需要root权限,但如何替换SQLite改为MySQL数据,则MySQL安装和配置需要root权限; +``` + +> 节点端对root权限的需求 + +```wiki +节点端安装和运行无需root权限,但是由于操作系统限制,非root权限运行的节点无法监听低于tcp/1024的端口; +``` + + + diff --git a/docs/3-1-addnode.md b/docs/3-1-addnode.md new file mode 100644 index 0000000..5188b7d --- /dev/null +++ b/docs/3-1-addnode.md @@ -0,0 +1,34 @@ +> 当前,我们会为所有用户,在Server机器上默认建立一个节点感知攻击。该节点命名为「内置节点」。 + +该节点将默认开启部分服务,包括FTP、SSH、Telnet、Zabbix监控系统、Nginx蜜罐、MySQL蜜罐、Redis蜜罐、HTTP代理蜜罐、ElasticSearch蜜罐和通用TCP端口监听。 + +image-20210902210912371 + + + +### 新增节点 + +> 进入节点管理页面,可进行 新增节点 + +image-20210902172749029 + +> 选择对应的安装包和回连地址 + +image-20210902172832815 + +image-20210902172916191 + +> 在节点机器执行命令语句或安装包,即可成功部署节点。 + +进入「节点管理」页面,对可对该节点进行管理。 + + + + + +### 删除节点 + +如果您进行节点删除,那么 + +- 节点端进程会自动退出,但程序会保留在原有路径,需要手动二次删除。 +- 所有攻击数据不会丢失,仍然能在所有数据中进行查看 diff --git a/docs/3-2-manage.md b/docs/3-2-manage.md new file mode 100644 index 0000000..63f731d --- /dev/null +++ b/docs/3-2-manage.md @@ -0,0 +1,38 @@ +当前,修改节点服务可分为两种, + +### 直接修改服务 + +> 点击单个节点,可直接对节点上的服务进行添加和删除 + +image-20210914120052175 + + + + + +### 创建模版,应用到多节点 + +进行模版创建,即可以将一套配置批量应用到多个节点上,其操作步骤如下: + +> 进入模版管理,进行模版创建 + +image-20210914115931102 + +> 展开蜜罐节点,选择上面创建的蜜罐模板 + +image-20210616173015062 + + + +> 刚变更模板后的蜜罐服务状态为【启用】 + +image-20210616173053947 + + + +> 节点正常完成模板加载后,服务状态应该为【在线】。如果是【离线】,说明蜜罐服务没有正常启动,请参考我们后面的【排错说明】,找到问题。 + +image-20210616173128526 + + + diff --git a/docs/3-2-services.md b/docs/3-2-services.md index 5d36fdc..81f1c32 100644 --- a/docs/3-2-services.md +++ b/docs/3-2-services.md @@ -1,123 +1,9 @@ -### 配置工作总览 +> 当前,蜜罐包含五大类、共36种服务,所有服务的详细描述,都可以在「服务管理」中看到 -!> 在完成控制端的部署后,我们还需要几个配置工作让整个系统运行起来。 - -```wiki -1. 添加【蜜罐服务】,让系统获得相应蜜罐的能力。 -2. 创建【服务模板】,模板是数个蜜罐服务的集合,在大规模部署的环境中,模板可以帮我们更高效管理我们的集群。 -3. 【增加节点】,单机版自带一个节点,集群版不带节点。系统至少需要一个节点才能正常运行。 -4. 为蜜罐节点选择【服务模板】,选择了什么服务模板,蜜罐节点就具有了模板中的蜜罐能力。 -``` +image-20210914161340527 -### 添加蜜罐服务 +> 此外,所有的web类蜜罐,我们都提供了预览选项。可以更好的了解和搭配服务 -!> 控制端运行起来后,我们需要做的第一件事情就是下载蜜罐服务。您有2种方法可以添加蜜罐服务,任选一种即可。 - -> 【服务管理】中下载蜜罐服务 - -```wiki -1. 登陆控制端后,打开【服务管理】页面,首次登陆页面上蜜罐服务都是灰色。 -2. 选择自己需要的蜜罐服务进行下载。 -``` - -image-20210616164012531 - - - -> 手动上传蜜罐服务包 - -**当您处于离线环境不方便在线安装情况下,您可以使用手动上传安装的方式。** - -```wiki -1. 下载最新官方服务包 [services包](http://img.threatbook.cn/hfish/svc/services-<% version %>.tar.gz) -2. 在新增服务页面上选择该服务包上传。 -``` - -image-20210616165214921 - - -> 上传自定义web蜜罐 - -​ 如果您有自定义web蜜罐的需求,我们为您准备了开发样例,您可以参考下面的文档完成蜜罐的开发工作后,进行上传,也可以在社区中寻找其它用户开发好的蜜罐上传后使用。 - - - -### 自定义web蜜罐页面 - -#### 通过样例了解功能实现方式 - -> web蜜罐样例 - -```wiki -# 下载自定义web蜜罐样例 -http://img.threatbook.cn/hfish/svc/service-demo.zip -``` - -> 解压后获得index.html和portrait.js两个文件 - - -> index.html文件中的代码功能 - -```wiki -
中的代码明确了页面上账密表单的提交方式,具体利用方式参考下文“制作全新的登陆页面” - - - + + + + \ No newline at end of file diff --git a/docs/introduce/1-1-honeypot.md b/docs/introduce/1-1-honeypot.md new file mode 100644 index 0000000..55b1453 --- /dev/null +++ b/docs/introduce/1-1-honeypot.md @@ -0,0 +1,48 @@ + +### 什么是蜜罐 + + **蜜罐** 技术本质上是一种对攻击方进行 **欺骗的技术**,通过布置一些作为 **诱饵的主机**、**网络服务** 或者 **信息**,诱使攻击方对它们实施攻击,从而可以对攻击行为进行 **捕获** 和 **分析**,了解攻击方所使用的工具与方法,推测攻击意图和动机,能够让防御方清晰地了解他们所面对的安全威胁,并通过技术和管理手段来增强实际系统的安全防护能力。 + + +### 蜜罐的优势 + + > **误报少,告警准确** + + 蜜罐作为正常业务的 "**影子**" 混淆在网络中,正常情况下不应被触碰,每次触碰都可以视为威胁行为。 + + 例如,在其它检测型产品中,将正常请求误判为攻击行为的误报很常见,而对于蜜罐来说,几乎 **不存在正常请求**,即使有也是探测行为。 + + > **检测深入,信息丰富** + + 不同于其它检测型安全产品,蜜罐可以 **模拟业务服务甚至对攻击的响应**,完整获取整个交互的所有内容,最大深度的获得攻击者探测行为之后的N个步骤,可检测点更多,信息量更大。 + + 例如,对于 **SSL加密** 或 **工控环境**,蜜罐可以轻松伪装成业务,得到完整攻击数据。 + + + > **主动防御,预见未来,生产情报** + + 在每个企业,几乎每分钟都在发生这样的场景: + + 潜伏在互联网角落中的攻击者发起一次攻击探测,防守方业务不存在安全漏洞,IDS告警后事情就不了了之了。 + + 而应用蜜罐型产品后,转换为 **主动防御思路**: + + 蜜罐响应了攻击探测,诱骗攻击者认为存在漏洞,进而发送了更多指令,包括从远端地址下载木马程序,而这一切不仅被完整记录下来,还可以转化为威胁情报供给传统检测设备,用于在未来的某个时刻,准确检测主机失陷。 + + 可以发现,转换为主动防护思路后, **威胁检测由针对单次、多变的攻击上升到应用威胁情报甚至TTPs检测**。 + + + > **环境依赖少,拓展视野** + + 由于是融入型安全产品,蜜罐**不需要**改动现有网络结构,并且很多蜜罐是软件形态,对各种虚拟和云环境非常友好,部署成本低。 + + 蜜罐可以广泛部署于**云端**和**接入交换机下游末梢网络中**,作为**轻量级探针**,将告警汇聚到态势感知或传统检测设备中分析和展示。 + + +### 蜜罐和威胁情报的关系 + 显而易见 **蜜罐** 是非常准确、稳定和恰当的 **情报感知探针**。 + + 蜜罐最大的价值是 **诱使攻击者展示其能力和资产**,再配合误报少,信息丰富等一系列优势,配合态势感知或本地情报平台可以稳定生产私有威胁情报。 + + + diff --git a/docs/introduce/1-2-spec.md b/docs/introduce/1-2-spec.md new file mode 100644 index 0000000..eafcff6 --- /dev/null +++ b/docs/introduce/1-2-spec.md @@ -0,0 +1,13 @@ + +> HFish当前具备如下几个特点: + +- 安全可靠:主打低中交互蜜罐,简单有效; + +- 蜜罐丰富:支持SSH、FTP、TFTP、MySQL、Redis、Telnet、VNC、Memcache、Elasticsearch、Wordpress、OA系统等10多种蜜罐服务,支持用户制作自定义Web蜜罐; + +- 开放透明:支持对接微步在线X社区API、五路syslog输出、支持邮件、钉钉、企业微信、飞书、自定义WebHook告警输出; + +- 快捷管理:支持单个安装包批量部署,支持批量修改端口和服务; + +- 跨平台:支持Linux x32/x64/ARM、Windows x32/x64平台 + diff --git a/docs/introduce/1-3-workflow.md b/docs/introduce/1-3-workflow.md new file mode 100644 index 0000000..c7c42a8 --- /dev/null +++ b/docs/introduce/1-3-workflow.md @@ -0,0 +1,17 @@ + +> HFish基本结构 + +HFish由管理端(server)和节点端(client)组成,管理端用来生成和管理节点端,并接收、分析和展示节点端回传的数据,节点端接受管理端的控制并负责构建蜜罐服务。 + + +> HFish各模块关系图 + +![image-20210611130621311](http://img.threatbook.cn/hfish/20210616174908.png) + + +> 融合在企业网络中 + +![image-20210611130733084](http://img.threatbook.cn/hfish/20210616174930.png) + + + diff --git a/docs/introduce/1-4-scene.md b/docs/introduce/1-4-scene.md new file mode 100644 index 0000000..ec4cc25 --- /dev/null +++ b/docs/introduce/1-4-scene.md @@ -0,0 +1,39 @@ + +### 应用场景 + + > **内网失陷检测场景** + + 该场景是蜜罐在企业环境 **最常见** 的使用方法,用来捕捉内网已经失陷、勒索软件和恶意行为,重点在于 **敏捷准确**,具体可细分为 **内部办公场景** 和 **内部IDC场景**, + + **内部办公场景**:蜜罐被部署在企业内部办公网区,用于 **感知内网失陷主机、勒索软件扫描或恶意员工内网刺探行为** ,常见模板可设置为监听tcp/135、139、445和3389等服务。 + + **内部服务器场景**:蜜罐被部署在企业内部服务器区,用于 **感知内网失陷和横向移动**,常见模板可以设置文模拟Web、MySQL、Redis、Elasticsearch、SSH、Telnet等服务。 + + + > **外网风险感知和情报生产场景** + + 该场景一般是将节点部署在互联网区,用来感知互联网来自自动化蠕虫、竞争对手和境外的 **真实威胁**,甚至发现针对客户的 **0day攻击**,通过和具有情报生产能力的 **情报平台** 对接,可以稳定准确的**生产私有威胁情报**。 + + 另外,需要注意,该场景会捕捉到 **大量真实攻击行为** ,在部署蜜罐之前建议将蜜罐加入网络检测设备白名单中避免产生误报。 + + > **云环境风险感知场景** + + 由于云环境特殊性,云上 **匮乏** 流量检测类安全产品,此外企业防守者需要频繁切换查看本地安全设备的告警与云端有限安全设备的告警。 + + 而通过在云端部署蜜罐产品,应用蜜罐 **吸引部分攻击**,保护真实业务,并且企业防守者可以通过蜜罐感知到 **云上威胁的强度和方式**,不至于对安全现状一无所知,最后通过 **蜜罐产品的API** 和 **本地态势感知或检测设备** 打通,实现防守者通过一个平台 **统一管理**。 + + + > **员工账号密码资产遗失感知场景** + + 员工账号密码资产遗失对于企业来说都是 **致命隐患**,安全团队如何感知是当下一个空白。 + + 企业可将常见的对外服务例如vpn.company.com或hr.company.com **替换成蜜罐**,通过监控试图登录的账号判断是否为 **内部员工账号**,并实时通知安全团队和该员工,敦促其尽快修改密码。 + + + > **企业安全意识培训场景** + + 在企业安全工作中,员工 **安全意识问题** 常常被忽略,而对于攻击者,搜集员工信箱批量发送钓鱼或木马病毒链接只要有一个成功即可突破辛苦构建的企业安全防线。 + + 使用开源的钓鱼邮件工具和 **Web蜜罐自定义能力**,可以快速、低成本的组装 **企业安全意识培训平台**。 + + \ No newline at end of file diff --git a/docs/introduce/_sidebar.md b/docs/introduce/_sidebar.md new file mode 100644 index 0000000..9885243 --- /dev/null +++ b/docs/introduce/_sidebar.md @@ -0,0 +1,7 @@ +- HFish介绍 + - [什么是蜜罐](1-1-honeypot) + - [HFish特点](1-2-spec) + - [HFish原理](1-3-workflow) + - [应用场景](1-4-scene) + - [下载HFish](download) + diff --git a/docs/known.md b/docs/known.md index 5b0173c..a32e23b 100644 --- a/docs/known.md +++ b/docs/known.md @@ -1,5 +1,10 @@ -> 2.5.0版本,Windows版本自动升级流程遇到问题,正在第一优先级修复。 +##### 2.5.0版本,Windows版本控制端页面上传安装包升级会不成功。 -> 当前linux节点安装时候,结束后会有两行异常报错,该报错不影响节点安装过程使用。(正在修复) +一、可以在页面上传升级之后、打开任务管理器关闭老的server.exe进程,然后到安装目录执行autorun.bat脚本,等待一分钟左右会重新启动server.exe。 + +二、不通过页面上传升级,打开任务管理器关闭老的server.exe进程,然后到安装目录,将下载的安装包解压到安装目录,执行autorun.bat脚本,等到拉起。 + +备注:根本原因是windows不支持gin框架的endless热启动方案,页面上传后包已经解压 但是进程没有退出,需要手动杀死老的进程。考虑下个版本重新规划下升级方案,敬请期待! + + -> 已知多网卡情况下,client上线有问题。 \ No newline at end of file diff --git a/root@192.168.101.185 b/root@192.168.101.185 new file mode 100644 index 0000000..3d8aabe Binary files /dev/null and b/root@192.168.101.185 differ