首页 > 其他分享 >Canarytokens的基本使用

Canarytokens的基本使用

时间:2023-07-21 10:35:50浏览次数:37  
标签:基本 可执行文件 Canarytokens exe Windows 注册表 使用 whoami DDE

https://www.canarytokens.org/generate

image.png
image.png

Sensitive command token

当某些敏感的windows程序运行时可以给指定的邮箱发送警报。
其会生成一个注册表文件,导入注册表中就会监视指定程序的运行,然后在执行程序后向canarytoken网站回传警报信息,并向指定邮箱发送警报邮件。

Windows Registry Editor Version 5.00
; Sensitive command token generated by Thinkst Canary
; Run with admin privs on Windows machine as: reg import FILENAME

; command that will be watched for
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\whoami.exe]
"GlobalFlag"=dword:00000200

; magic unique canarytoken that will be fired when this command is executed
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SilentProcessExit\whoami.exe]
"ReportingMode"=dword:00000001
"MonitorProcess"="cmd.exe /c start /min powershell.exe -windowstyle hidden -command \"$($u=$(\\\"u$env:username\\\" -replace('[^\\x00-\\x7f]|\\s', ''))[0..63] -join '';$c=$(\\\"c$env:computername\\\" -replace('[^\\x00-\\x7f]|\\s', ''));Resolve-DnsName -Name \\\"$c.UN.$u.CMD.3gt4ni9tt5jjhbuwb0tjuodqz.canarytokens.com\\\")\""

注:

1、HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options 是 Windows 操作系统注册表中的一个键路径。它用于配置图像文件执行选项,即控制特定可执行文件的行为和设置。
在该注册表路径下,可以创建以可执行文件名命名的子项。每个子项代表一个可执行文件,用于配置该文件的执行选项。

这些执行选项可以用于调试、监视和控制可执行文件的行为。以下是一些常见的用途:
1)调试器设置:你可以配置一个特定的调试器来附加到某个可执行文件,以进行调试和故障排除。

2)应用程序监视:你可以通过设置钩子、监视器或其他调试选项来监视特定可执行文件的行为,例如跟踪函数调用、性能分析等。

3)兼容性设置:你可以为特定可执行文件设置兼容性选项,以模拟不同的操作系统环境或行为,以确保其在特定配置下正常运行。

4)行为修改:你可以修改特定可执行文件的默认行为,例如禁用某些功能、修改配置参数等。

上述的 "GlobalFlag" 配置项的值为 0x00000200,表示启用了堆标记(Heap Tagging)功能。
在执行 "whoami.exe" 时,堆分配和释放的操作会附加特殊的标记或签名,并且启用堆标记后,系统会在访问堆内存时验证标记的正确性。如果发现对已释放或损坏的堆内存的非法访问,系统将能够检测到并发出警告或引发异常,以帮助检测堆溢出和损坏问题。
"GlobalFlag" 的设置可以增强 "whoami.exe" 可执行文件的安全性和稳定性,确保对堆内存的访问遵循正确的规则和流程,从而减少堆相关的问题。



2、HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SilentProcessExit 是 Windows 操作系统注册表中的一个键路径,用于配置静默进程退出(Silent Process Exit)的行为。

在该注册表路径下,可以创建以可执行文件名命名的子项。每个子项代表一个可执行文件,用于配置该文件的静默进程退出选项。

"ReportingMode"=dword:00000001:
表示启用了报告模式(Reporting Mode)。该模式下,当 "whoami.exe" 进程异常退出时,系统会生成相应的报告。

"MonitorProcess"="......":
这个键值对指定了 "MonitorProcess" 的值为一个命令行字符串。该命令行将在 "whoami.exe" 进程异常退出时执行。


image.png


导入后:

image.png

image.png


执行后,会先弹出一个黑窗框,证明运行了exit时需要执行的cmd命令:

image.png

image.png

Microsoft Word document

生成word文档后下载即可。

原理是利用了DDE

动态数据交换(DDE),它是在Microsoft Windows操作系统中实现的客户端/服务器通信方法,自1987年早期的Windows 2.0基于Windows Messaging,并使用其功能来启动双方之间的连接,服务器侦听某些主题和消息,对其进行响应到客户端并终止连接。它被用于向诸如办公产品和浏览器的应用程序发送参数,发送命令到shell -explorer-来创建开始菜单组和链接,并在不同的应用程序和服务之间进行集成。

image.png

image.png

使用oletools分析一下该文档,发现存在DDE链接,使用了includepicture引入了canarytokens域下的链接,在url路径中包含我们下载的word文件名,只要访问就会被记录,被判断该文件被访问,并且从日志中提取出访问者的IP和浏览器指纹等信息。

<w:instrText xml:space="preserve"> INCLUDEPICTURE "http://canarytokens.com/static/8fj1c5kckqd8l6jbv5cl2hdyw/index.html" \d * MERGEFORMAT </w:instrText>


