使用canarytokens进行入侵检测

canarytokens

基本概念

canarytokens是一种用于识别网络入侵的工具。它们是一种虚拟的“蜜罐”,可以在网络上放置,当有人尝试访问它们时,可以立即触发警报,以便及时发现潜在的安全威胁。这些token可以是各种形式,可以是一个文件、电子邮件地址、API 调用、DNS 请求、Web Bug/URL、QR 码等等,其目标是在攻击者访问或交互这些 token 时发出报警。通过监视这些canarytokens的活动,网络管理员可以更好地了解潜在的威胁,并及时采取行动。

工作原理

它们工作原理是生成一个或多个canarytokens(即“蜜标”),这些蜜标可以放置在各种位置,例如电子邮件、文档、数据库记录或者网站上。然后,当这些蜜标被访问或使用时,Canarytokens服务会向你发送警报,从而通知你可能发生的安全事件或数据泄露行为。

基本分类

Canarytokens(Canarytokens)可以生成多种形式的蜜标,例如:

  • 伪造的URL:如果有人访问这个URL,你会得到通知。
  • 伪装成文件的蜜标:比如放置在一个敏感目录中的Word文档,如果文件被打开,你会得到通知。
  • 邮件中的Web bug:如果有人打开了邮件并触发了隐藏的Web bug,你会得到通知。
  • DNS查询:如果有人尝试解析某个特定的DNS记录,你会得到通知。
  • ......

如图所示:

反正就是很强大!!种类很多,这里简单介绍一下web bug和canarytokens docx的使用和技术原理。

web bug/URL token

简单测试

首先使用web bug/URL token生成一个一个蜜饵,这里输入俺的邮箱接收告警,填写告警的描述如:测试URL token,如图所示:

点击create my Canarytokens,就可以生成一个web token啦

Canary token URL为:http://canarytokens.com/traffic/tags/terms/jxk469f48nu2lcd25vdegpojq/post.jsp,这里里面的“token”是用来识别访问者的唯一字符串“jxk469f48nu2lcd25vdegpojq”,当有人访问这个URL时,它将触发一个事件,Canary token服务将通知URL的创建者关于此次访问的详细信息。如来源的IP地址、使用的浏览器类型,UA等,这个URL结尾一个名为post.jsp的文件,文件内容如下:

从内容的开头“GIF89a”是一个GIF文件的头部标识,说明这个文件里面嵌入了一个图片。

我这里直接访问一下这个URL:http://canarytokens.com/traffic/tags/terms/jxk469f48nu2lcd25vdegpojq/post.jsp

邮箱就收到了告警,并且获取到我的出口IP和UA等信息,如图所示:

Web Bug

Web Bug也被称为网页信标(web beacons),常常用来追踪用户的网络活动,例如他们何时访问了某个网页,是否打开了某封电子邮件等。它通常是一个小的透明图像或者其他嵌入式对象,它被嵌入到网页中,但用户通常无法察觉到它的存在。当用户访问包含web beacons的网页时,web beacons会向远程服务器发送请求,从而记录用户的访问信息。

从这个链接提供的信息来看,Web Bug使用的技术原理包含以下几个关键点:

  1. 图片元素的嵌入:通常通过在网页或邮件中嵌入一个非常小的、通常是1x1像素的透明图片来实现。
  2. 链接定制:图片的源(src)是一个定制的链接(在该案例中是一个.jsp页面),并且包含了一些唯一的跟踪标签,例如terms/jxk469f48nu2lcd25vdegpojq。
  3. 服务器端数据记录:当一个用户的浏览器尝试加载这个图片时,其实就是对服务器发起了一个GET请求。Web服务器可以记录这个请求的详细信息,例如IP地址、浏览器类型、访问时间等元数据。
  4. 回应伪装:链接返回的内容是基本的GIF格式的开头——GIF89a——这表明服务器的响应被设计成伪装成一个GIF图片。尽管后续的字符是乱码,但足以让浏览器认为这是一个图片资源。

这个Web Bug可以实现无形中追踪用户的访问行为,服务器接收到请求后,即使图片看起来是空白或透明的,通过记录请求的细节数据,追踪者便能完成对用户行为的定位。

canarytokens docx

首先,进行canarytokens网站生成token页面,选择Microsoft Word Document,第二行填写接收通知邮箱,第三行填写通知时的文本内容,然后生成就可以了。

然后下载就行了

docx文件本质就是压缩文件,所以可以改后缀名为.zip后利用解压软件解压缩。这里我直接使用unzip解压缩,直接执行

unzip riu5lhrjxssj9s0fobsnr8hig.docx

