蜜罐在近几年的攻防实战演习中大放光彩,它作为欺骗防御的重要技术,是主动防御的主要方法,也是实战由被动向主动转变最有效的手段,用好蜜罐可有效提升网络安全防御能力。蜜罐的核心是仿真能力,所能提供的仿真能力和用户环境贴合度越高诱捕效果越好。因此蜜罐在部署时,往往都需要根据部署环境对蜜罐仿真的各类对象和数据进行定制化,将自有的一些业务系统站点例如办公系统、ERP系统、信息发布平台等做成蜜罐部署出来,这样的蜜罐诱惑性更高,对攻击的诱捕效果也会更好。
互联网上已经有不少免费的蜜罐工具,但这些蜜罐工具绝大多数功能单一、成熟度不高、缺乏持续更新维护,很难支持对自有业务系统等个性化需求的仿真。本文介绍一款免费的蜜罐软件——DecoyMini,它是由北京吉沃科技有限公司基于商业化蜜罐产品积累而推出的完全免费的蜜罐工具,工具支持主流操作系统、安装使用简单、安全稳定,支持插件化的仿真模板,支持从论坛一键下载模板来快捷部署蜜罐,同时提供蜜罐自定义能力,通过界面可视化编排配置即可部署对自有业务系统、网络协议和服务进行仿真的蜜罐。
本文将介绍用DecoyMini免费蜜罐工具来配置仿真自有业务系统蜜罐,并演示业务系统蜜罐部署后对攻击诱捕的实战效果。
软件安装
前往“https://github.com/decoymini”或者“https://gitee.com/decoymini”免费下载最新版本的DecoyMini,支持Windows7/Win10/Windows Server 32/64位、CentOS/Ubuntu/Debian/Kali32/64位、树莓派等操作系统,读者根据自己的操作系统类型选择对应的安装包进行下载,普通办公电脑的硬件配置就可以正常安装使用。
DecoyMini支持单节点部署模式和分布式部署模式,本文示例环境以单节点模式来进行部署。
Windows下,以管理员身份运行cmd,输入如下命令进行安装:
DecoyMini_Windows_v1.0.xxxx.exe-install
Linux下安装,以CentOS 64位为例,对安装文件赋予可执行权限,用管理员权限执行如下安装命令:
./DecoyMini_Linux_x64_v1.0.xxxx.pkg-install
按需选择DecoyMini管理端监听的地址和端口后,即可完成DecoyMini的安装。
安装好DecoyMini软件后,使用安装时配置的IP和端口即可访问管理端登录页面,用DecoyMini论坛帐号或者本地预置帐户admin可登录DecoyMini管理端。
创建仿真模板
使用DecoyMini部署业务系统蜜罐前,需要先配置业务系统的仿真模板。DecoyMini支持以下两种方式来创建业务系统仿真模板:
自动创建:指定待仿真的目标业务系统地址,软件自动爬取业务系统站点网页来创建仿真模板,推荐用于信息发布类业务系统的自动仿真;
手动创建:手动下载待仿真的目标业务系统站点网页进行上传,配置相关仿真参数和访问映射规则,完成模板的手动创建,适用于采用自动创建页面爬取不完整或需定制化仿真内容等其它场景。
对于自定义的仿真模板支持导出分享,可以分享到其它DecoyMini环境,实现仿真能力的快速迁移;也可以分享到DecoyMini技术论坛,将有机会获得论坛礼品或现金奖励。
自动创建
DecoyMini提供自动仿真指定业务系统站点的能力,通过系统内置的网页爬虫对指定目标网站进行自动爬取可以快速生成对应业务系统站点的本地镜像。利用此功能,可以快速生成自有业务系统的仿真模板,并作为诱捕器(蜜罐)部署出来。主要操作步骤如下:
(1)进入DecoyMini仿真模板管理界面,在左侧仿真模板树形列表中点击“增加仿真网站”来增加一个仿真的站点:
在“模板配置”中配置相关参数,填入要仿真的目标业务系统网站地址(支持http和https),配置网站数据同步周期(单位:天),值>0时每间隔指定天数自动重新爬取业务系统页面来更新模板,值为0不自动爬取更新。
(2)当完成参数配置后点击“增加”按钮,稍等片刻待DecoyMini后台完成网站内容爬取弹出提示消息后,就完成对自定义网站仿真模板的增加操作。
采用自动创建模式增加的仿真模板,还可以继续手动编辑模板仿真页面数据和参数,来定制化仿真内容。
手动创建
手动创建“WEB仿真模板”的子模板,将下载的业务系统站点网页打包上传,配置模板的仿真网页数据和访问映射规则,完成模板的手动创建。
业务系统网页下载
用网站下载工具或者浏览器下载功能将需要仿真的业务系统网站页面下载保存,以浏览器下载保存为例,具体操作方法如下:
(1)用浏览器浏览需要仿真的网页,用浏览器保存网页功能将网页保存到本地。
保存时候注意文件名用英文,保存类型选择保存全部内容。
(2)对保存下来的网页文件,根据需要可以对网页内容进行定制化处理,处理完毕后,将网页以及依赖的图片等资源文件用zip格式进行打包。
(3)将打包好的zip文件名更改为res_package.zip待用(res_package.zip为DecoyMini仿真模板资源文件压缩包保留名称,当上传的压缩包文件名为此名称时,则会自动解压包里的文件到“数据文件”目录下)。
创建仿真子模板
(1)登录DecoyMini管理中心,切换到“仿真模板”界面,点击WEB仿真模板“创建子模板”来创建一个新的WEB仿真子模板。
输入子模板信息后,完成子模板创建操作。
(2)在左侧模板列表中选择新创建的子模板,切换到“资源文件”标签,在资源文件左侧目录树中选择“数据文件”,将刚制作好的资源文件包res_package.zip文件进行上传。
上传完成后,则可以在文件列表里看到res_package.zip压缩包解压后的全部文件清单。
(3)资源文件上传完毕后,点击“应用”按钮应用资源文件,应用后的资源文件数据才会被蜜罐所使用。
(4)点击“参数设置”标签,可以查看当前模板已经配置的参数,其中类型为“动态解析”的参数软件会根据攻击者访问请求来动态解析,在响应数据配置里可以用“{{参数标识}}”格式来引用对应参数的值。
(5)切换到“响应数据”标签,来配置将攻击者的访问请求和资源文件做关联,根据不同的请求可以配置响应对应的仿真数据。
在本例中将攻击者访问根路径与资源文件里index.html文件关联,配置方法为:在“响应数据”列表里编辑名称为“首页”的响应数据项,请求路径配置为“/”,响应数据选择“数据文件”输入“index.html”后保存。则蜜罐在收到攻击者访问“/”路径的请求时将响应数据文件里index.html文件的内容。
其他访问路径对应的响应数据可参考上述方法依次进行配置,多条响应数据将从第一条开始往后匹配,直到匹配到为止;若未能匹配上则会响应标识为notexists里的响应数据。
配置记录登录账户
部署业务系统蜜罐除关注哪些IP来访问外,记录攻击者尝试登录业务系统的账号也有助于对攻击者进行溯源分析。DecoyMini支持通过界面编排配置,实现记录攻击者尝试登录业务系统的账户的功能。
在上节配置的仿真模板基础上,配置攻击者登录的用户名、密码获取参数,以及有效的用户名和密码等信息。参数标识配置为post.userId,将从POST数据里提取名称为userId的值,post.password将从POST数据里提取名称为password的值,配置有效的登录账号为admin /123456。
在响应数据部分增加对登录请求相关的响应配置。
关键的几个响应数据配置方法说明如下:
(1)修改业务系统登录页面代码,攻击者执行登录操作时调用login.js里的login函数,将登录用户名和密码POST到“/api/user/login”这个地址,如果服务端响应状态码为200则跳转到业务系统主页面,否则显示登录失败的提示。
(2)对登录请求进行响应:判断请求的路径是否为“/api/user/login”,且登录用户名和密码为预设的用户名和密码时,响应登录成功的状态数据。
配置接收到登录请求后,记录登录日志,同时记录登录的用户名和密码。
(3)当发送的登录请求用户名和密码与预设的用户名密码不匹配时,登录失败,响应登录失败状态和错误消息,并配置记录日志。
(4)配置当输入了预设的用户名和密码后,显示指定的业务系统主界面。
记录登录账户的完整配置内容请参见DecoyMini内置“WEB业务系统示例”仿真模板。
发布模板
编辑确认仿真模板的基础信息,如模板名称、事件日志类型、类别、描述等,完成编辑后便可“发布”仿真模板,发布后的仿真模板就可以在诱捕策略里部署使用。
部署蜜罐
配置完成业务系统仿真模板后,切换到“诱捕策略”界面来部署蜜罐。DecoyMini支持虚拟IP技术,支持在一台蜜罐上虚拟多IP来模拟多台主机,快速组建蜜罐群,有效提高蜜罐的覆盖率,用较小的部署资源实现最大化的攻击诱捕效果。
(1)增加诱捕器(蜜罐),选择刚发布的业务系统仿真模板,配置蜜罐外部访问IP、监听端口、协议等环境参数。
蜜罐的“外部访问IP”可以填写网络可达范围内的空闲IP,将蜜罐直接部署在这个空闲IP上,例如网络里10.1.18.84这个IP未使用,则可将外部访问IP配置为10.1.18.84,蜜罐部署好后,攻击者通过10.1.18.84就能够访问到此业务系统蜜罐。
DecoyMini支持动态端口功能,配置端口时支持特定端口、端口列表或端口范围,当配置为端口列表或端口范围,蜜罐在运行时将会自动从中随机选取一个端口来部署此蜜罐。
访问业务系统蜜罐协议支持HTTP或HTTPS,DecoyMini已经内置了默认的SSL证书,如果需要自定义,可以将新的证书文件和密钥文件分别命名为server.crt和server.key替换仿真模板资源文件“配置文件”目录里同名文件。
(2)配置完部署蜜罐的必要参数后,点击“确定”保存蜜罐配置。
(3)点击“应用”按钮将诱捕策略下发到诱捕探针来生成对应的蜜罐。
部署效果
在DecoyMini上部署好蜜罐之后,用浏览器访问诱捕策略里配置的地址就可以访问到仿真的业务系统站点。
以下为笔者模拟攻击者发起请求,展示业务系统蜜罐对攻击的诱捕效果。
攻击事件日志
当攻击者访问到业务系统蜜罐后,在系统的风险事件里可以查看到相关风险事件告警信息。DecoyMini支持关联分析,支持对同类事件进行自动合并,这可以有效降低告警数量、提高告警准确度,从而大大降低安全运维投入。
风险事件的详细信息中包含两部分:事件详情和关联诱捕日志列表。
事件详情展示了风险事件的名称、描述、类型、合并数量、攻击源IP、攻击目的IP、匹配到的关联分析规则名称、威胁影响和解决方案、风险事件合并开始时间和结束时间等属性。
关联诱捕日志展示的为此风险事件关联的诱捕日志列表:
在系统的“诱捕日志”里可以查看到完整的攻击日志信息;仿真模板配置了记录攻击账户功能,当攻击者尝试登录业务系统时,在对应的诱捕日志里可以查看到尝试登录的账户信息,包括登录使用的用户名和密码等。
攻击预警
当攻击者访问到业务系统蜜罐时,DecoyMini支持配置多种预警方式及时将告警通知到安全管理人员手里,包括邮件告警、弹窗告警、企业微信、钉钉等方式,也支持通过Syslog格式将告警信息输出到其它系统来实现对攻击进行联动处置。
采用自动预警通知,可实现用极少的资源和人力投入,就可以实现7×24小时不间断远程值守,安全管理人员随时随地都能轻松掌握网络的风险态势。
攻击过程分析
在风险事件详情或者诱捕日志里查看日志详情时,除可以看到该诱捕日志详细信息外,还支持以“时间线”方式以时间先后顺序展示该攻击者的详细操作,还原攻击的完整过程。
在风险事件或诱捕日志界面中,点击诱捕器(蜜罐)链接,可以查看到攻击此诱捕器的IP画像,画像直观展示了攻击此蜜罐的源IP分布以及攻击频率等信息。
点击事件列表或事件详情中的“被攻击IP”,可以展示对应被攻击IP的画像,画像展示了攻击该IP的攻击来源情况以及攻击的蜜罐范围。
攻击溯源
DecoyMini不仅能够对攻击进行监测、对失陷进行感知,同时它也具备攻击溯源能力。当攻击者访问部署的业务系统蜜罐后,通过内置在业务系统蜜罐内的反制脚本,就能够自动获取到攻击者主机的多种特征信息,包括真实IP、主机特征、浏览器特征等等。同时DecoyMini已经与盛邦安全的网络空间资产探测平台联动,能够自动查询攻击IP所在主机最近一段时间开启的端口和服务,为溯源攻击者的真实身份提供了多维度的数据支撑。
点击事件列表或事件详情中的“攻击IP”,可以展示对应攻击IP的画像,包括攻击者地域信息、攻击影响范围、主机特征、浏览器特征、主机曾开启的服务等信息。
点击画像上的基本信息、主机特征、浏览器特征、曾使用服务,可以钻取到对应攻击IP的攻击者特征详情;点击攻击目标的IP或诱捕器,可以钻取到此IP对该攻击目标实施攻击产生的风险事件和详细诱捕日志列表。
总结
面对当前严峻的网络安全态势、及时发现更具隐蔽性和多样性的攻击行为,对网络安全防御手法上需要有所创新。通过在网络部署蜜罐,以攻防对抗思路为基础,以攻击者视角去发现威胁,可有效弥补传统网络安全防御方案的弱点,构建主动感知网络威胁的能力,协助提升网络安全监测、响应及防御能力。
本文介绍了使用DecoyMini来部署业务系统蜜罐的基本方法,读者可以参考去配置满足自己需求的业务系统蜜罐。DecoyMini作为一款优秀的国产免费蜜罐软件,具备丰富的攻击诱捕和溯源分析功能,提供灵活的蜜罐自定义能力,支持快速组建蜜罐群,是企业零成本构建欺骗防御能力的得力工具,值得企业部署尝试。