需求

在本文中,我们将通过使用 Canarytokens工具来搭建蜜罐,对特殊资源的异常访问行为进行感知,及时发现入侵痕迹,促使安全人员能在攻击者入侵过程中的各个节点将安全事件应急响应的时间基线推前。

蜜罐的建立,主要的目的是用于当检测到蜜罐中的数据或者计算资源有可疑访问时,可对管理员进行告警。在下文中,通过Canarytokens(注:该工具是由Thinkst 创建的开源项目 ,工具的下载地址为:GitHub)工具生成的这类蜜罐与传统的蜜罐不同,其可以有许多种形式,例如它可以是一个无人使用的用户账户,也可以是一个正常用户不会去访问的文件,又或是一个没有人会去点击的链接等等。当针对这个蜜罐(在本文中,这类蜜罐统称为蜜标,honeytokens)进行操作时,通过Canarytokens将会使得检测这些异常操作更加容易,并利用获取的信息对可疑攻击者进行溯源。

FreeBuf百科

HoneyToken:HoneyToken概念的提出,使蜜罐不再局限于硬件设备,在这里我们可以将HoneyToken看成是一个数字化的实体。它可以是一个访问链接、一个文件、一个可执行文件或是一个数据库的入口等等。任何黑客感兴趣的目标信息的去价值化伪造均可成为蜜罐。

了解Canarytokens

Thinkst认为honeytokens是可以“以快速的,便捷的方式帮助防御方发现他们已经被攻击了的客观事实”。为了实现这个目标,我们可以使用Canarytokens应用来生成token,例如可生成以下类型的token,

1、一个入侵者可能访问的URL;
2、一个入侵者可能解析的域名或主机名称;
3、一个入侵者可能打开的Word或 PDF文档;
4、一个入侵者可能从其中取出资金的比特币钱包。

当入侵者访问或者使用由Canarytokens应用生成的honeytoken时,该工具将会通过邮件通知我们,并附带异常事件的细节说明。

目前,使用Canarytokens工具的这种功能最容易的途径是通过 Thinkst在 canarytokens.org上预部署的应用版本,来生成一个可用的token。该站点无需通过安装及配置个人的Canarytokens应用,便可生成b并监控honeytokens。但这种方法的不足之处在于我们并不能控制该工具生成的数据以及无法通过这种方法来跟踪我们自有的域名。

部署个人版的Canarytokens应用

基于上一种方法的不足之处,如果我们想更好地监控honeytokens,那么我们需要部署个人的Canarytokens实例。而部署过程也并不复杂,首先我们需要注册一个域名(如果已有,那么请跳过这一步),然后在一个可访问的网络服务器上安装部署Canarytokens应用即可。

我们可以将Canarytokens部署在一个较为便宜的公有云上,例如DigitalOcean(此处为作者推荐,实际上我们可根据自身情况选择其他云平台)。因为该云服务商对于租用的虚拟服务器只需5美刀一个月。我们可以通过“droplet”来运行Ubuntu ,具体如下,

一旦新的系统运行起来,登录进去并通过执行以下命令,来安装Canarytokens应用,

apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
add-apt-repository -y "deb https://apt.dockerproject.org/repo ubuntu-$(lsb_release -sc) main"
apt-get update
apt-get -y dist-upgrade
apt-get -y install docker-engine python-pip python-dev libyaml-dev
pip install -U docker-compose
git clone https://github.com/thinkst/canarytokens-docker
cd canarytokens-docker

在执行完上面的安装指令,如前文所提到的,我们还需要注册一个个人的域名,该域名仅用于Canarytokens应用。接下来,当有了域名,我们需要去指定运行着Canarytokens应用的服务器来作为此前注册的域名的DNS服务器。(在本案例中使用了Google域名,因其并不会产生其他额外费用,谁用谁知道),而如果你要使用到Canarytokens的PDF tokens,那么则需要两个域名,此处先略过不谈。

在安装Canarytokens应用之后,我们还需修改两个配置文件:frontenv.env以及switchboard.env,以便能顺利运行Canarytokens,具体参考如下,

