蜜罐系统HFish的部署与功能实测

1. 引入

根据参考1对蜜罐的定义:

  1. 蜜罐(Honeypot)是一个计算机科学领域的术语,指用于检测或防御未经授权的行为或黑客攻击的陷阱。其名称来源于其工作原理类似于用来诱捕昆虫的蜜罐。
  2. 蜜罐通常伪装成看似有利用价值的网路、资料、电脑系统,并故意设置了bug,用来吸引骇客攻击。由于蜜罐事实上并未对网路提供任何有价值的服务,所以任何对蜜罐的尝试都是可疑的。蜜罐中还可能装有监控软件,用以监视骇客入侵后的举动。

根据参考3,我们可以知道蜜罐的价值:

  1. 蜜罐是对攻击者的欺骗技术,用以监视、检测、分析和溯源攻击行为,其没有业务上的用途,所有流入/流出蜜罐的流量都预示着扫描或者攻击行为,因此可以比较好的聚焦于攻击流量。
  2. 蜜罐可以实现对攻击者的主动诱捕,能够详细地记录攻击者攻击过程中的许多痕迹,可以收集到大量有价值的数据,如病毒或蠕虫的源码、黑客的操作等,从而便于提供丰富的溯源数据。另外蜜罐也可以消耗攻击者的时间,基于JSONP等方式来获取攻击者的画像。
  3. 但是蜜罐存在安全隐患,如果没有做好隔离,可能成为新的攻击源。

有没有什么快速部署一个蜜罐进行体验的方法呢?

2. HFish

从参考3可以看到关于HFish的更多描述:

  1. HFish是一款针对企业安全场景的社区型免费蜜罐,旨在提高用户在失陷感知和威胁情报领域的综合能力。它从内网失陷检测、外网威胁感知和威胁情报生产三个场景出发,为用户提供独立且实用的功能,通过中低交互蜜罐来增强用户的安全防护能力。
  2. HFish具有多种独特的特性,包括超过40种蜜罐环境、免费的云蜜网、高度自定义的蜜饵能力、一键部署、跨平台多架构支持、国产操作系统和CPU的适配、极低的性能要求、以及多种告警方式如邮件、syslog、webhook、企业微信、钉钉和飞书等。这些特性有助于降低用户的运维成本,提高运营效率。
  3. HFish支持分布式多节点部署。HFish采用B/S架构,系统由管理端和节点端组成,管理端用来生成和管理节点端,并接收、分析和展示节点端回传的数据,节点端接受管理端的控制并负责构建蜜罐服务。在HFish中,管理端只用于数据的分析和展示,节点端进行虚拟蜜罐,最后由蜜罐来承受攻击。

在linux下,可以参考4来进行快速的安装部署。

3. ubuntu下部署单节点HFish的步骤

  1. 确认ubuntu防火墙状态
(base) root@xdfweds:~# ufw status
Status: inactive

笔者这里防火墙是关闭的,否则需要参考4来让防火墙开启4433、4434端口。

  1. 在root模式运行如下命令来安装HFish