通过检索,可以发现word目录下footer2.xmlfooter2.xml.rels带有canarytokens的网站链接。

grep -Ri canarytokens *

通过检索,可以发现word目录下footer2.xmlfooter2.xml.rels带有canarytokens的网站链接。footer2.xml 是文档中页脚的实际内容,而 footer2.xml.rels则定义了页脚内容中涉及的外部关系这些代码共同实现了Canarytoken 在 Word 文档(docx 格式)中的部署。

footer2.xml文件包含了 Word 文档页脚的实际内容。在这个例子中,它包含了插入图片的字段(field)。字段代码如下:

<w:fldChar w:fldCharType="begin"/>
<w:instrText xml:space="preserve"> INCLUDEPICTURE  "http://canarytokens.com/terms/stuff/tags/riu5lhrjxssj9s0fobsnr8hig/contact.php" \d  \* MERGEFORMAT </w:instrText>
<w:fldChar w:fldCharType="separate"/>
...
<w:fldChar w:fldCharType="end"/>

这段字段代码告诉 Word 在文档中插入一张图片,图片的 URL 为 http://canarytokens.com/terms/stuff/tags/riu5lhrjxssj9s0fobsnr8hig/contact.php。\d 和 \* MERGEFORMAT 是字段指令,用来控制图片的显示方式。INCLUDEPICTURE 是一个 Word 字段,用来插入外部图像。当 Word 尝试渲染这个字段时,它会向给定的 URL 发起请求以检索图片。如下所示:

INCLUDEPICTURE  "http://canarytokens.com/terms/stuff/tags/riu5lhrjxssj9s0fobsnr8hig/contact.php

footer2.xml.rels文件指明了页脚中提到的外部资源的关系定义。在此示例中,有一个关系标识符 rId1,指向一个外部的图像资源,contact.php也是一个图片,如图所示:

INCLUDEPICTURE域通常被用在 Word 文件中 (通常是 .docx 格式) 来插入一张远程图像。当文档打开,且域更新时(例如,当视图图像时),Word 会尝试从远程服务器加载图片。而riu5lhrjxssj9s0fobsnr8hig 是一个唯一的标识符(Token),它是与 Canarytoken 相关联的一个特定的字符串,这个标识符用于追踪和识别访问该 URL 的请求。在这种情况下,当 Word 文档中的图片 URL 被访问时,Canarytoken 服务记录下事件,并可通知文档的所有者。这样可以跟踪到文档是否被打开,以及什么时候被打开。

使用场景

Canarytokens 可以用于多种不同的安全监控和预警场景,其灵活性和低侵入性让其可以广泛应用在许多环境中。以下是一些常见的使用场景:

文档和数据泄露检测

  • 隐藏在敏感文档中的 tokens 被访问,这可能表明有人在未经授权的情况下查看或窃取了这些文件。
  • 在数据库的敏感字段中放置 tokens,当有SQL注入或其他未授权访问时会触发警报。

网络入侵检测

  • 在网络中设置虚假的服务或设备(如假SSH服务)并关联 with tokens,一旦有人尝试连接这些服务,就会触发警报。
  • 配置 DNS tokens,当攻击者尝试解析某些域名或子域名时,可以检测到潜在的网络扫描活动。

内部威胁监测

  • 在隐蔽的URL中嵌入 tokens。如果员工或合作伙伴访问了这些不应该公知的链接,可能意味着内部信息被泄露。
  • 在看起来像是密码、密钥或访问凭证的文件中放置 tokens,用来检测是否有人在试图获取这些信息。

云服务监控

  • 配置用于云存储桶(如AWS S3)的 tokens,任何未授权的存储桶访问都会被检测到。
  • 生成看起来像是有效API密钥的 tokens,并监控其使用情况来检测潜在的API滥用。 

研究与取证

  • 在蜜网中部署 tokens,来吸引攻击者,并监控他们的活动。
  • 将 tokens 放置在故意泄露的数据中,以调查和跟踪数据在黑市中的传播。

办公终端蜜饵和应用访问预警

  • 在配置文件、注册表项或系统文件中加入 tokens,当攻击者试图修改这些关键设置时会收到通知。
  • 在web应用的敏感部分嵌入 tokens,如管理面板或配置界面,以检测未授权的访问尝试。 

敏感行为监控

  • 在代码库或代码片段中嵌入 tokens,用于侦测源代码的未授权拷贝或访问。
  • 更多可参考官方文档:https://docs.canarytokens.org/guide/

网络安全学习资源分享:

给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

因篇幅有限,仅展示部分资料,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,需要点击下方链接即可前往获取 

