版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章绪论1.1研究背景和意义在网络安全领域,攻击手段层出不穷,传统被动防御措施难以抵御越发复杂的网络攻击。蜜罐技术应运而生,他的主动防御技术弥补了现代网络攻击的不足,该技术通过和docker技术结合,实现了快速部署、快速响应,利用容器的隔离环境给其提供了安全和便捷性。1.1.1研究背景在当前复杂多变的网络环境中,网络攻击的复杂度逐渐在提高,传统的网络安全解决方案就是在网络边界上面部署安全设备,包括防火墙、入侵检测系统、入侵防御系统等,这些安全设备通过对出入站的规则进行匹配和流量进行分析,排查出恶意的攻击从而阻断掉,这种方式在当时的情况下起来很大部分作用,但是在目前的日益严峻的环境中,单纯的部署这些设备就显得很单一了。蜜罐系统已然顺势而为,成为当下的安全溯源必备的流量捕获系统,他不仅可以捕获攻击者的流量判断攻击行为,记录暴力破解的证据,还可以为安全部门提供溯源的建议和数据支撑。在当下的网络防御体系中有着举足轻重的作用。他弥补了传统只部署安全设备的缺陷。近年来,容器技术的发展为蜜罐的优化部署提供了一种全新的解决方案。Docker作为一种虚拟化技术,它和蜜罐技术的结合在安全性上面又提升了很多,他给蜜罐系统提供了一个独立运行的环境,很多蜜罐服务都可以基于docker部署在这上面,方便了管理人员的运维。1.1.2研究意义本研究在网络安全领域创造了很多的价值,通过docker技术与蜜罐技术的结合,在部署层面有了很大的优势,可以一键部署,很快响应。相比于传统的宿主机蜜罐系统,就体现出了以下几部分:第一,在网络服务方面,他提供了一个在宿主机上完全隔离的网络环境,或者在网络环境当中共享宿主机的网络环境,根据不同需求选择两类,这在部署上很容易实现;第二,在软件启动方面,docker提供了镜像,相比于传统的虚拟化服务,镜像功能打包了一个服务最核心的要素,比如最基本的命令行界面等,这种打包技术使得服务能够很好的快速运行,不需要其他任意的额外的进程资源调用。第三,可以自定义镜像,通过编辑Dockerfile文件,一层一层的编辑文件详细信息,在结合自己的业务需求,部署到对应的服务上面,最后使用dockerbuild命令基于这个Dockerfile文件构造一个镜像,然后基于镜像启动一个容器就可以动态的访问自己部署的镜像了。这种方式比传统的虚拟化的方式很实用,效率更好、效果更好、资源占用更低。基于docker的蜜罐系统的部署也是利用了这个优势,这样的部署方式既安全又方便管理。1.2国内外发展现状随着网络攻击手段的不断升级,网络安全防御体系也在持续发展。蜜罐技术作为一种主动式防御工具,在全球范围内得到了广泛的研究和应用。当前,国内外关于蜜罐技术的研究主要集中在以下几个方面:蜜罐系统的架构优化、攻击行为的分析、智能化蜜罐的发展以及蜜罐与其他安全技术的结合。结合国内外相关文献,本文对当前蜜罐技术的发展现状进行分析,以揭示其在网络安全防御体系中的重要性和未来发展趋势。国外对蜜罐技术的研究较早,相关理论和实践较为成熟,主要体现在系统架构、数据分析及智能化发展等方面。在蜜罐架构方面,早期的蜜罐系统多为低交互蜜罐(Low-InteractionHoneypot),例如Honeyd,该类蜜罐能够模拟网络服务,吸引攻击者进行交互,并记录其行为数据。然而,由于低交互蜜罐只能提供有限的交互环境,难以捕获复杂攻击,因此研究逐渐转向高交互蜜罐(High-InteractionHoneypot)。像Kippo和Cowrie这样的高交互蜜罐可以提供完整的系统交互环境,使攻击者能够执行更复杂的攻击操作,防御方因此能获取更完整的攻击数据。就最近的情况来看,随着云计算和虚拟化技术的发展,蜜罐系统逐渐向容器化和分布式架构演进。例如,研究人员提出基于云计算的蜜罐系统,通过分布式架构提高蜜罐的灵活性和可扩展性。此外,容器技术的引入也进一步简化了蜜罐的部署和管理,使其能够更轻松地适应不同的网络环境。在攻击行为分析方面,国外研究者利用大数据分析技术对蜜罐捕获的攻击数据进行处理。国内对蜜罐技术的研究起步就相对较晚,但近年来在网络安全形势日益严峻的背景下,我国的相关研究逐渐增多,并取得了一定的成果。在蜜罐架构研究方面,国内学者同样关注低交互蜜罐和高交互蜜罐的优化。例如,有研究者提出基于SDN(软件定义网络)的蜜罐系统,该系统通过控制流量转发,将攻击者引导至蜜罐环境,以提高攻击诱捕的成功率。此外,一些研究结合虚拟化和容器化技术,提出更轻量级、更易管理的蜜罐方案。例如,我们要研究的基于Docker容器的蜜罐系统可以快速部署多个实例,达到快速部署与快速响应的效果。在攻击行为分析方面,国内研究者主要结合大数据分析技术,提升蜜罐的攻击检测能力。针对一些复杂情况下,一些研究引入关联分析技术,将蜜罐数据与其他安全数据进行整合,形成更全面的安全态势感知能力。总体来看,国外研究起步较早,技术体系较为成熟,特别是在分布式蜜罐、智能化蜜罐及大规模攻击分析等方面有很多研究成果。国内研究虽然起步较晚,但近年来发展迅速,在容器化部署、智能分析及攻击溯源等方面也取得了一定的进展。国外的研究更倾向于利用最新的技术,如人工智能、区块链等,以增强蜜罐的欺骗性和数据分析能力。而国内研究更多关注蜜罐的高效应用,比如如何在企业环境中高效部署蜜罐,有效捕获攻击者的攻击行为。在部署方式上,国外研究较早采用云计算和分布式架构,以提升蜜罐系统的弹性和扩展能力。国内近年来也开始关注这些方向,特别是结合Docker技术,提出了一些轻量级、高效的蜜罐方案。1.2.1研究内容本研究围绕Docker容器化技术与蜜罐系统的结合展开,目的是提高蜜罐系统部署的效率和实用率,从而更高效地诱捕攻击者并分析其行为。研究的核心在于利用Docker的轻量级、跨平台兼容特性,优化传统蜜罐系统的部署方式,做到一键部署、一键响应。具体研究内容如下:首先,本文深入分析现有蜜罐技术,探讨不同类型蜜罐的优缺点,在此基础上,设计了一套基于Docker的容器化部署流程,实现蜜罐的快速搭建和环境适配,降低维护成本,提高实用性。其次,研究重点放在蜜罐系统的安全性和稳定性优化。针对传统蜜罐存在的部署难度大、资源消耗高、等问题,本文引入了容器隔离机制、数据持久化存储策略、日志分析与威胁情报融合等手段,以提高蜜罐的稳定性和攻击行为采集能力。同时,实现对蜜罐实例的快速管理,使其能够模拟更复杂的网络环境。在实验部分,分为搭建环境阶段和攻击阶段。先在kali系统上面更新了本地系统,下载了docker的相关依赖,配置了mysql数据库作为蜜罐后端存储数据所用,搭建了一个基于docker的蜜罐系统,通过挂载卷让容器里面的数据进行持久化存储,让容器的网络和主机共享一个网,让其以特权模式运行等。完成这些准备工作之后进入容器内部:设置不同的蜜罐节点,开设多台虚拟机,每台虚拟机设置为一个节点,在管理端进行统一管理每个节点又可以设置不同的服务蜜罐,比如ssh、tomcat、mysql、Redis蜜罐等,系统的把这些蜜罐节点的各个服务部署好。在攻击阶段:开设一台或多台攻击机对靶标的各个节点机器进行端口扫描、信息收集、漏洞探测等,模拟黑客攻击方式,把靶标当做真实的服务进行攻击,用各种方式进攻目标系统。最后在蜜罐的管理端验证该蜜罐系统是否成功捕捉到了黑客的攻击行为,对攻击的行为进行综合分析,知道攻击者的真实意图。本研究的最终目标是构建一个高效、易部署、难识别的蜜罐系统,以攻击者的角度和防御方的角度相结合,不断进行攻防测试,不断优化蜜罐环境的部署,把攻击者的所有网络流量都引到蜜罐系统中,达到捕获攻击者任何的攻击行为的目的。为安全研究员提供可靠的真实的攻击数据,为网络安全防御体系的发展贡献力量。1.3课题主要工作(1)调研与需求分析:通过广泛查阅国内外蜜罐技术和容器化技术的研究现状,明确了课题的研究背景和意义,详细分析了蜜罐系统在当前网络安全防御中的应用场景与优势,明确了本课题的具体目标和实现方向。通过对现有蜜罐技术的对比,确定了Docker容器技术与蜜罐系统结合的必要性,并提出了基于Docker的高效蜜罐系统设计的初步框架。(2)技术选型与方案设计:在明确需求的基础上,详细分析Docker容器化技术、网络拓扑结构设计、蜜罐服务模拟技术和数据分析技术的技术原理,并选择合适的技术工具,如Docker、VMware、MySQL数据库和网络安全分析工具,构建了本课题的技术栈。具体设计了系统的总体架构,包括管理端与节点端的功能结构、网络拓扑规划和部署策略,确定了系统的主要模块及其相互关系,为系统的具体实现提供了清晰的技术路径。(3)系统环境搭建与部署:搭建了实验所需的基础环境,包括KaliLinux虚拟机环境配置,Docker容器化平台搭建,以及MySQL数据库环境的配置与优化。完成了Docker镜像的构建和部署,建立了管理端与多个节点端的通信机制,保证了蜜罐系统能在多种网络环境下快速响应和有效运行。进一步在系统中实现了模拟多个常见的网络服务(如SSH、MySQL、Tomcat),确保了蜜罐对攻击者的高效诱导能力。(4)数据采集与日志分析:设计并实现了攻击数据的采集、存储和分析机制。通过挂载数据卷,实现了攻击数据的持久化存储,并结合威胁情报分析技术,对记录下的攻击行为进行实时统计、分类和可视化展示,实现了对攻击活动的有效溯源与深入分析。此外,还通过下发蜜饵、蜜标文件等方式提升系统对攻击行为捕获的精准性,增强了蜜罐系统的诱捕效果。(5)系统测试与结果分析:在VMware虚拟机环境中搭建了多层次网络环境,包括内网、外网及DMZ区域,模拟真实企业的网络场景并部署了蜜罐服务。进行了全面的渗透测试与安全验证,对蜜罐系统的诱捕能力、日志记录能力及攻击数据分析能力进行了详尽的评估。实验结果验证了所设计蜜罐系统的可行性和有效性,证明该系统在实际应用中的实用价值与优越性。
第2章相关技术分析2.1docker技术Docker是一个开放源代码的开放平台软件,是用Go语言编写的,用于开发应用,交互应用和运行应用,它基于Linux的CGroup、Namespace、UnionFS等内核特性,实现操作系统层级的虚拟化,隔离进程运行环境。它与传统的虚拟化技术有所同,传统的虚拟化是一种资源管理技术,用于将物理资源如服务器、网络、内存、存储等抽象成逻辑资源。通过打破资源间的物理边界,虚拟化技术提高了资源的利用效率和灵活性,但是传统的存在很大的局限性,它每虚拟化一个环境出来都会占用大量的系统资源,一些和项目无关的启动项都会包含进去,大大降低了软件部署的效率,做了很多无用功,跟不上技术的发展。而Docker是轻量级、启动快、资源占用少的容器平台。容器技术是在操作系统层面进行的虚拟化,复用了主机内核,让很多容器可以共享一个主机系统,然而容器之间相互不会影响,这种方式降低了软件部署方面不必要的资源浪费,仅仅部署了服务需要的核心资源,从而在启动方面达到毫秒级,方便了企业的服务部署流程。Docker提供了官方镜像仓库dockerhub,如若想启动一个容器,必须先获取一个镜像,然后在是基于镜像启动容器。通俗的话来说,就是镜像相当于软件,容器相当于进程,基于镜像启动一个容器就是打开了一个软件运行了一个进程。docker技术在启动速度上更快,系统资源占用更低,部署简单等。这就是docker技术的优势所在。2.2蜜罐介绍2.2.1系统概述搭蜜罐系统是一种主动防御技术,他的出现是为了应对日益复杂的网络环境,在如今的世界,没有网络安全就没有国家安全。世界各国都在大力加强对互联网安全的技术研发投入,蜜罐技术当仁不让,该系统就是为了诱导攻击者进行攻击,设计的目的就是为攻击者设置的,一个企业的真实业务不会部署在蜜罐系统上面,这个系统通过主动暴露出一些端口服务,让攻击者攻击,把他从真实的业务服务引入到蜜罐服务当中,通常来讲,这种主动防御技术要做到足够逼真,才能成功诱骗到攻击者。一旦攻击者对这些蜜罐服务进行访问,蜜罐系统就会随时记录下攻击者的请求流量,包括攻击者的ip地址、请求时间、被请求的服务、请求的频率,用到的哪些账号密码进行访问等,不管是正常请求还是恶意请求,都会被完整的记录下来。蜜罐分为低中高交互三个层面,低交互的话是仅仅提供一个前端js页面呈现给攻击者,攻击者与这个蜜罐系统仅仅限于登录尝试,并不会登录进这个系统;而中交互就是会进一步做些交互动作,提供了更多的交互能力,会模拟一些漏洞场景故意诱导攻击者;高交互蜜罐的话就会提供一个很真实的系统,攻击者会登录这个虚假的系统进行交互。不管是哪一种层面的交互,蜜罐系统会完整的记录下攻击链。图2-1docker蜜罐系统概览2.2.2基本框架蜜罐系统一般都是采用B/S架构,由管理端和节点端组成,管理端用来生成和管理节点端,并接收、分析和展示节点端回传的数据,节点端接受管理端的控制并负责构建蜜罐服务。部署蜜罐的管理端的服务一般在DMZ区域的网段,可以同时管理内网和外网的节点端的蜜罐系统。蜜罐系统设置了一些的基本功能,包括前端首页的页面和各个功能模块的展示,通过收集的攻击事件可以一目了然的看到。系统中还包括了后端的提供的基础服务,后端的日志分析模块,后端与前端的交互点,后端的攻击数据接收模块等,这些服务都提供了与前端界面的交互,让后端收集到的信息很好的展现到了前端页面,供安全人员研究分析,还有后端的sqllite服务,蜜罐系统一般都会内置小型的数据库,以便于初步测试系统的稳定性,但是在面对强大的攻击环境中,内置的数据库的局限性就暴露出来了,此时我们就是需要自己搭建一个后端MySQL服务作为蜜罐的数据库存储收集到的攻击数据。图2-2docker蜜罐基本框架2.3基于docker的蜜罐蜜罐技术与docker技术的融合,带来的好处是很大的,首先,蜜罐系统作为一个诱导攻击者攻击的系统,他本身的安全性是关乎企业其他服务的。Docker技术提供了一个隔离的环境,即使攻击者成功拿下了这蜜罐系统,也不能以此为跳板进攻其他主机。其次的话,部署方式也相当的便捷,只需要自己构造好蜜罐系统的镜像,然后dockerrun启动这个镜像,在配置好宿主机和蜜罐系统的挂载卷和网络是否共享等,就可以在该主机上面完全部署一个隔离的蜜罐系统。这种部署的方式比传统的蜜罐部署更加安全、更加便捷。从部署层面来讲,蜜罐系统在安全上得到了保证,有容器给他做了权限的控制,他的活动范围只有在容器内部,对容器外面的宿主机的其他信息是不透明的,这在很大程度上保护了宿主机的安全,也就是蜜罐管理端系统的安全。依赖于docker的安全和便捷性,现在很多蜜罐服务都是在docker上面部署的,已经成为首选之一。2.4名字解释表2-4名字解释类型名称名称解释部分蜜罐服务ssh蜜罐模拟SSH远程登录服务,诱导攻击者尝试暴力破解、未授权访问等操作,并记录其输入的账号、密码以及执行的命令。Mysql蜜罐模拟MySQL数据库服务,攻击者可能会尝试SQL注入、暴力破解数据库账户等操作,该蜜罐可以收集攻击者的查询语句、执行的SQL命令等。Redis蜜罐模拟Redis数据库服务,吸引攻击者利用未授权访问、写入后门文件等手段进行攻击,可记录攻击者的命令行为,分析潜在风险。Tomcat蜜罐模拟ApacheTomcat服务器环境,主要用于捕获攻击者对Web服务器的入侵尝试,如弱口令扫描、文件上传漏洞利用等,帮助研究Web攻击手段。专业术语攻击链描述攻击者入侵目标系统的全过程,包括侦察、武器化、投递、利用、安装、命令与控制(C2)、目标达成等多个阶段,帮助安全团队分析攻击路径和防御关键点。蜜饵蜜罐系统中用于吸引攻击者的虚假目标,例如伪造的数据库、Web服务器、SSH端口等,使攻击者误以为是真实资产,从而泄露攻击手法和策略。内置节点指蜜罐内部模拟的系统组件或交互点,通常用于创建逼真的环境,让攻击者相信他们已经成功入侵正常系统,进一步暴露自身行为。扫描感知指蜜罐或安全设备对攻击者的端口扫描、漏洞探测等侦察行为进行监测,并记录相关信息,以提前发现潜在威胁。ip地址用于识别和追踪攻击者来源的关键信息,蜜罐可以通过记录恶意IP,分析其归属地、历史攻击行为等,为威胁情报提供数据支持。安全漏洞蜜罐可以模拟存在漏洞的系统或服务,以观察攻击者如何利用这些漏洞进行入侵,同时用于研究新型攻击技术并改进防御措施。堡垒机一种高安全性的跳板服务器,通常用于管理内部网络的访问控制,在蜜罐系统中可以作为防御设备,隔离蜜罐与真实业务环境,防止攻击者利用蜜罐进行横向移动。溯源在网络安全领域指的是对攻击者的身份、来源、攻击路径等信息进行分析和追踪,以确定攻击的幕后黑手,并为防御、取证和反制提供依据。2.插图图2-4攻击链2.5典型蜜罐实现的原理2.5.1MySQL蜜罐MySQL蜜罐通过搭建一个MySQL服务,这个mysql和真实的mysql服务没什么区别,只是这个数据库中不存储重要的数据,反而是制作一些虚假的数据诱骗攻击者。该蜜罐服务会以3306端口暴露在互联网上,攻击者看到这个端口就知道是MySQL服务,他就会发起他的攻击,只要他在对这个MySQL蜜罐做信息收集的时候他的行为就已经被记录了下来,来源ip、时间等,攻击的行为有弱口令爆破,可以用hrdra来爆破等,作为蜜罐服务的提供者,如果是高交互的MySQL蜜罐,就会设置一些很简单的密码,故意让攻击者进入系统。如果他用Navicat工具连接这个蜜罐服务器,这些行为都会被记录。不仅会被记录行为,防守方还会读取本地文件,包括微信配置文件和谷歌历史记录等。MySQL中有一个loaddatalocalinfile函数能够读取本地文件到MySQL数据库中,这个语句用于高速的从一个文本文件中读取行,并且填在一个表中。正常的执行流程就是,client向server发起loaddatalocalinfile请求,server返回需要读取的文件路径,客户端读取文件内容并发生给server。MySQL蜜罐也分低交互和高交互,低交互就只模拟出一个远程连接的界面,不会登录进系统;而高交互就是上面说的那样,会进入系统并且查看信息。2.5.2SSH蜜罐许多开发人员都会使用ssh访问自己的系统,因此ssh服务器就成为了许多人的攻击目标,所谓的ssh蜜罐,就是一个假的服务器,管理员可以利用这个服务器来观察攻击者会做些什么。SSH就是模拟网络安全协议,ssh服务比一般的通信服务更加的安全,因为ssh在工作过程中会使用到多种类型的算法,比如有用于生产会话密钥的密钥交换算法,用于数据信息加密的对称加密算法、用于进行数字签名和认证的公钥算法和用于数据完整性保护的HMAC算法。它工作时由服务器和客户端组成,双方在通信的时候都要先建立TCP连接,然后进行版本协商,确定双方使用的版本号是否兼容;进行算法协商,发送支持的算法等;再进行秘钥交换,客服端首先会根据服务器公钥y和客户端私钥a计算出会话密钥K,服务器根据客户端公钥x和服务器的私钥b计算出会话密钥k,之后进入用户认证阶段,先使用客户端的私钥进行签名,发送签名的消息,会使用客户端公钥验证签名;进入会话请求阶段,发送会话请求和回复会话请求;最后就是会话交互了,客服端发送加密后的命令请求,然后服务器会使用会话密钥解密命令请求,再发回加密后的执行结果,客户端使用会话密钥解密执行结果并且显示在终端上面。这就是ssh完整的交互过程,中间充满了密钥与验证。正是因为这个蜜罐服务的安全性,很多开发者都会在系统上开启这个服务,为了方便自己在远程管理自己的服务器,对与开发者来说很是实用,但是攻击者不会因为这个服务的加密好从而放弃攻击,恰恰相反,攻击者会不断的尝试破解ssh的方法,如果能破解其中的原理,对于攻击者来说收益是巨大的,因为很多系统都开放了这个ssh服务。在这样的网络安全严峻的形式下,为了应对攻击者的这一挑战,ssh蜜罐服务便应运而生,它的出现就是主动开放给攻击者进行破解攻击的,从而记录下他们的攻击行为,对收集到的攻击数据进行分析、研判等,为了后续更好的溯源攻击者。2.5.3Tomcat蜜罐Web应用程序都是靠web服务器运行的,Tomcat是常用的web服务器之一,Tomcat作为web服务器需要处理两类的核心问题:处理socket连接、加载和管理servlet等,为了处理这两项任务,tomcat设计了两个核心组件,连接器connector和容器container来分别做这两件事情。连接器负责对外引流,容器就负责处理内部。连接器对servlet容器屏蔽了协议以及I/O模型等的区别,HTTP或者AJP在容器中获取到的都是一个标准的servletRequest对象。连接器完成了很多的任务:监听网络端口、接收网络连接请求、读取请求网络字节流、将TomcatResponse转换成网络字节流等。在Tomcat目录的webapps下,可以同时创建多个目录放入多个应用的war包,实现一个Tomcat部署多个应用。正是Tomcat服务器的广泛使用,很多应用程序都依靠Tomcat进行部署实现,这个服务就成为了攻击者重点攻击的目标。通过部署Tomcat蜜罐,引诱攻击者上当,不仅能够延缓真实的业务免受攻机,还能很好的记录下攻击行为。2.6小结本章分别介绍了docker技术和蜜罐技术的原理,然后在介绍了基于docker的蜜罐系统的设计思路,针对相关的蜜罐专业术语也进行了分别介绍,比如什么是攻击链、蜜饵、安全漏洞、ip地址、堡垒机等,认识到这些基本概念,也让我们心里有底气,减少对未知的畏惧。对特定蜜罐分支下的蜜罐服务的底层原理也进行了探讨。对基于docker的蜜罐系统的实现的各个环节有了更加清晰的思路,完整的逻辑,对蜜罐技术有了进一步的细微认识。
第3章需求分析3.1系统运用场景在当前网络形式日益严峻的情况下,传统的网络防御技术只能够在攻击者实施攻击的时候才能够防御一部分的攻击,只有当发生真实攻击的时候才能够知道自己的防御技术到底怎么样,往往发生真实攻击的时候,都是自己的真实业务受到了攻击,这是一种拿自己的真实的业务和攻击机者开玩笑,这种防御技术的远远达不到现在的企业对网络安全要求的预期。有需求就会有供给,蜜罐技术应运而生,它的诞生恰恰让企业中的防御得到了另外一个维度的提升。这种蜜罐技术,让真实的业务数据不再作为提高自身防御能力的试错点,它能够在不影响正常业务的前提下,自己主动的设置一些页面或其他服务,这些服务不是真实的业务,也没有真实的数据,不用担心这些服务被攻击了造成什么损失。从另外一个角度来看,这种蜜罐服务没有为公司的业务创造出实际的价值,完全就是“多此一举”。但是在面对当下的日益严峻的网络安全氛围下面,攻击者越来越隐蔽的攻击手段,越来越多的那种从未见过的新型攻击方式,我们防御方从来没有见过这些攻击手段,如果这些攻击方法对自己的网站服务进行攻击,如果攻击成功,那么对于一个企业来说是致命的打击。此时蜜罐系统就发挥了他的作用,以应对这种网络安全的威胁。它会部署一些虚假的服务,目的就是诱导攻击者攻击,转移攻击者的视线,让攻击者调入陷阱。捕获攻击者的攻击信息,不仅减少了其他真实的业务数据被攻击的风险,还能捕获攻击者的攻击链路,进行溯源。极大的提高了网络安全的主动防御能力。基于docker的容器技术的蜜罐系统,极大的提高了蜜罐服务部署的效率。本系统实现了对常见服务的蜜罐模拟,如ssh服务、web服务、数据库服务等,还结合日志采集与分析能力,多主机共同防御能力,适用于这些场景:渗透测试与攻防演练环境搭建、威胁情报样收集平台、企业网络安全检测与威胁分析等。3.2功能性需求本系统满足了以下功能性需求:1.可以设置多种蜜罐服务:增加诱捕成功的几率,在设置好防御主机节点之后,可以自己选择部署的蜜罐服务,本系统支持的模拟的协议/服务包括有ssh、http、https、MYsql、redis、rdp、telnet、ftp等等,这些服务可以根据实际的业务场景进行部署,都是模拟真实的服务环境,达到逼真的效果,是主动开放给攻击者的虚拟资产。2.日志记录与归档功能:攻击者一旦访问我们部署的蜜罐服务,这蜜罐管理端就可以完整记录下攻击者干过了哪些事情,查看攻击者是否对服务进行爆破、路径拼接等,同时可以查看攻击者的访问时间,攻击者的来源ip、攻击时间、使用的协议、攻击行为等,这些日志可以长久存储在主机上面,只需要启动蜜罐容器的时候把日志卷挂载到本地主机一个目录下就可以实现随时访问。3.数据分析能力:这个系统能够把攻击者的数据进行统计和分类,结合图标展示的形式让管理人员对攻击数据一目了然。4.多平台兼容:该蜜罐可以实现多个主机节点同时部署,支持在Linux系统、Windows系统平台上面,只要执行简单的几条命令就可以成加入部署节点,在节点上面部署对应的蜜罐服务。3.3非功能性需求非功能性需求主要体现在部署方式上:1.docker模块化管理:一整套蜜罐系统都是基于docker的,是以docker容器运行的,运行一个蜜罐就可以启动一个容器,可以根据不同的应用场景部署多套蜜罐服务,针对不同的业务数据,配合不同的业务逻辑进行针对性部署。利用docker技术的优势,进行多层次的部署,就算一个蜜罐被完整的攻陷,那么它也只是在容器内部,无法逃逸出真实的物理主机,更别提攻击真实物理机上面的真实业务了。况且像这样的蜜罐系统还部署了多套,无法完全的攻陷,这也是docker技术结合蜜罐系统的优势所在。2.高可移植性:借助docker系统的天然优势,配置好的蜜罐系统可以快速导出迁移到其他主机或者云平台上面,只要具备docker条件即可,由此可见这个系统具备良好的跨平台能力。3.可扩展性:这个系统的设计支持了后续功能的可扩展性,我们防御放可以根据自己的业务需求,自定义蜜罐服务,针对本公司经常被攻击的资产,可以导出前端页面和逻辑代码,新增加作为一个蜜罐服务部署在主机上,仿真这个经常被攻击系统,达到欺骗部分攻击者的目的。4.资源占用少:由于该镜像是精简版本的,占用的系统资源很少,在普通的开发机或者虚拟环境中都可以运行的,对主机的内存没有太大的要求。3.4安全性需求为了确保蜜罐系统本身的安全性,防止被攻击者识别并绕过,本系统还具备了以下能力:1.容器隔离技术:各蜜罐系统独立的运行在自己的容器中,保证了系统间的互不干扰,同时减少了潜在的攻击面。不会被完全攻陷。2.日志完整性保证:通过文件挂载把容器内部的日志文件挂载到物理机下面。防止攻击者篡改或删除记录信息。3.防反制技术:该蜜罐具备了一定的伪装能力,可以模拟https服务、真实的服务版本信息,让蜜罐服务看上去和真的没啥区别。3.5小结在这章中,我进行了需求分析,系统的运用场景,运用场景是在面对如今复杂的网络环境当中,被动防御技术难以抵挡当今的网络攻击,如果不跟进时代的发展,很多企业的资产就会被攻陷下来,造成难以估计的损失。主动防御技术弥补了传统的网络安全防御技术的缺陷。对它的功能性需求,部署了很多web蜜罐,Tomcat、用友、防火墙等,也进行了蜜饵和蜜标的下发设置,对网络资产进行立体主动防御。还对他的非功能性需求进行了分析,对它搭建的环境进行了更高的评估,以更适应蜜罐系统的部署,保证了它的兼容性等。
系统分析4.1系统总体架构本系统采用了B/S架构,整体上是由管理端和节点端组成,节点端被管理端生成和管理,管理端担任着管理员的工作,节点端的攻击事件会传输到管理端进行分析,根据管理端的请求会在节点端部署蜜罐服务。总之,在此蜜罐系统中,管理端用于分析攻击数据和攻击事件,节点端负责进行虚拟蜜罐的部署,最后是由蜜罐系统来承受攻击。该docker蜜罐系统,管理端实现的功能主要有:查看攻击日志,查看扫描记录,查看攻击的手法,进行攻击的溯源好告警等。节点端可以在管理端的要求下或者根据具体业务的开展,可以同时部署多个节点端,同时每个节点端可以进行蜜罐配置和RPC代理,之后可以在节点端部署多个蜜罐服务。也可以批量的生成节点端。4.2系统功能设计4.2.1蜜罐服务模块该蜜罐系统设计了很多蜜罐服务,在网页中或者后端数据库中都可以看到蜜罐服务十分丰富,他支持模拟大量的服务和应用,可以有效的诱导攻击者并且获得攻击者的攻击数据以及行为,它的蜜罐服务能够在不同的网络下实现分布部署和数据收集,设计的理念就是通过模拟常见的服务和设备,将攻击者引诱到虚拟的环境中,让攻击者误以为这就是真实的系统,想方设法的攻下目标,然而就是因为这种行为,会被我们的蜜罐系统完整的捕获。会在前端生成可视化信息,让分析人员研究。该蜜罐服务模块设计涵盖了超过90多种服务。包括企业服务中常见的基础网络服务、数据库服务、web应用、网络设备、安全产品等多个领域。它的基础网络服务包括ssh、telnet、ftb、smtp、pop3、http/https、RDP等,功能之强大,已经覆盖了绝大多数常见的网络协议和应用。足以吸引到攻击者对这些服务进行扫描和暴力破解等攻击。这些蜜罐服务主要通过“协议仿真”或“模拟服务”的方式部署。最大限度的和攻击者进行交互。这些蜜罐服务不是真正运行的服务程序,而是用代码模拟服务的协议响应与行为逻辑。这些蜜罐“看起来像真的,但是其实是假的”。比如ssh蜜罐模拟的openssh的握手与banner,它只会接受用户名和密码的输入,但不会建立真正的shell环境,只是记录了用户名、密码、连接ip等,这是典型的低交互蜜罐类型,同样的还有mysql蜜罐:模拟认证过程,不会做真正的数据查询。该蜜罐系统的web类型蜜罐也只是通过静态页面,提供仿真的登录页和后台系统界面。这些目标都是记录攻击行为。同时该系统还设计了提供自定义蜜罐服务的接口。4.2.2蜜罐日志采集模块这个模块主要为了收集攻击者的攻击数据,实现原理就是统一采集入口,容器蜜罐服务通过共享卷挂载到宿主机统一目录,会完整的记录日志内容,保留攻击的原始状态,有个时候会把日志转化为结构化处理的存储数据比如JSON格式,便于存储和分析。采集到日志之后可以进一步触发异常行为告警,清晰的查看到暴力破解的次数是多少次,以及ip黑名单同步,攻击趋势统计分析等,更有甚者可以和威胁情报平台进行联动查询。4.2.3数据存储模块在本项目的实现过程中,我搭建了后端数据库和容器蜜罐系统进行联动,后端数据库为了存储蜜罐服务收集到的数据。我在本实验搭建了MySQL的数据库,这个数据库设置为开机自启。在数据库中创建了一个专门用于存储攻击日志的数据库。设计了MySQL数据库作为其核心的数据存储组件,负责记录docker蜜罐的相关组件的构造信息,同时最重要的就是能持久化的记录攻击行为,服务日志、用户信息等关键数据。在蜜罐系统中可以通过配置文件中的预设的数据库连接参数,与外部搭建的MySQL服务进行通信,实现了数据的读写和交互。通过这些基本配置,蜜罐系统在攻击者攻击的时候,就能够捕获攻击者的攻击数据,把它持续的存储在数据库当中,方便我们后端调用数据库进行查看,同时结合蜜罐系统的日志进行多方面的信息分析与研究。可以把记录到的攻击信息完整的展现出来,比如攻击者的攻击时间、攻击源ip、目标端口、尝试用户名密码等信息。为后续的溯源提供的信息支撑。4.2.4节点设计模块该蜜罐系统还设计了增加节点的功能。顾名思义就是在管理端为主导的情况下,增加其他的主机作为防御节点,这样的设计解决了部署在哪台主机上就只能在哪台主机上部署对应的蜜罐服务的局限性,添加其他的主机节点之后就是相当于在其他主机上面部署一样的蜜罐服务、蜜标和蜜饵。只要是主机节点能够单向连接蜜罐管理端的4434端口就可以添加进来作为蜜罐的节点端。这种方式不需要管理端(部署蜜罐系统的主机)去主动连接节点端,提高了部署的效率。在真实的企业环境中,蜜罐管理端的通常就是放在网络环境的DMZ区或者内网区域,而其他需要主动防御的主机节点,只要能够单向连接这个蜜罐系统,不管是在外网环境还是其他环境,都可以很轻松的一键部署。部署方式也很简单,就是在管理端节点管理页面,选择新增节点,根据自己主机的系统类型,选择对应的节点架构,比如有Linux-386、Linux-ARM和Windows-386,这些都是支持部署的主机类型,部署的时候,也需要管理端开放4434端口,节点需要与管理端的4434端单向联通。这样部署成功之后,就有利于实现全方位立体式防御。部署成功之后的主机节点信息会同步记录到我们创建的数据库当中方便后续管理。4.2.5蜜标、蜜饵模块在这个蜜罐系统当中,蜜饵和蜜标是构建蜜罐诱捕能力的核心机制,蜜饵就是模拟真实业务主机环境当中的配置文件,这文件的模拟之处就会把它的下发的路径放在常见的配置文件路径下,配置文件里面会有我们事先设置好的诱导的蜜罐服务,以及给出了特定的用户名和密码,只要到攻击者利用一些方式打开了这个配置文件,并且阅读里面具有诱导性的信息,比如一般的配置文件会标明这个文件的作用,需要注意的事项、后续准备工作,相关账号密码等信息。等攻击者按照上面的要求操作之后,我们的蜜罐系统就会精确的捕捉到这一攻击链。目标蜜饵支持在Windows系统和Linux系统。蜜标的话,就是一种更加隐蔽的诱捕手段,主要是模拟了业务环境中虚假的敏感信息,包括用户数据、数据库信息、相关内部文件的模拟等等,总而言之,就是想法设法模拟这种重要的数据文件,让攻击者或者渗透测试者一看到就以为是什么机密信息,就忍不住想打开看看,一旦攻击者或者渗透测试人员打开了这个“重要数据”,那么他的行为已经被我们的蜜罐系统轻松捕获,攻击链已经暴露在我们安全人员的视线之内了。4.3网络拓扑设计除了蜜罐系统实现的基本功能外,为了体验真实环境的复杂性,本实验设计了外网、DMZ区和内网三个层面进行了部署,模拟真实企业环境下面的主动防御技术。我们的蜜罐系统部署的主机是在DMZ区域,然后设置了连个节点分别部署蜜罐服务。一个节点是外网web服务器,另一个节点就是内网当中的某台主机。模拟真实环境下的蜜罐服务发挥的效果。图4-3docker蜜罐网络拓扑图该蜜罐系统可以部署在这个三层网络结构当中,由于docker的特性,可以另外在dmz区域再启动一个蜜罐容器,适应不同的业务需求,部署在其他的网络环境中。这样的方式可以很大程度上的提高了主动防御的效率。这也是docker容器技术结合蜜罐技术的优势所在。4.4小结在这一个章节中,我对系统的总体结构进行了设计,这个架构简单来说就是客户端/服务器架构,整个系统由客户端和管理端组成,客户端上面的蜜罐服务主要是承接攻击流量,然后把接收的攻击流量转接给管理端进行受理,管理端负责对这些流量进行分析,查看是否是攻击行为,触犯了哪条规则。无论真假,只要访问了这些蜜罐服务的行为都会被记录下来。数据存储模块中,蜜罐系统会把收集到的攻击流量进行存储在数据库当中,这个数据库是蜜罐启动之初就已经建立了可靠的连接,持久化的让攻击数据可见,供后续的安全研究人员分析。同时也设计了几个节点,节点分布在外网和内网,节点上面分别部署了很多蜜罐服务,引诱攻击者,在外网主机上面也部署了真实的服务,模拟了真实服务和蜜罐服务相结合的真实场景。
系统实现5.1基础环境搭建基于本蜜罐系统是结合了docker容器技术的,是以docker容器进行部署和应用的。我首先下载了VMware版本的kali虚拟机作为搭建蜜罐系统的主要的依赖平台。完整的kali版本是Linuxkali6.12.13-amd64#1SMPPREEMPT_DYNAMICKali6.12.13-1kali1(2025-02-11)x86_64GNU/Linux下载完成这个kali虚拟机之后就是一个初始的状态。为了在虚拟机中安装docker,我先利用apt-getupdate命令更新了系统的软件包索引。它会从配置文件中/etc/apt/sources.list或/etc/apt/sources.list.d/中列出软件源下载最新的软件包列表和版本信息,然后刷新本地的缓存,为了在安装或者升级软件包的时候使用最新的数据,相当于是告诉了系统自己哪些软件是可以更新和下载的,而不是执行了真正的更新和下载操作。之后执行了apt-getupgrade命令,这条命令会更新和下载系统中的软件,它会根据apt-getupdate更新的软件包索引,从软件源下载并安装所有已安装软件包的可用更新版本。执行这两条命令都是需要root权限的。等待这两条命令执行完成之后,就可以安装docker了,安装命令apt-getinstalldocker.io。这条命令作用是在系统中从软件源安装docker的软件包,它会下载并安装docker引擎及其相关依赖;配置docker服务,让其可以在系统上面运行容器化应用程序,安装完之后就可以部署对应的docker服务。图5-1-1更新软件包索引图5-1-2更新软件图5-1-3安装docker图5-1-4安装docker成功5.2数据库环境搭建在项目当中,需要手动部署一个MySQL数据库服务并且创造一个数据库接收蜜罐系统记录的攻击数据。在面对很多的攻击行为的时候,该系统可以完整的记录攻击行为和攻击链路。在部署docker蜜罐系统的kali本机上面执行systemctlstartmariadb命令启动本地的一个数据库,启动成功刚开始的时候这个数据库是初始状态的,没有设置用户密码,只能本机登录,不可以远程实现数据库的管理工作,这样的方式很难对这个蜜罐系统进行远程数据管理。图5-2-1启动数据库。用mysql-uroot-p命令直接无密码登录数据库,为了与前端对接以及方便数据的管理,我们设置了数据库的密码为123456。进入数据库页面的时候,执行了这条命令alteruser‘user’@’localhost’identifiedby‘123456’;这条SQL语句的意思就是修改MySQL用户的密码。alteruser:这是MySQL中用来修改已有用户账户属性的命令,’root’@’localhost’表示要修改的用户账户;identifiedby‘123456’表示设置用户的新密码为’123456’。图5-2-2设置用户密码设置完密码之后,还设置了数据库可以远程连接,方便数据的管理。设置方式分为两步,第一步是修改数据库的配置文件,执行sudonano/etc/mysql/mariadb.conf.d/50-f打开配置文件之后吧bind-address的监听端口设置为允许外部ip地址连接本地数据库。图5-2-3数据库配置文件图5-2-4更改配置文件第二步就是创建MySQL用户,授予用户完整的权限,然后刷新这些权限。分别执行三条命令。第一条命令:CREATEUSER'root'@'%'IDENTIFIEDBY'123456';作用:创建一个MySQL用户,用户名是root,允许从任何主机(%)连接,密码是123456第二条命令:GRANTALLPRIVILEGESON*.*TO'root'@'%'WITHGRANTOPTION;作用:实现授予用户'root'@'%'对所有数据库和表(*.*)的全部权限,并允许该用户将权限再授予其他用户。第三条命令:FLUSHPRIVILEGES;作用就是刷新MySQL的权限表,使权限更改立即生效。最后运行命令createdatabasedocker_honeypot_01;创建一个docker_honeypot_01专门用于存储蜜罐数据。执行完这三条命令之后就可以在远程访问这个数据库服务。图5-2-5更改配置文件5.3docker蜜罐搭建。Docker安装好之后,目前由于dockerhub和部分镜像源由于国内政策原因无法进行访问,之前可用的镜像源被封禁了。为了能够顺利的拉取和构造docker蜜罐镜像,在本实验中我更换了docker的镜像源,在我网上查询现有的还可以使用的镜像源。经过测试以下的为有效的:{"registry-mirrors":["https://docker.1ms.run","https://hub.rat.dev","https://docker.1panel.live"]}把上述镜像源写入到kali机器里面的/etc/docker/daemon.json文件下。然后执行systemctldaemon-reload和systemctlrestartdocker让配置文件生效。完成上述操作之后,就是拉取和修改蜜罐镜像了,使用的命令有dockerpull和dockertag命令,拉取并且修改命名了一个honeypotv1.0镜像,这是一个蜜罐镜像,可以部署在本地docker环境中,之后,我使用了这条命令基于这个镜像启动了一个蜜罐容器,使用的命令有dockerpullthreatbook/hfish-server:latestdockertagthreatbook/hfish-server:latesthoneypot:v1.0dockerrun-itd--namedocker_honeypot_01-v/usr/share/docker_honeypot_01:/usr/share/hfish--networkhost--privileged=truehoneypot:v1.0dockerexec-itdocker_honeypot_01/bin/shcat/usr/share/docker_honeypot_01--name设置了容器名字为docker_honeypot_01,-v挂载数据卷,把宿主机目录/usr/share/docker_honeypot_01映射到容器内的/usr/share/hfish,这样可以直接在宿主机上面修改蜜罐配置或查看日志,而不需要进容器。--network设置了使用宿主机的网络环境,可以直接使用宿主机的ip和端口。然后设置了特权模式,更逼真的模拟了网络服务。Kali主机的一个ip地址为36。我们访问这个ip地址加上4433端口和web目录。然后用账号:admin密码:honeypot2025登录进蜜罐前端管理界面。配置好蜜罐的初始信息,连接后端的数据库等图5-3-1连接后端数据库查看蜜罐的配置文件看是否成功刷新配置,一切准备就绪之后就可以正常使用该蜜罐系统了,可以在kali本机节点部署蜜罐服务或者增加其他节点部署服务。比如说我在这里本机设置了很多的蜜罐服务,这些服务只是部署在本机器的。当攻击者访问这些蜜罐服务的时候,我们的系统就会把攻击行为记录到后端的数据库中或者攻击日志中,达到精确捕获攻击行为的目的。也可以在本机下发蜜饵,诱导攻击者按照上面的操作来做,从而更精确的知道该主机是否沦陷。图5-3-2配置蜜罐服务5.4多层网络结构立体防御在本实验室中我还设计模拟了真实企业下的蜜罐部署状态,在很多企业当中,都是分为外网内网和dmz区域,很多公司管理都是把蜜罐管理端部署在某一区域,增加其他网络层的主机来作为节点部署蜜罐服务主动防御攻击者,被部署的蜜罐的主机称之为管理端,其他网络层主机的称之为节点端,这些节点端需要开放4434端口和管理端通信,因为在节点端部署的蜜罐服务都在管理端上面完成的,所以需要开放端口互相通信。本实验从现在企业管理角度出发,进行了立体部署。站在企业角度,首先我开设了三台VMware虚拟机,模拟设置了三个网络区域,一个外网区域,用的是win7系统,IP地址为28,这个区域的主机模拟部署了真实的存在漏洞的业务,同时也作为部署蜜罐服务的节点端,第二个区域DMZ区部署了蜜罐管理端,用的是kali系统,有两个ip,一个内网30,一个外网ip36,负责管理本机的蜜罐服务和其他节点端的蜜罐服务和下发蜜饵蜜标探测是否沦陷等。第三个区域是内网区域,一台centos机器,只有内网ip:192168.18.132,作为蜜罐服务的节点端进行部署,同时下发蜜饵。这是部署的步骤:我是先打开了蜜罐的管理端,进入了“环境管理”中“节点管理”页面,点击“增加节点”,并且选择节点架构为Windows-386,然后就会生成一个安装程序,下载之后到外网的那台主机上安装就成功,外网就加入了蜜罐的节点。然后以同样的方式选择节点架构为Linux-386的,之后会弹出命令:sh-c"$(curl-k30:4434/tmp/qe0MAZDS76Oe.sh)",把这条命令在centos上面执行之后就可以了,该内网主机就成功加入了这蜜罐节点中。这外网和内网就统一都受dmz区的蜜罐管理端进行管理,下发蜜罐服务和进行蜜饵、蜜标的下发,不论哪台主机上,只要攻击者访问这些虚拟的蜜罐服务,在蜜罐的管理端都会有记录。图5-4-1节点安装包三台主机已经成功部署完成,同时也分别在这些主机上面部署很多的蜜罐服务。有90种蜜罐服务可以任意挑选,这里在不同节点选择一些的蜜罐服务做测试用。打开节点名称,点击“添加蜜罐服务”即可添加。图5-4-2节点状态图5-4-3供选择的蜜罐服务图5-4-4内网蜜罐服务图5-4-5外网蜜罐服务图5-4-6管理端蜜罐服务同时为了增加蜜罐服务的诱导性,我针对外网win7系统设置了蜜标,一个模拟重要数据的文件,在管理端设置好之后直接在节点端下拉就可以,只要攻击者打开该文件,就证明该系统已经失陷,只需要在节点端开启7878端口,就可以拉取该文件到指定的目录。certutil-urlcache-split-f37:7878/download/token/3/6&&move6test.doc针对内网centos系统,我设置了蜜饵,模拟重要配置文件,当攻击者安装这配置上面的操作去照做的时候,他就已经中招了,这个蜜罐系统可以轻松的记录下攻击者的ip地址是多少、什么时间访问的、是访问的哪个网站、做了哪些操作等。通过蜜饵和蜜标的下发,我们更能够知道攻击者的攻击链和该主机的失陷情况。同样的部署蜜饵的时候也只需要在节点端执行这条命令就可以拉取蜜饵到指定的目录。curl-o/tmp/配置文件.cfg32:7878/download/bait/7图5-4-7蜜饵状态(centos)图5-4-8蜜标状态(centos)后端数据库中的记录图5-4-9蜜标状态(win7)5.5小结 在这个章节中,我搭建了系统实现的基础环境,包括虚拟机的安装,数据库服务的搭建,蜜罐系统的配置,把蜜罐容器的日志卷挂载到了宿主机本地,实现了攻击数据的可持久的存储,然后在让容器的网络共用宿主机的网络,为了蜜罐服务不和宿主机上面的服务冲突。同时联动其他主机节点进行立体主动防御,包括内外网、DMZ区域的主机,在dmz区域部署的是蜜罐服务的管理端,其他主机上面是客户端,都是为了防御,同时下发了一些诱导的配置文件等,攻防一体化,结合了常见的攻击手法,模拟了真实hacker的攻击思路。
系统测试与结果分析6.1虚拟机网络环境测试在VMware虚拟机中打开外网win7(ip:28)、内网centos(ip:34)和DMZ区(双网卡ip外:36ip内:30)的蜜罐主机。第一步打开我们部署在Windows7系统上面的真实服务,开启phpstudy,把www目录下面的phpmyadmin当做我们的真实服务,但是这个服务存在漏洞,后面模拟渗透测试过程。在该win7系统中,除了部署的这个服务以外,还部署了一些蜜罐服务,上面展示过。6.1.1模拟攻击阶段在我们本机win11系统上面的firefox浏览器里面对win7主机进行信息收集,端口扫描。扫描出来了很多端口信息,对应的服务有部署的很多蜜罐服务,比如win7上面部署了用友OA蜜罐、LDAP蜜罐、联软准入蜜罐、Nginx蜜罐、Tomcat蜜罐和weblogic蜜罐等。图6-1-1端口扫描在端口扫描中都找到了真实的服务和虚拟的蜜罐服务。我用浏览器访问了这些扫描出来的web服务,首先我对用友OA蜜罐9215端口上的登录框进行了暴力破解,发现没有登录进去之后,我在其他服务进行测试,在对真实服务的渗透测试中,发现他是一个phpmyadmin的登录界面,我尝试弱口令登录进去之后在SQL界面依次执行以下命令,getshell。select@@basedir;showvariableslike“%general%”;setglobalgeneral_log_file=”C:/phpStudy/WWW/xx.php”;setglobalgeneral_log=on;select“<?php@eval($_POST[‘shell’])?>”;命令执行完毕之后,我用webshell管理AntSword工具进行了远程连接,获取了win7主机的权限。然后对主机上面的重要文件进行查看,发现import_file.poc,在终端中执行startimport_file.poc打开这个文件。对外网的模拟攻击层面结束。图6-1-2端口扫描图6-1-3暴力破解图6-1-4真实服务图6-1-5AntSword连接图6-1-6攻击者打开诱标文件然后就是对部署在DMZ区域的蜜罐系统进行测试,部署在管理端kali的蜜罐服务有redis、ssh、tomcat等,在远程分别对这些服务访问看看蜜罐系统是否记录。先分别对本地的redis服务和tomcat服务进行了访问。图6-1-7连接redis蜜罐图6-1-7访问tomcat蜜罐服务最后用DMZ区主机对内网的一些蜜罐服务进行访问,查看这些攻击行为是否被成功记录。比如对ssh服务进行暴力破解,以攻击者的视角按照配置文件的操作等。测试蜜罐系统也成功的记录的攻击的行为。执行暴力破解ssh服务的命令如下hydra-lywj-P./password.txt-s222ssh://34图6-1-7暴力破解ssh服务图6-1-8下拉蜜饵文件图6-1-9查看蜜饵文件模拟渗透场景,登录内网上面的9297端口服务,按照配置文件输入账号密码图6-1-10按配置文件操作6.2攻击样本在对外网win7主机渗透测试的时候,攻击的样本主要有对系统的蜜罐服务发起的http请求的数据包和端口扫描。这些数据包包含了暴力破解的证据,路径拼接的方式、尝试利用的漏洞等。对管理端部署的蜜罐服务也是记录同样的http数据包作为攻击样本。然后对内网的centos机器的服务也做了对应的数据包的记录、攻击时间、攻击链的完整记录等。图6-2-1数据包记录图6-2-2扫描记录图6-2-2攻击来源6.3docker蜜罐记录攻击行为对上面对win7系统进行渗透测试的过程中,我们的蜜罐系统是完完全全的记录下来了攻击者的攻击链路,首先在攻击者用nmap对系统进行端口扫描的时候,蜜罐系统就已经开始记录了,以下就是蜜罐系统记录的扫描信息。完整的记录了扫描ip、被扫描的节点、被扫描的ip、扫描类型、被扫描的端口,扫描开始的时间等等。图6-3-1端口扫描记录信息收集结束之后攻击者开始进行漏洞探测。开始对9215端口上的用又OA蜜罐进行了访问,这个时候蜜罐系统就已经记录了他的访问信息,被攻击的数量、被攻击的节点、攻击来源以及攻击时间等信息,最重要的是记录了攻击者的http请求流量,可以看到在http请求体中攻击人员使用了很多的账号密码进行测试登录,这一步证明了攻击者正在进行暴力破解。图6-3-2用友OA蜜罐记录图6-3-3暴力破解记录在对这个服务暴力破解不成功,攻击者转而找到其他的一个服务,这个真实的存在漏洞的服务phpmyadmin界面。攻击者通过真实服务进入我们的win7系统上面打开了一个import_file.doc文件,这个文件正是我们蜜罐系统下发的蜜标文件。当攻击者打开这个文件的一瞬间,我们的蜜罐系统就会成功响应,捕获攻击者的这一行为。在蜜罐系统界面的文件蜜标就由“未触发”状态转为“已失陷”。证明攻击者已经入侵了这台主机。图6-3-4图6-3-5对DMZ区的主机的redis服务的访问的请求也被蜜罐系统完整记录图6-3-6redis蜜罐服务记录图6-3-7tmocat蜜
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年机关干部压力测试题及答案
- 2023年融媒体记者面试反套路答题指南 附30道真题及高分答案
- 2021东莞乐理等级考试专属模拟题及标准答案
- 2020徐州首创水务面试题库附答案+上岸前辈面经总结
- 2022年消防文员招聘考试易错题型试题及答案 不丢冤枉分
- 2026年小学防灾减灾知识测试题及答案
- 大学初等数论2026年期中测验考试题库及标准答案
- 空间直线的方向向量和平面的法向量课件高二下学期数学湘教版选择性必修第二册
- 二元一次方程组的概念课件2025-2026学年苏科版七年级数学下册
- 感情未破裂但协议书离婚
- 国际道路运输的安全管理制度
- 物业设备巡检计划方案(3篇)
- 快递业安全生产培训课件
- 化工工艺设计培训
- 2025年血透室血传播疾病阴转阳的应急演练脚本
- 应急管理通论(第二版)课件 第9章 应急沟通职能
- 乙酰半胱氨酸的用药护理
- 要素式民事起诉状(侵害著作权及邻接权纠纷)
- 2025年新疆中考化学真题(原卷版)
- 2025年内江市中考地理试题(含答案解析)
- 皮肤外科进修汇报
评论
0/150
提交评论