攻防|一篇文章带你搞懂蜜罐
发布日期:2024-05-19 浏览次数: 专利申请、商标注册、软件著作权、资质办理快速响应热线:4006-054-001 微信:15998557370
原文由作者授权发表,首发在:先知社区
https://xz.aliyun.com/t/14276
蜜罐是什么?为啥某些行业注重蜜罐?蜜罐的效费比高吗?蜜罐真的是未来的主流吗?安全运营对蜜罐什么态度?这些问题一直困扰着当时攻防演练结束后的笔者。多年笔者立下了flag要讲明白什么是蜜罐,蜜罐有什么用,蜜罐的定位,企业环境下蜜罐的规划;犹记当时鲜衣怒马,流觞赋曲,何其自傲!经过雨打风吹,才知天外有天,今日文章(参考图一),一为笔者兑现诺言,二为抛砖引玉,降低以后其他关于蜜罐文章的阅读门槛。
图一
那么,蜜罐是什么呢?答:蜜罐是一种网络陷阱或诱饵(图二),其设计看起来像是系统、网络或其他数字环境的合法部分。蜜罐用于引诱攻击者远离真正的企业资产,蜜罐可以根据软件、服务器基础设施甚至整个网络进行建模,以使攻击者错误的认为这是企业资产。用通俗的话讲,蜜罐就是虚假的企业资产,在通过创建漏洞,引诱攻击者使用漏洞进行黑客攻击。
图二(图片来源)
蜜罐是发现企业系统漏洞的好帮手(例如:蜜罐不仅可以显示对物联网设备的攻击所造成的高度威胁,还可以提出改进安全性的方法)。使用蜜罐有如下几个优点:蜜罐获得的流量都是非法的,因此记录的事件都可能是探测或入侵尝试。这使得发现攻击的特征变得更加的容易(例如:用于进行网络扫描的相似IP地址或全部来自一个国家/地区的IP地址)相比之下,其他安全设备时刻产生大量的可疑流量,蜜罐可以更好的帮助企业SOC的监测和研判。使用蜜罐安全性也是一大优点,蜜罐当中的恶意地址可以作为企业IOC的参考指标,从而更容易识别恶意攻击。一个好的、配置合理的蜜罐会欺骗攻击者,让攻击者相信自己已获得真实系统的访问权限。攻击者会获得具有与真实系统相同的登录警告消息、相同的数据字段甚至相同的外观和配置策略。但是,如果攻击者成功将其识别为蜜罐,攻击者就会转而攻击企业的其他系统,避免与蜜罐接触的同时,攻击者会提供错误的信息给蜜罐。攻击者还可能会使用蜜罐作为进入系统的一种方式,这就是蜜罐永远不能取代防火墙和其他入侵检测系统等足够安全的控制措施的原因。由于蜜罐可以用作进一步入侵的踏板,因此请确保所有蜜罐都得到良好保护。
0X01蜜罐"变种"
蜜罐的种类有哪些呢?答:如下图三所示
图三
电子邮件蜜罐:电子邮件蜜罐使用欺骗性电子邮件地址,只能使用自动地址收集器等可疑方法才能检测到该地址,这意味着合法用户无法找到该地址。因此,发送到该地址的所有邮件都会被归类为垃圾邮件,并且这些电子邮件的发件人会立即被网络阻止。这有助于互联网服务提供商阻止垃圾邮件
数据库蜜罐:组织经常创建包含虚假内容的诱饵数据库,以识别和消除系统漏洞。数据蜜罐可以收集有关SQL 注入和黑客用来访问虚假数据库的其他方法的信息,它们还可以用于分析攻击中窃取的虚假数据的传播和使用。
恶意软件蜜罐:恶意软件蜜罐是一种旨在通过模仿软件应用程序或 API 来吸引恶意软件的技术,创建一个受控环境,让创建者可以安全地分析恶意软件攻击。然后,该信息可用于构建更复杂的恶意软件防御措施
蜘蛛蜜罐:网络爬虫或“蜘蛛”是此类蜜罐陷阱的预期目标。蜘蛛蜜罐创建只能由自动网络爬虫或机器人访问的网页和链接,使组织能够深入了解它们的运作方式以及它们可能导致的任何潜在问题
客户端蜜罐:传统的蜜罐是被动等待攻击的服务器蜜罐。但客户端蜜罐(或计算机蜜罐)是主动安全机制,寻找发起攻击的服务器。客户端蜜罐模拟客户端设备,与服务器交互,并调查是否发生了攻击。
其实蜜罐的分类方式有很多按照学术的标准分为:生产蜜罐\研究蜜罐;按照按交互级别划分,蜜网和其他形式的蜜罐安全可以根据三个不同的交互级别进一步分为:纯蜜罐、高交互蜜罐、低交互蜜罐......(如图四、图五所示)
生产蜜罐:被大型组织用作主动防御的诱饵,引导黑客远离主网络。组织使用从这种“受控”黑客行为中收集的数据来消除其防御中的任何弱点,并更好地保护其真实网络免受黑客攻击
研究蜜罐:是复杂的陷阱,通常由政府或大型网络安全组织用来跟踪高级持续威胁的发展并掌握不断发展的黑客技术
图四
纯蜜罐:最复杂且维护起来最具挑战性的综合操作系统。纯蜜罐配备模拟敏感文档和用户数据,向潜在入侵者呈现最真实的外观
高交互蜜罐:复杂的蜜罐允许黑客在基础设施内自由活动,为分析师提供有关网络犯罪分子活动的最多数据。高交互蜜罐需要更多维护,并且可能带来更高风险
低交互蜜罐:这些诱饵不是模仿整个系统,而是代表公司系统和服务中对黑客最有吸引力的部分。因此,它们提供的有关攻击者的信息更加有限,但可以使用TCP/IP 协议更轻松地进行设置
图五
蜜币诱饵
蜜币是蜜罐的一个子集,其设计与合法的凭证或秘密泄露的密钥有关(如图六)。当攻击者利用蜜币的时候,会立即触发相应的警告。这使得企业SOC能够根据告警讯息(例如:IP地址(用于区分内部和外部来源)、时间戳、用户代理、以及在 honeytoken操作的日志)迅速采取行动。对于蜜币来说,诱饵就是凭证。当企业遭到入侵时,攻击者通常会寻找薄弱的企业资产进行横向移动、提权操作或窃取敏感数据。在这种情况下,API密钥等编程凭证是理想的入侵目标,原因是密钥具有可识别的权限,并且通常包含对攻击者有用的企业信息。因此,它们是攻击者在违规期间搜索和利用的主要目标,也是防御者最容易传播的诱饵。
企业SOC通过在多个位置传播蜜币(例如:托管在云资产、内部服务器、第三方SaaS工具以及工作站或文件上),企业安全运营团队可以在几分钟内检测到漏洞,从而增强软件交付管道的安全性,防止潜在的入侵。蜜币的简单性是一个显着的优势,企业可以轻松地在企业范围内创建、部署和管理蜜币,同时保护数千个代码存储库,从而达成在入侵检测方面"左移"的需求。运营人员创建蜜币并将其放置在代码存储库和软件供应链中。当在代码中放置honeytoken时,利用GitGuardian可以确定它们是否已在公共 GitHub 上泄漏以及泄漏位置,从而显着减少安全告警。
图六(图片来源)
面包屑
面包屑(Breadcrumb)是蜜罐的"变种",针对闯入企业员工PC的情况,攻击者通常会转到注册表和浏览器历史记录,以查看该用户在何处查找内部服务器,打印机和其他设备。面包屑的作用就是模仿这些设备的诱饵的地址。常见的面包屑的用法(图七)是将这些诱饵的地址放在最终用户设备上。如果设备受到威胁,攻击者可能会跟随面包屑进入诱饵,从而警告企业运营人员已发生入侵。随着软件行业的不断发展,让企业低成本获得安全防护是未来的发展趋势。Honeytokens提供了一种主动且简单的解决方案,可以尽快检测软件供应链中的入侵。可以帮助企业保护其系统,无论其堆栈或使用的工具有多复杂(源代码控制管理 (SCM) 系统、持续集成、持续部署 (CI/CD) 管道和软件工件注册表等)。
图七(图片来源)
蜜网
蜜网由网络上的两个或多个蜜罐组成(如图八)。拥有一个互连的蜜罐网络对于溯源有着巨大的优势。蜜网使得企业能够时时跟踪攻击者与一个资源或网络点交互的过程,还可以监视入侵者如何在网络上的点之间移动以及同时与多个点交互的状态。目标是让攻击者相信他们已经成功突破了网络,因此拥有更多虚假网络目的地可以使设置更有说服力。
图八(图片来源)
0X02"运行"蜜罐
蜜罐又是如何工作的呢?答:蜜罐通过诱饵引诱攻击者,就像蜂蜜会吸引熊一样。在网络安全领域,蜜罐是旨在诱导攻击者攻击的虚假数字资产或环境(这些资产看上去和合法计算机系统一样运行的软件应用程序和数据没有什么不同), 蜜罐通常包含一个不太明显的安全漏洞,但足够合理,以至于许多攻击者错误的认为真实的企业资产。这会诱导攻击者远离受到更好保护的真实系统。网络安全人员可以监控所有未经授权的蜜罐流量,并在可控环境中了解攻击者的策略,同时保持企业网络的安全。在设置蜜罐时,可将其装扮成对不同类型的攻击者来说是必要的目标或者是唾手可得的目标,蜜罐通常还会被植入易于跟踪的数据,使运营人员能够实时的监控数据泄露,并监控整个攻击流程。
蜜罐在笔者看来最的基本用途就是提高攻击者的攻击门槛(成本可控),攻击者在蜜罐上浪费精力的时间越多,攻击者用来入侵实时系统并对企业资产造成实际损害的时间就越少。蜜罐同时也能够提供有关攻击路径如何演变的可靠情报,同时提供有关攻击资产、漏洞利用和恶意软件的信息;蜜罐有助于确定新出现的威胁和入侵,企业SOC可以充分利用蜜罐有利于消除安全盲点。由于,攻防演练的普及,部分企业对蜜罐的溯源能力比较看重,这就是业务需求导致的变化吧。在国内蜜罐的存在和溯源密切相关,各大厂商的产品不提一句无感溯源,那就是对不起自己家的产品,但是企业需要蜜罐干什么?这企业SOC的目标契合吗?笔者不敢苟同。我们站在企业安全视角下审视蜜罐糖度问题,糖度也可以作为欺骗技术的衡量指标,欺骗技术可以有效检测恶意活动的主动安全防御方法;一方面,这种策略构建了一个虚假信息和模拟环境来误导对手的判断,使毫无戒心的攻击者陷入陷阱,浪费时间和精力,增加了入侵的复杂性和不确定性;另一方面,运营人员可以收集更全面的攻击日志,部署对策,追踪攻击者的来源并监控其攻击行为。记录所有内容以研究攻击者使用的策略、技术和程序 ,这对安全运营人员有很大帮助。
话说回来,数据采集分析能力和厂商的售后服务(威胁情报)也是企业采购考虑的重要指标,由于蜜罐处理的流量非常有限,因此蜜罐的资源也很有限。蜜罐对硬件要求不高,企业可以使用淘汰的计算机设备来设置蜜罐,降低成本。软件方面可以从在Github上获得许多开源的蜜罐,进一步减少了启动和运行蜜罐所需的内部工作量。蜜罐的误报率很低,这与传统的入侵检测系统 (IDS) 形成鲜明对比,传统的入侵检测系统会产生大量的错误警报,这有助于优先考虑工作并将蜜罐的资源需求保持在较低水平(事实上,通过使用蜜罐收集的数据并将其与其他系统和防火墙日志相关联,IDS 可以配置更多相关警报,以减少误报。这样,蜜罐可以帮助完善和改进其他网络安全系统)。
蜜罐可以为企业提供有关威胁情报、攻击媒介、漏洞利用和恶意软件的信息。网络蜜罐有助于发现新出现的威胁和入侵。充分利用蜜罐也有助于消除安全盲点。蜜罐是一个受控且安全的环境,用于展示攻击者如何工作并检查不同类型的威胁。有了蜜罐,安全人员就不会因使用网络的真实流量而分心——他们将能够专注于事件分析。蜜罐还可以捕获内部威胁,大多数企业都会花费大量时间保卫外部资产,并确保外来者和入侵者无法进入。但是,如果企业只保卫外围,那么任何成功突破外部网络的攻击者都可以成功获取企业内部权限,防火墙也无助于抵御企业内部威胁(例如,员工想要在辞职前窃取文件)。但是蜜罐可以为您提供有关内部威胁的同样好的信息,并显示允许内部人员利用系统的权限等领域的漏洞(如图九)。
图九(图片来源)
0X03"运用"蜜罐
蜜罐的好处有不少,笔记将从捕获、溯源、监视三个反面来说。针对于安全预算不够充沛的企业来说,开源蜜罐通常搭建方便,独立运行,运用灵活,因此蜜罐具有成本效益且维护成本低的优点。企业在不追求"溯源"的情况下,是不错的选择。蜜罐对于以低风险的方式暴露组织安全漏洞非常有价值。通过分析攻击者使用哪些漏洞来攻击蜜罐中的资产,企业可以根据自身情况实时监测响应,以帮助阻止这类攻击。同时蜜罐还可在企业内部网络环境受到实际性损害之前识别和捕获恶意攻击。如果企业内部的权限存在缺陷,导致有员工利用公司的数据为自己谋取利用,蜜罐也可以有效地先发制人地识别内部弱点和威胁。
至于某些金融行业(银行、券商......)、运营商、能源、电力行业,由于资金充沛,且对于安全较为重视,蜜罐的另一个特点将被重点放大,那就是溯源能力。蜜罐是有效的威胁检测器,可引诱黑客进入受控环境,以便监控他们的活动。他们从事有关网络攻击的真实数据收集,包括有关黑客行为、工具、技术和新攻击媒介的信息。这有助于安全团队了解网络攻击的运作方式。相较于其他类型的识别安全威胁的技术通常误报率很高,其中警报会标记不存在的威胁。但由于蜜罐无法通过合法手段访问,因此误报率非常低。
针对攻防演练来说,蜜罐的作用就相对比较单一,那就是溯源得分。攻防演练时期,笔者非常困惑,到底咋做到溯源获得好几千分的呢?笔者后来和蓝队大佬们请教后发现,部署蜜罐才是核心,通过部署蜜罐诱骗攻击者,从而获取攻击者信息(例如:蜜罐可以模拟企业运行环境和配置,从而引诱攻击者渗透企业虚假资产。通过这种方式,企业SOC将能够抓住攻击者投放的有效负载,即可以通过Web应用程序中的 JavaScript获取有关攻击者主机甚至Web浏览器的信息,也可以通过 JSONP 劫持了解攻击者的社交媒体帐户,并通过"蜜文件"反击攻击者,参考图十)。
图十(图片来源)
随着网络安全技术的发展,蜜罐欺骗已应用于网络、数据库、移动应用程序和物联网等各种环境中。可以预见,未来几年欺骗技术将会更加成熟和广泛应用。由于笔者在某跨国实体企业工作,所以接触了不少不错的IOT设备蜜罐、Docker蜜罐和面包屑,在这里笔者推荐给大家,用法如下。
Conpot(工业蜜罐):一款开源低交互蜜罐,支持各种工业协议,包括IEC 60870-5-104、楼宇自动化和控制网络(BACnet)、Modbus、s7comm以及HTTP、SNMP和TFTP等其他协议
Whaler(Docker蜜罐):一款Docker蜜罐/沙箱,Whaler完全在Docker中运行,该蜜罐的核心是Docker in Docker(DinD)容器,通过暴露了一个不安全的Docker Daemon API,吸引和捕获尝试运行恶意容器的尝试
honeybits(面包屑):一个简单的 PoC 工具,旨在通过在生产服务器和工作站上传播面包屑和蜜币来引诱攻击者进入蜜罐,从而提高陷阱的有效性
Conpot(工业蜜罐)
Pre-Build镜像: 1、docker pull honeynet/conpot 2、docker run -it -p 80:80 -p 102:102 -p 502:502 -p 161:161/udp --network=bridge honeynet/conpot:latest /bin/sh 3、conpot --template default
源代码编译: 1、git clone https://github.com/mushorg/conpot.git 2、cd conpot 3、docker build -t conpot . 4、docker run -it -p 80:80 -p 102:102 -p 502:502 -p 161:161/udp --network=bridge conpot
Whaler(Docker蜜罐)
curl https://raw.githubusercontent.com/oncyberblog/whaler/master/get-whaler.sh | sudo sh export LOGZIO_TOKEN=
- 上一篇:记一次黑盒摸鱼意外挖到的0day
- 下一篇:记一次H1漏洞提交记录