image.png

也可以在doc文档里搜索"w:instrText"发现该行命令(这里重新换了一个诱饵文件):

image.png

image.png

image.png

或者yara规则检测(https://blog.nviso.eu/2017/10/11/detecting-dde-in-ms-office-documents/

或者最简单、直接、全面的方式就是扔沙箱里检测。。
image.png


以上方法暂时只适用于未加密的docx文件,并且只能检测到一些常见的DDE链接(DDE攻击存在很多更复杂的方式),但如果是沙箱检测,如果DDE链接存在外联行为,则沙箱检测就能发现异常。

标签:基本,可执行文件,Canarytokens,exe,Windows,注册表,使用,whoami,DDE
From: https://www.cnblogs.com/zw1sh/p/17570588.html

相关文章

  • JavaIO中的缓冲流有什么作用如何使用缓冲流进行IO操作
     缓冲流在JavaIO中扮演着非常重要的角色,它可以提高IO操作的效率,减少访问硬盘的次数。在本文中,我们将探讨JavaIO中的缓冲流的作用,并演示如何使用缓冲流进行IO操作。首先,让我们了解一下什么是缓冲流。缓冲流是一种高级流,它通过在内存中创建缓冲区来提高IO的效率。当我们使用缓冲......
  • 线性模型(linear model)基本定义及参数求解数学本质、损失函数的选择与评估数学原理、及
    线性模型(linearmodel)基本定义及参数求解数学本质、损失函数的选择与评估数学原理、及其基于线性模型衍生的其他机器学习模型相关原理讨论1.线性模型简介0x1:线性模型的现实意义在一个理想的连续世界中,任何非线性的东西都可以被线性的东西来拟合(参考Taylor......
  • SpringBoot 使用jasypt 对敏感字段加密
    com.github.ulisesbocchiojasypt-spring-boot-starter2.1.2如果SpringBoot项目中使用了@SpringBootApplication或者@EnableAutoConfiguration,在项目里添加jasypt-spring-boot-starter依赖会自动对项目中整个属性(包括系统属性,环境属性,命令行参数, applicat......
  • 全球生成式AI大竞赛,Llama 2大模型现已可在亚马逊云科技上使用
    一直以来Llama可以说是AI社区内最强大的开源大模型。但因为开源协议问题,一直不可免费商用。7月19日,Meta发布了大家期待已久的免费可商用版本Llama2。一夜之间,大模型格局再次发生巨变。 作为Meta宣布的首批合作伙伴之一,现亚马逊云科技客户可通过AmazonSageMakerJumpStart使用由M......
  • vue-router安装配置和使用
    title:vue-router安装配置和使用date:2023-07-2017:55:19tags:-vuecategories:-工程-前端top:vue-router安装配置和使用学习vue的第六天,学到了用插件vue-router来实现vue单页面应用的开发,实现页面的路由跳转。以下是个人理解,如有错误请指正。vue-router是vue官......
  • Django基本数据库操作
    Django基本数据库操作@目录Django基本数据库操作......
  • CH340 和 CH341 使用心得
    一、CH340T与CH340G区别先说一下CH340T和CH340G系列的区别,G是T的阉割版。T是20引脚,G是16引脚。二、CH340与CH341区别CH340是CH341的阉割版,CH340不支持并口、打印口、IIC,专为串口应用设计三、CH340与CH341应用电路3.1、CH340应用电路3.2、CH341应用电路3......
  • STM32HAL库使用SPI驱动1.44寸TFTLCD
      关于STM32F4单片机,使用HAL库自带的SPI,驱动TFTLCD屏幕的资料网上好像不太多,正好最近我做了这项工作,把成果分享给大家。我的代码实现了这些功能:任意坐标画点,指定首尾坐标画线,画方框,指定区域显示彩图,显示16*16或者12*12的汉字、ASCII码,并附带ASCII码表与少量的汉字字库。......
  • 【STM32】使用STM32提供的DSP库进行FFT(附详细代码)
    最近,因为项目需要在STM32F103系列处理器上,对采集的音频信号进行FFT运算,然而STM32F103毕竟不是STM32F4系列的处理器,对于一般的FFT运算程序还是比较缓慢的。幸亏官方提供了针对FFT的官方库,但是去官网找了半天居然找不到那个库的下载,好像官方早就把那个库下架了,估计是为了给带D......
  • 关于CRH、CRL、ODR和IDR寄存器的使用总结
    关于CRH、CRL、ODR和IDR寄存器的使用总结一.CRH和CRL的使用:CRH和CRL的使用基本相同,CRH用于控制GPIOX(X表示A---G)的高8位(Pin15---Pin8),而CRL用于控制GPIOX(X表示A---G)的低8位(Pin7----Pin0)。二.ODR的使用:RCC->APB2ENR|=1<<2;//使能PORTA时钟GPIOA->CRH&=0XFFFFFFF0;//......