1、在frontenv.env文件中,我们需要指定已注册好的域名,将其配置为CANARY_DOMAINS的参数。而如若我们需要使用到PDF tokens,那么可修改CANARY_NXDOMAINS的参数为注册的第二个域名。否则,则同样将其参数设置为第一个域名。

2、在 switchboard.env文件中,指定CANARY_PUBLIC_DOMAIN参数为此前在frontenv.env文件配置的第一个域名。指定服务器的公网IP地址作为 CANARY_PUBLIC_IP的参数。在CANARY_ALERT_EMAIL参数中自定义发送告警邮件所用的邮箱,可通过申请创建一个 Mailgun 账户,并将之也匹配到CANARY_MAILGUN参数中。

以下为本文的 Canarytokens应用配置文件的配置情况。当然,个人的配置情况会与此不同,这里仅供参考,

在配置好Canarytokens之后,我们可以通过运行“docker-compose up”指令(第一次运行时会自动下载合适的Docker镜像)来启用该应用工具。

随后,使用浏览器通过IP地址或域名,来访问启用了Canarytokens的服务器。请注意,上述应用的URL是对任何人都开放的,而该应用目前也暂不支持管理员账户的默认认证。

运行Canarytokens应用

在将浏览器页面定向到Canarytokens实例时,我们将会看到类似的如下截图,在这里,我们可以生成一个新的token,而我们也需要在这里填写上接收告警信息(当token被访问时)的邮箱。

在这里,我建议从默认的“DNS/HTTP”处来开始实验。该token可被多种方式触发,包括访问Canarytokens生成的URL,主机名解析,打开文档文件等方式。

例如,当访问一个与上述生成的token相符的URL时,应用将会通过邮件来进行告警通知。正如我们所看到的,该告警信息包括了访问该链接的源IP地址,访问的客户端浏览器信息。如果一开始不能接收到相关的告警通知,请检查下此前的Mailgun设置以及查看邮件账户的垃圾箱。

当入侵者解析主机名时,该token亦能被触发。告警信息如下,其中包含了攻击者DNS服务器的IP地址。该信息可用于溯源追踪攻击者的物理位置。

如果我们使用Canarytokens生成一个Microsoft Word文档,在其被打开时,我们同样也会接收到告警邮件。但告警内容会与之前的告警略有不同,其中的客户端信息还会包含打开该Word文档的软件版本信息。其利用了底部一个隐藏的图像文件来感知打开情况。值得注意的是,在“ Protected View”模式下,是无法访问该Word文件的,需要点击“启用编辑”(Enable Editing)按钮才能触发honeytoken。

如若需要关闭 Canarytokens应用,在终端命令中按下Ctrl+C便可终止应用。而该应用服务器会通过它生成的dump.rdb文件来定位终止前的状态。通过该方式,将会记录上一次运行时生成的tokens,在下次使用时仍然进行监控。如果我们想以一个全新的状态开始,将dump.rdb文件即可。

开始Honeytokens的实验吧

Honeytokens提供了一种诱骗的方式来检测入侵者对我们数据、基础设施以及应用的访问状态。因为合法的用户并无法访问到这些蜜罐资源,所以任何对这些蜜罐的访问我们皆可认为是可疑的。而通过这种行为相关性也可以来提高检测异常行为的成功率。

所以,接下来,就让我们开始试试吧!

参考链接 :
如何用Canarytokens搭建蜜罐并检测可疑入侵 :https://www.freebuf.com/sectool/104901.html