读者福利 | CSDN大礼包:《网络安全入门&进阶学习资源包》免费分享(安全链接,放心点击)

同时每个成长路线对应的板块都有配套的视频提供: 

大厂面试题

 

视频配套资料&国内外网安书籍、文档

当然除了有配套的视频,同时也为大家整理了各种文档和书籍资料

所有资料共282G,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,可以扫描下方二维码或链接免费领取~ 

读者福利 | CSDN大礼包:《网络安全入门&进阶学习资源包》免费分享(安全链接,放心点击) 

特别声明:

此教程为纯技术分享!本教程的目的决不是为那些怀有不良动机的人提供及技术支持!也不承担因为技术被滥用所产生的连带责任!本教程的目的在于最大限度地唤醒大家对网络安全的重视,并采取相应的安全措施,从而减少由网络安全而带来的经济损失。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/18124.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

项目管理基础知识

项目管理基础知识 导航 文章目录 项目管理基础知识导航一、项目相关概念二、时间管理三、人员管理四、风险管理 一、项目相关概念 项目定义的三层意思 一定的资源约束:时间资源、经费资源、人力资源一定的目标一次性任务 里程碑 是项目中的重要时点或事件持续时间为零&…

深度神经网络——什么是迁移学习?

1.概述 在练习机器学习时&#xff0c;训练模型可能需要很长时间。从头开始创建模型架构、训练模型&#xff0c;然后调整模型需要大量的时间和精力。训练机器学习模型的一种更有效的方法是使用已经定义的架构&#xff0c;可能具有已经计算出的权重。这是背后的主要思想 迁移学习…

makefile一些特殊且常用的符号

$^&#xff1a;表示所有的依赖文件列表&#xff0c;多个文件以空格分隔。 $&#xff1a;表示目标文件的名称。 $<&#xff1a;表示第一个依赖文件的名称。 $*&#xff1a;表示目标文件的主文件名&#xff08;不包括扩展名&#xff09;。 $?&#xff1a;表示所有比目标文件更…

Linux shell命令

cat 文件名 查看文件内容&#xff0c; tac文件名 倒着显示。 more 文件名 显示内容 less文件名 和more的功能一样&#xff0c;按上下左右键&#xff0c;按Q键结束。 head文件名&#xff0c;只显示前10行内容。 ln是一个默认创建硬链接的命令 ln 文件名 ls -i文件名…

SpringBoot整合RabbitMQ的快速使用教程

目录 一、引入依赖 二、配置rabbitmq的连接信息等 1、生产者配置 2、消费者配置 三、设置消息转换器 四、生产者代码示例 1、配置交换机和队列信息 2、生产消息代码 五、消费者代码示例 1、消费层代码 2、业务层代码 在分布式系统中&#xff0c;消息队列是一种重要…

00Java准备工作

目录 JDK的安装目录 JAVA环境变量的配置 JAVA小知识 JDK的安装目录 目录名称说明bin该路径下存放了JDK的各种工具命令,javac和java就放在这个目录conf该路径下存放了JDK的相关配置文件include该路径下存放了一些平台特定的头文件jmods该路径下存放了JDK的各种模块legal该路…

简单随机数据算法

文章目录 一&#xff0c;需求概述二&#xff0c;实现代码三、测试代码四、测试结果五、源码传送六、效果演示 一&#xff0c;需求概述 系统启动时&#xff0c;读取一组图片数据&#xff0c;通过接口返回给前台&#xff0c;要求&#xff1a; 图片随机相邻图片不重复 二&#…

进程互斥经典问题(读写者问题、理发店问题)

目录 读写者问题 问题描述 问题分析 进程互斥问题三部曲 读者写者算法实现 一、找进程——确定进程关系 二、找主营业务 三、找同步约束 a.互斥 b.资源 c.配额 理发店问题 问题描述 问题分析 进程互斥问题三部曲 理发店问题算法实现 一、找进程——确定进程…

SB-OSC,最新的 MySQL Schema 在线变更方案

目前主流的 MySQL 在线变更方案有两个&#xff1a; 基于 trigger 的 pt-online-schema-change基于 binlog 的 gh-ost 上周 Sendbird 刚开源了他们的 MySQL Schema 在线变更方案 SB-OSC: Sendbird Online Schema Change。 GitHub 上刚刚 25 颗星星&#xff0c;绝对新鲜出炉。 …

Qt Creator(2)【如何在Qt Creator中创建新工程】