bash <(curl -sS -L https://hfish.net/webinstall.sh)
  1. 远程浏览器打开 登陆链接:https://[ip]:4433/web/
  • 默认用户名密码见参考4
  1. 选择SQlite
    在这里插入图片描述

4. 实测效果

  1. 登录后,稍等3分钟,就能在首页看到,笔者这台阿里云服务器,在这几分钟之内,就被扫描了151次,被攻击了5次
    在这里插入图片描述

  2. 攻击列表
    能看到所有攻击的来源IP,也能进行搜索过滤
    在这里插入图片描述

  3. 扫描感知
    该页面用于展示HFish蜜罐节点被TCP、UDP和ICMP三种协议的全端口扫描探测行为。
    即使节点相关端口没有开放,HFish仍能记录下扫描行为,此外,HFish还会记录节点主机本身外联行为。目前扫描感知列表内能够展示的信息如下: 扫描IP,威胁情报,被扫描节点,被扫描IP,扫描类型,被扫描端口,节点位置, 扫描开始时间,扫描持续时间。
    在这里插入图片描述

可以看到,就部署HFish后的5分钟之内,主机就遭受来自很多个不同国家的扫描。

  1. 失陷感知页面
    这需要配置诱饵才可能有效果,关于诱饵的配置,详见参考5.

(1)什么是诱饵
诱饵泛指任意伪造的高价值文件(例如运维手册、邮件、配置文件等),用于引诱和转移攻击者视线,最终达到牵引攻击者离开真实的高价值资产并进入陷阱的目的。

(2)蜜饵使用场景
HFish的蜜饵在 牵引 攻击者的功能上增加了 精确定位失陷 能力,即每个蜜饵都是 唯一的,攻击者入侵用户主机后,如果盗取蜜饵文件中的数据并从任意主机发起攻击,防守者仍能知道失陷源头在哪里。

(3)举个例子:
攻击者侵入企业内部某台服务器,在其目录中找到一个payment_config.ini文件,文件中包含数据库主机IP地址和账号密码,
攻击者为隐藏自己真实入侵路径,通过第三台主机访问数据库主机

从笔者部署访问的页面中可以看到
在这里插入图片描述

HFish默认给定了四个文件蜜饵,还可以人工修改文件的内容。
在这里插入图片描述

  1. 攻击来源
    当前页面存储了尝试连接和攻击节点端的每一个IP,及该IP的过往攻击记录。
    在这里插入图片描述

  2. 账号资产
    攻击者在所有HFish蜜罐登录界面中输入的账号、密码都将被记录和整理,可用于:统计当前被攻击的账号密码,用于内部自查;使用「企业信息监控」功能,填写企业域名、邮件、员工姓名等敏感信息,实时监控外部失陷账户。

  3. 样本检测
    样本检测能力由微步在线云沙箱免费提供支持。其能提供完整的多维检测服务,通过模拟文件执行环境来分析和收集文件的静态和动态行为数据,结合微步威胁情报云,分钟级发现未知威胁。

  4. 漏洞模拟与威胁检测
    HFish的威胁检测将使用 YARA语言,对所有蜜罐收集到的攻击原始信息进行关键词检测。其中,漏洞模拟与检测类型的规则为云端更新,开启网络访问权限后,该部分规则为自动更新。
    详细说明:漏洞模拟与威胁检测使用介绍见参考6.
    如下是部署后默认提供的漏洞检测:
    在这里插入图片描述

也可以查看各个漏洞检测的YARA细节,比如“Java Applet JMX远程代码执行(CVE-2013-0422)”是这样写的:
在这里插入图片描述

  1. 服务管理

这是默认给定的蜜罐服务,还可以新增服务,这开源的功能就已经很强大了。
在这里插入图片描述

  1. 大屏
    大屏显示很漂亮。
    在这里插入图片描述

5. 卸载

参考7给出了卸载步骤。下面是ubuntu上卸载的步骤:

root@abababa:~# ps aux | grep hfish
root      499442  0.2  0.2 711436 12012 pts/0    Sl   21:23   0:02 /opt/hfish/hfish
root      499453  2.0  7.7 1088160 312768 ?      Ssl  21:23   0:16 /opt/hfish/hfish-server -d /opt/hfish/3.3.3
root      499713  0.0  0.0   8900   724 pts/4    S+   21:37   0:00 grep --color=auto hfish
root@abababa:~# kill 499442
root@abababa:~# kill 499453
root@abababa:~#
root@abababa:~#
root@abababa:~# ps aux | grep hfish
root      499719  0.0  0.0   8900   724 pts/4    S+   21:38   0:00 grep --color=auto hfish
root@abababa:~# rm -rf /opt/hfish
root@abababa:~# rm -rf /usr/share/hfish

先kill掉hfish,然后rm两个位置即可。

6. 总结

本文从蜜罐的定义,到如何安装部署一个真实的蜜罐系统,再到蜜罐系统的细节功能进行讲解。

7. 参考

  1. https://zh.wikipedia.org/zh-hans/%E8%9C%9C%E7%BD%90_(%E9%9B%BB%E8%85%A6%E7%A7%91%E5%AD%B8)
  2. https://websec.readthedocs.io/zh/latest/defense/honeypot.html
  3. https://github.com/hacklcx/HFish
  4. https://hfish.net/#/2-2-linux
  5. https://hfish.net/#/4-4-internetdecoy
  6. https://hfish.net/#/4-3-detection
  7. https://hfish.net/#/5-7-uninstall

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/127010.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

3.15每日一题(分部积分求不定积分)

解法一&#xff1a;令lnx等于t&#xff1b;求出x与t的关系&#xff0c;带入f(lnx)的式子中&#xff1b;通过凑微分&#xff0c;分部积分等方法求出答案 注&#xff1a;在分部积分后&#xff0c;求不定积分时 &#xff08;1&#xff09;可以加项减项拆的方法求&#xff08;常规…

61. 旋转链表、Leetcode的Python实现

博客主页&#xff1a;&#x1f3c6;李歘歘的博客 &#x1f3c6; &#x1f33a;每天不定期分享一些包括但不限于计算机基础、算法、后端开发相关的知识点&#xff0c;以及职场小菜鸡的生活。&#x1f33a; &#x1f497;点关注不迷路&#xff0c;总有一些&#x1f4d6;知识点&am…

小程序day02

目标 WXML模板语法 数据绑定 事件绑定 那麽問題來了&#xff0c;一次點擊會觸發兩個組件事件的話&#xff0c;該怎么阻止事件冒泡呢&#xff1f; 文本框和data的双向绑定 注意点: 只在标签里面用value“{{info}}”&#xff0c;只会是info到文本框的单向绑定&#xff0c;必须在…

【项目源码解析】某3C产品自动光学检测系统

解决方案源码解析思维导图 一、带有桁架机械手的自动光学检测系统介绍 二、关于机械手运动控制&#xff08;是否需要机器人学方面的知识&#xff09; 机械手的运动控制不需要深入了解机器人学方面的知识的情况包括&#xff1a; 预配置和任务单一性&#xff1a;如果机械手已经预…

Unity地面交互效果——2、动态法线贴图实现轨迹效果

Unity引擎动态法线贴图制作球滚动轨迹 大家好&#xff0c;我是阿赵。   之前说了一个使用局部UV采样来实现轨迹的方法。这一篇在之前的基础上&#xff0c;使用法线贴图进行凹凸轨迹的绘制。 一、实现的目标 先来回顾一下&#xff0c;上一篇最终我们已经绘制了一个轨迹的贴图…

NI‑9237国产化50 kS/s/ch,桥模拟输入,4通道C系列应变/桥输入模块

50 kS/s/ch&#xff0c;桥模拟输入&#xff0c;4通道C系列应变/桥输入模块 NI‑9237提供了所有的信号调理功能来实现多达四个基于桥的传感器的供电和测量。该模块提供通道间零相位延迟的应变或负载测量。它还具有60 VDC隔离和1&#xff0c;000 Vrms瞬态隔离&#xff0c;提供高…

java基础--多线程学习

写在前面&#xff1a; 多线程在面试中问的很多&#xff0c;之前没有过系统的学习&#xff0c;现在来进行一个系统的总结学习 文章目录 基础java多线程实现无参无返回值线程快速创建start和run方法的探讨run方法线程状态 有返回值线程线程池执行小结关于抛出异常的扩展 线程方…

云安全—kubelet攻击面

0x00 前言 虽然说总结的是kubelet的攻击面&#xff0c;但是在总结攻击面之前还是需要去了解kubelet的基本原理&#xff0c;虽然说我们浅尝即止&#xff0c;但是还是要以能给别人讲出来为基本原则。 其他文章: 云安全—K8s APi Server 6443 攻击面云安全—K8S API Server 未授…

解决【spring boot】Process finished with exit code 0的问题

文章目录 1. 复现错误2. 分析错误3. 解决问题 1. 复现错误 今天从https://start.spring.io下载配置好的spring boot项目&#xff1a; 启动后却报出如下错误&#xff1a; 即Process finished with exit code 0 2. 分析错误 Process finished with exit code 0翻译成中文进程已完…

USART HMI串口屏+GPS模块显示时间和经纬度

USART HMI串口屏GPS模块显示时间和经纬度 &#x1f4cd;相关篇《基于u-box GPS模块通过串口指令调整输出信息》 &#x1f4cb;在不使用其他单片机做数据中转处理情况下&#xff0c;利用USART HMI串口屏主动解析模式&#xff0c;来接收并解析GPS模块数据并显示&#xff0c;功能包…

k8s-调度约束

目录 工作机制 调度过程 指定调度节点 Kubernetes 是通过 List-Watch 的机制进行每个组件的协作&#xff0c;保持数据同步的&#xff0c;每个组件之间的设计实现了解耦。 用户是通过 kubectl 根据配置文件&#xff0c;向 APIServer 发送命令&#xff0c;在 Node 节点上面…

Linux 命令速查

Network ping ping -c 3 -i 0.01 127.0.0.1 # -c 指定次数 # -i 指定时间间隔 日志 一般存放位置&#xff1a; /var/log&#xff0c;包含&#xff1a;系统连接日志 进程统计 错误日志 常见日志文件说明 日志功能access-logweb服务访问日志acct/pacct用户命令btmp记录失…

打造中国汽车出海新名片,比亚迪亮相东京车展

作为全球知名的国际车展&#xff0c;东京车展向来都被业界人士誉为“亚洲汽车风向标”。2023年10月25日&#xff0c;第47届东京车展&#xff08;自2023年更名为“日本移动出行展”&#xff09;在东京国际展览中心如期揭幕。 作为中国车企的代表品牌&#xff0c;比亚迪携海豹、海…

8+双疾病+WGCNA+多机器学习筛选疾病的共同靶点并验证表达

今天给同学们分享一篇双疾病WGCNA多机器学习的生信文章“Shared diagnostic genes and potential mechanism between PCOS and recurrent implantation failure revealed by integrated transcriptomic analysis and machine learning”&#xff0c;这篇文章于2023年5月16日发表…

Springboot使用EasyExcel导入导出Excel文件

1&#xff0c;准备Excel文件和数据库表结果 2&#xff0c;导入代码 1&#xff0c;引入依赖 <!-- https://mvnrepository.com/artifact/com.alibaba/easyexcel --><dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifac…

STM32—PWM开发SG90舵机

目录 PWM介绍 PWM输出模式&#xff1a; ​编辑PWM占空比&#xff1a; PWM周期与频率公式&#xff1a;​编辑 SG90舵机介绍 1. 什么是舵机 2. 怎么控制舵机 SG90舵机介绍实战 1. 在 SYS 选项里&#xff0c;将 Debug 设为 Serial Wire​编辑 2. 将 RCC 里的 HSE 设置为 …

代码随想录算法训练营第四十天丨 动态规划part03

343. 整数拆分 思路 看到这道题目&#xff0c;都会想拆成两个呢&#xff0c;还是三个呢&#xff0c;还是四个.... 来看一下如何使用动规来解决。 动态规划 动规五部曲&#xff0c;分析如下&#xff1a; 确定dp数组&#xff08;dp table&#xff09;以及下标的含义 dp[i]…

JVM修炼印记之初识

文章目录 JVM认识JVM的功能常见JVMHotSpot的发展历程 JVM认识 Java虚拟机&#xff08;Java Virtual Machine&#xff0c;JVM&#xff09;是一个用于执行Java字节码的虚拟计算机。它是Java语言的核心&#xff0c;可以在不同的操作系统和硬件平台上运行Java程序。 JVM负责将Java…

【广州华锐互动】飞机诊断AR远程指导系统为工程师提供更多支持

随着科技的发展&#xff0c;飞机的维护工作也在不断进步。其中&#xff0c;AR&#xff08;增强现实&#xff09;技术的应用使得远程运维成为可能。本文将探讨AR在飞机诊断远程指导系统中的应用&#xff0c;以及它对未来航空维护模式的影响。 AR远程指导系统是一种使用增强现实技…

撕掉Hadoop标签,Cloudera未来可期吗?

Cloudera&#xff1a;大数据的弄潮儿 1、Cloudera发展史2、Cloudera问题出在哪里&#xff1f;3、参考文章 1、Cloudera发展史 说起Cloudera&#xff0c;就不得不提起Hadoop&#xff0c;Cloudera的过去就是Hadoop时代中的一个缩影。作为全球第一家也是最大一家Hadoop商业化公司&…