蜜罐
蜜罐技术
定义
蜜罐的一个定义来自间谍世界,玛塔哈里(Mata Hari)式的间谍将恋爱关系用作窃取秘密的方式,被描述为设置“美人计”或“蜜罐”。经常会有敌方间谍中了美人计,然后被迫交待他/她所知道的一切。
在计算机安全方面,网络蜜罐的工作原理与此类似,是为黑客设下的诱饵。这是一种具有牺牲性质的计算机系统,旨在吸引网络攻击,就像诱饵一样。它模仿黑客的目标,利用黑客的入侵企图来获取网络犯罪分子的信息以及他们的行动方式,或者将他们从其他目标上引开。
蜜罐是对攻击者的欺骗技术,用以监视、检测、分析和溯源攻击行为,其没有业务上的用途,所有流入/流出蜜罐的流量都预示着扫描或者攻击行为,因此可以比较好的聚焦于攻击流量。
蜜罐可以实现对攻击者的主动诱捕,能够详细地记录攻击者攻击过程中的许多痕迹,可以收集到大量有价值的数据,如病毒或蠕虫的源码、黑客的操作等,从而便于提供丰富的溯源数据。另外蜜罐也可以消耗攻击者的时间,基于 JSONP 等方式来获取攻击者的画像。
但是蜜罐存在安全隐患,如果没有做好隔离,可能成为新的攻击源。
不同类型的蜜罐及其工作原理
不同类型的蜜罐可以用来识别不同类型的威胁,各种蜜罐定义均基于所解决的威胁类型,它们都在全面有效的网络安全策略中占有一席之地。
电子邮件陷阱或垃圾邮件陷阱将伪造的电子邮件地址放置在隐藏位置,只有自动地址收集器才能找到它。由于该地址除了是垃圾邮件陷阱外,没有任何其他用途,因此可以 100% 确定发送到该地址的任何邮件都是垃圾邮件。所有与发送到垃圾邮件陷阱的邮件内容相同的邮件都可以被自动阻止,并且发件人的源 IP 可以添加到黑名单中。
可以设置一个诱饵数据库来监控软件漏洞,并发现利用不安全的系统架构或使用 SQL 注入、SQL 服务漏洞或滥用权限的攻击。
恶意软件蜜罐模仿软件应用程序和 API 来引诱恶意软件攻击。然后可以通过分析恶意软件的特征,来开发反恶意软件或封堵 API 中的漏洞。
爬虫蜜罐旨在通过创建只有网络爬虫才能访问的网页和链接来诱捕网络爬虫。检测网络爬虫可以帮助您了解如何阻止恶意机器人以及广告网络爬虫程序。
通过监视进入蜜罐系统的流量,我们可以评估:
- 网络犯罪分子来自何处
- 威胁级别
- 攻击者的作案手法
- 攻击者感兴趣的数据或应用程序
- 我们的安全措施在阻止网络攻击方面的效果如何
另一个蜜罐定义着眼于蜜罐是高交互还是低交互。低交互式蜜罐使用的资源较少,收集有关威胁的级别和类型以及威胁来源的基本信息。它们的设置简单快捷,通常只需模拟一些基本的 TCP 和 IP 协议以及网络服务。但是蜜罐中没有任何内容可以让攻击者长时间交互,您不会获得有关他们的习惯或复杂威胁的深入信息。
另一方面,高交互性蜜罐旨在使黑客在蜜罐内花费尽可能多的时间,从而提供有关他们的意图和目标以及他们正在利用的漏洞和所用作案手法的大量信息。可以将其视为添加了“胶水”的蜜罐 - 可以让攻击者花费更长时间交互的数据库、系统和进程。这使得研究人员能够跟踪攻击者在系统中的哪些位置查找敏感信息,他们使用哪些工具来提权,或者利用哪些漏洞来破坏系统。
然而,高交互蜜罐需要大量资源。设置和监视它们更加困难且耗时。它们也会产生风险;如果未使用“蜜墙”进行保护,那么一个坚决而狡猾的黑客可以使用高交互蜜罐攻击其他互联网主机,或者从受感染的计算机发送垃圾邮件。
两种类型的蜜罐都在蜜罐网络安全中占有一席之地。将两种类型结合使用,可以通过添加有关高交互蜜罐的意图、通信和漏洞利用的信息来优化有关低交互蜜罐的威胁类型的基本信息。
通过使用网络蜜罐创建威胁情报框架,企业可以确保将其网络安全支出定位在正确的位置,并可以查看安全弱点所在。
HFish
HFish 是一款社区型免费蜜罐,侧重企业安全场景,从内网失陷检测、外网威胁感知、威胁情报生产三个场景出发,为用户提供可独立操作且实用的功能,通过安全、敏捷、可靠的中低交互蜜罐增加用户在失陷感知和威胁情报领域的能力。
HFish 具有超过 40 种蜜罐环境、提供免费的云蜜网、可高度自定义的蜜饵能力、一键部署、跨平台多架构、国产操作系统和 CPU 支持、极低的性能要求、邮件/syslog/webhook/企业微信/钉钉/飞书告警等多项特性,帮助用户降低运维成本,提升运营效率。
手动安装
下载安装包:https://hfish.cn-bj.ufileos.com/hfish-2.8.1-linux-amd64.tgz
解压安装包到 hfish 文件夹:
mkdir hfish
tar zxvf hfish-2.8.1-linux-amd64.tgz -C hfish
若在服务器部署需要先在防火墙开启 4433、4434 和 7879 端口,确认返回success
(如果有其他服务需要打开端口,使用相同命令打开)
演示使用 kali 因此不需要防火墙设置,此步骤可略过
firewall-cmd --add-port=4433/tcp --permanent (用于web界面启动)
firewall-cmd --add-port=4434/tcp --permanent (用于节点与管理端通信)
firewall-cmd --reload
进入安装目录直接运行install.sh
:
cd hfish
sudo ./install.sh
安装完成后登录 web 页面进行后续操作:
登陆链接:https://your-ip:4433/web/
账号:admin
密码:HFish2021
登录后会要求选择数据库配置,这里演示就选择 SQLite 并点击确定:
在安装完成后,HFish 会自动在管理端上创建一个节点,可在节点管理进行查看:
HFish 基本结构
HFish 由管理端(server)和节点端(client)组成,管理端用来生成和管理节点端,并接收、分析和展示节点端回传的数据,节点端接受管理端的控制并负责构建蜜罐服务。
HFish 各模块关系图:
融合在企业网络中:
添加/删除节点
默认节点
安装 HFish 管理端后,默认在管理端所在机器上建立节点感知攻击,该节点被命名为「内置节点」。
该节点将默认开启部分服务,包括 FTP、SSH、Telnet、Zabbix 监控系统、Nginx 蜜罐、MySQL 蜜罐、Redis 蜜罐、HTTP 代理蜜罐、ElasticSearch 蜜罐和通用 TCP 端口监听。
【!】该节点不能被删除,但可以暂停。
新增节点
进入节点管理
页面,点击增加节点
:
根据节点设备类型选择对应的安装包和回连地址:
在节点机器执行命令语句或安装包,即可成功部署节点:
删除节点
进入节点管理
页面,在节点列表中找到要删除的节点,点击该节点右侧删除
,HFish 需要二次验证您的管理员身份,输入 admin 密码后,节点将被删除。
节点被删除后:
- 节点端进程会自动退出,但程序会保留在原有路径,需要手动二次删除;
- 所有攻击数据不会丢失,仍然能在所有数据中进行查看。
添加/删除蜜罐
添加节点后,可以配置节点部署多种蜜罐服务,HFish 提供两种方式配置节点服务。
直接修改蜜罐服务
该方法可以快速修改单个节点上的蜜罐服务,点击单个节点,可直接对节点上的服务进行添加和删除:
当前有 42 种蜜罐服务:
创建模版,应用到多节点
蜜罐模板便于用户同时管理很多节点,批量更改蜜罐服务,即将一套模板批量应用到多个节点上。
首先进入模版管理
页面,点击新建模板
:
输入模板名称,选择蜜罐服务,填写描述信息,点击确定
保存:
进入节点管理
页面,展开具体节点,选择上面创建的蜜罐模板:
等待节点完成模板加载后,服务状态应该为在线
,如果显示为离线
,说明蜜罐服务没有正常启动,可以将鼠标移动到问号上查看提示信息。
查看攻击
当前,HFish 提供四个不同的页面进行攻击信息查看,分别为:攻击列表、扫描感知、攻击来源、账号资产
四种功能分别代表四种不同的攻击数据场景
功能简介 | 功能原理 | |
---|---|---|
攻击列表 | 收集所有对蜜罐的攻击 | 节点部署蜜罐后,攻击者对蜜罐的所有攻击信息都会被收录到「攻击列表」中。 |
扫描感知 | 收集了节点机器网卡的所有连接信息 | 节点生成之后,HFish 会记录对节点所有网卡的连接,包括来访 IP,连接 IP 和端口。 |
攻击来源 | 收集了所有连接和攻击节点的 IP 信息 | 所有尝试连接和攻击节点的 IP 信息都被记录在攻击来源中,如果蜜罐溯源和反制成功,信息也会被记录其中。 |
账号资产 | 收集了所有攻击者破解蜜罐使用的账号密码 | HFish 会提取攻击者对 SSH、以及所有 Web 蜜罐登陆所使用的账号密码,进行统一展示。同时,用户可自定义监控词汇,如员工姓名、公司名称等,一旦与攻击者使用的账号重合,可高亮显示并告警。 |