阅读导航 引言一、Qt Creator开始界面介绍二、如何在Qt Creator中创建新工程1. 新建项目2. 选择项目模板3. 选择项目路径4. 选择构建系统5. 填写类信息设置界面6. 选择语言和翻译文件7. 选择Qt套件8. 选择版本控制系统9. 最终效果 三、认识Qt Creator项目内容界面1. 基本界面2.…

go语言初识别(五)

本博客内容涉及到&#xff1a;切片 切片 1. 切片的概念 首先先对数组进行一下回顾&#xff1a; 数组定义完&#xff0c;长度是固定的&#xff0c;例如&#xff1a; var num [5]int [5]int{1,2,3,4,5}定义的num数组长度是5&#xff0c;表示只能存储5个整形数字&#xff0c…

检索模型预训练方法:RetroMAE

论文title&#xff1a;https://arxiv.org/pdf/2205.12035RetroMAE: Pre-Training Retrieval-oriented Language Models Via Masked Auto-Encoder 论文链接&#xff1a;https://arxiv.org/pdf/2205.12035 摘要 1.一种新的MAE工作流&#xff0c;编码器和解器输入进行了不同的掩…

华为OD机试【计算最接近的数】(java)(100分)

1、题目描述 给定一个数组X和正整数K&#xff0c;请找出使表达式X[i] - X[i1] … - X[i K 1]&#xff0c;结果最接近于数组中位数的下标i&#xff0c;如果有多个i满足条件&#xff0c;请返回最大的i。 其中&#xff0c;数组中位数&#xff1a;长度为N的数组&#xff0c;按照元…

软件性能测试有哪些测试类型和方法?

软件性能测试是一种通过模拟真实用户使用情况&#xff0c;评估软件系统在各种压力和负载下的表现的测试方法。在今天这个讲究效率的时代&#xff0c;软件性能测试是不可或缺的一环。它能帮助开发人员和企业发现潜在的性能问题&#xff0c;提前优化改进&#xff0c;保证软件系统…

动态内存管理—C语言通讯录

目录 一&#xff0c;动态内存函数的介绍 1.1 malloc和free 1.2 calloc 1.3 realloc 1.4C/C程序的内存开辟 二&#xff0c;通讯录管理系统 动态内存函数的介绍 malloc free calloc realloc 一&#xff0c;动态内存函数的介绍 1.1 malloc和free void* malloc (…

回文链表(快慢指针解法之在推进过程中反转)

归纳编程学习的感悟&#xff0c; 记录奋斗路上的点滴&#xff0c; 希望能帮到一样刻苦的你&#xff01; 如有不足欢迎指正&#xff01; 共同学习交流&#xff01; &#x1f30e;欢迎各位→点赞 &#x1f44d; 收藏⭐ 留言​&#x1f4dd;抱怨深处黑暗&#xff0c;不如提灯前行…

代码随想录算法训练营day14|二叉树的递归遍历、二叉树的迭代遍历、二叉树的统一迭代法

二叉树的递归遍历 首先需要明确的一点是&#xff0c;前序中序和后序在二叉树的递归遍历中的区别仅在于递归函数中操作的顺序&#xff0c;前序是在遍历一个节点的左右子树前进行操作&#xff0c;中序是在遍历一个节点的左子树后进行操作再遍历右子树&#xff0c;而后序是在遍历…

C++算术运算和自增自减运算

一 引言 表示运算的符号称为运算符。 算术运算&#xff1b; 比较运算&#xff1b; 逻辑运算&#xff1b; 位运算&#xff1b; 1 算术运算 算术运算包括加、减、乘、除、乘方、指数、对数、三角函数、求余函数&#xff0c;这些都是算术运算。 C中用、-、*、/、%分别表示加、减…

《当微服务遇上Ribbon:一场负载均衡的华丽舞会》

在微服务的厨房里&#xff0c;如何确保每一道服务都恰到好处&#xff1f;揭秘Spring Cloud Ribbon如何像大厨一样精心调配资源&#xff0c;让负载均衡变得像烹饪艺术一样简单&#xff01; 文章目录 Spring Cloud Ribbon 详解1. 引言微服务架构中的负载均衡需求Spring Cloud Rib…

【算法实战】每日一题:设计一个算法,用最少数量的矩形覆盖一系列宽度为d、高度为w的矩形,且使用矩形不能超出边界

题目 设计一个算法&#xff0c;用最少数量的矩形覆盖一系列宽度为d、高度为w的矩形建筑物侧墙&#xff0c;且矩形不能超出边界。 核心思路 考虑这种结构 前面递增后面一个与前面的某个高度一致&#xff0c;这时候考虑最下面的覆盖&#xff08;即都是从最下面向上覆盖&#…