如何用Canarytokens搭建蜜罐并检测可疑入侵相关推荐

  1. 技术分享:如何用Solr搭建大数据查询平台

    技术分享:如何用Solr搭建大数据查询平台 0×00 开头照例扯淡 自从各种脱裤门事件开始层出不穷,在下就学乖了,各个地方的密码全都改成不一样的,重要帐号的密码定期更换,生怕被人社出祖宗十八代的我,甚 ...

  2. 不到 200 行代码,教你如何用 Keras 搭建生成对抗网络(GAN)

     不到 200 行代码,教你如何用 Keras 搭建生成对抗网络(GAN) 生成对抗网络(Generative Adversarial Networks,GAN)最早由 Ian Goodfello ...

  3. 睿智的目标检测30——Pytorch搭建YoloV4目标检测平台

    睿智的目标检测30--Pytorch搭建YoloV4目标检测平台 学习前言 什么是YOLOV4 代码下载 YOLOV4改进的部分(不完全) YOLOV4结构解析 1.主干特征提取网络Backbone ...

  4. 睿智的目标检测32——TF2搭建YoloV4目标检测平台(tensorflow2)

    睿智的目标检测32--TF2搭建YoloV4目标检测平台(tensorflow2) 学习前言 什么是YOLOV4 代码下载 YOLOV4改进的部分(不完全) YOLOV4结构解析 1.主干特征提取网络 ...

  5. (大佬)睿智的目标检测13——Keras搭建mtcnn人脸检测平台

    原文链接:https://blog.csdn.net/weixin_44791964/article/details/103530206 睿智的目标检测13--Keras搭建mtcnn人脸检测平台 学 ...

  6. 目标检测学习————Keras搭建yolo3目标检测平台

    Keras搭建yolo3目标检测平台 源码下载 yolo3实现思路 一.预测部分 二.训练部分 训练自己的yolo3模型 参考原文出处 点击进入https://blog.csdn.net/weixin ...

  7. 三磁环网络变压器圈比如何用LCR测量仪来检测?

            网络变压器的工作原理:三磁环网络变压器圈比如何用LCR测量仪来检测? 盈盛电子导读:上节给大家分享了:如何用LCR测量仪检测双磁环网络变压器圈比,我们对用LCR测量仪检测双磁环网络变压 ...

  8. Docker基础学习笔记( 搭建web漏洞检测环境和容器中运行Django项目)

    目录 一.Docker技术的学习 1.1.docker安装(ubuntu16.04) 1.1.1.apt-get换国内清华源 1.1.2.安装最新版本的Docker 1.2.docker容器与镜像使用 ...

  9. 如何用linux搭建简单的论坛

    如何用linux搭建简单的论坛 前期准备 linux虚拟机一台(桥接到内网,型号centos8) 论坛框架源码包:此次我们选用的是Discuz框架 下载链接: https://www.discuz.n ...

最新文章

  1. 从AdventureWorks学习数据库建模——保留历史数据
  2. 数仓建模 项目_音乐数据项目火力全开,技能双倍提升!
  3. 事务配置_SSH(五)- 使用注解方式配置事务管理
  4. 在sqlserver 中with(nolock)详解
  5. HadoopHA集群搭建
  6. “杨振宁理论物理研究所”
  7. Android进阶——深入浅出Handler(一)
  8. 安装hexo,建站并新建博客
  9. c语言期终试卷,谁有c语言的往年期中试卷么
  10. MySQL源码—线程篇
  11. android 指纹是否设置,检查Android是否支持指纹识别以及是否已经录入指纹
  12. android手机短信诈骗原理,安卓系统均存短信欺诈漏洞 专家:系统先天不足
  13. Linux设备模型分析之device_driver(基于3.10.1内核)
  14. ShopNum1网店系统标准版常见问题总结
  15. linux基因组文件,从基因组注释信息GFF文件中提取所有基因位置信息-AWK
  16. 最简单的个人辞职原因[范文7篇]
  17. rap2服务端delos环境搭建
  18. 计算机专业可以报初级经济师吗,初级经济师值得考吗
  19. 2018年第九届蓝桥杯【C++省赛B组】【第三题:乘积尾零】——附解题代码
  20. 商务汇报PPT制作的七堂课-第三课:结构搭建

热门文章

  1. 机器学习入门系列:关于机器学习算法你需要了解的东西、如何开发机器学习模型?...
  2. 主板没有rgb接口怎么接灯_电脑硬件第六期,关于主板的那点破事。
  3. java项目实现服务器监控,Java实现服务器状态监控
  4. 以太坊源码分析:共识(1)矿工
  5. MongoDB的排除查询$ne缺陷
  6. 统计字段中出现字符串的次数
  7. 第一节:Scrapy开源框架初探
  8. 第一次装TFS的曲折经历
  9. 深入剖析SolrCloud(四)
  10. ImageBrush 使用网络图片示例