• Office宏的基本利用


    前言

    Office宏,译自英文单词Macro。宏是Office自带的一种高级脚本特性,通过VBA代码,可以在Office中去完成某项特定的任务,而不必再重复相同的动作,目的是让用户文档中的一些任务自动化。而宏病毒是一种寄存在文档或模板的宏中的计算机病毒。一旦打开这样的文档,其中的宏就会被执行,于是宏病毒就会被激活,转移到计算机上,并驻留在Normal模板上。

    Visual Basic for Applications(VBA)是Visual Basic的一种宏语言,是微软开发出来在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。主要能用来扩展Windows的应用程序功能,特别是Microsoft Office软件,也可说是一种应用程式视觉化的Basic 脚本。

    环境准备

    • Windows 7 x64 旗舰版
    • Microsoft Office 2016
    • CobaltStrike 3.14

    CobaltStrike生成宏

    先利用CobaltStrike生成宏payload,接下来只要放入word、excel或ppt即可。

    image-20191016222133610

    创建宏Word

    打开Word文档,点击 “Word 选项 — 自定义功能区 — 开发者工具(勾选) — 确定” 。

    image-20191016215348926

    编写主体内容后,点击 “开发工具 — Visual Basic” 。

    image-20191016215645574

    双击 “ThisDocument” ,将原有内容全部清空,然后将CobaltStrike生成宏payload全部粘贴进去,保存并关闭该 VBA 编辑器 。

    image-20191016220549344

    另存为的Word类型务必要选”Word 97-2003 文档 (*.doc)”,即 doc 文件,保证低版本可以打开。之后关闭,再打开即可执行宏代码。

    image-20191016215855386

    反弹Beacon shell

    默认情况下,Office已经禁用所有宏,但仍会在打开Word文档的时候发出通知。

    image-20191016221012732

    诱导目标手动点击”启用内容”宏。

    image-20191016221159875

    目标一旦启用,CobaltStrike的Beacon就会上线,即成功接收到Shell。

    image-20191016221405060

    宏代码分析

    CobaltStrike生成默认的VBA会导入四个Windows API函数,常见的ShellCode加载器代码:

    image-20191016234635077

    • CreateRemoteThread 创建一个在其它进程地址空间中运行的线程(也称:创建远程线程).
    • VirtualAllocEx 指定进程的虚拟空间保留或提交内存区域
    • WriteProcessMemory 写入某一进程的内存区域
    • CreateProcess 创建一个新的进程和它的主线程,这个新进程运行指定的可执行文件

    其中Array(-4,-24,-119,0,0,0,96,-119,-27...就是ShellCode,混淆的办法有很多种。

  • 相关阅读:
    mysql缓存
    复杂映射
    SQL 映射的 XML 文件
    xml配置文件
    从xml中构建sqlSessionFactory
    eclipse使用时jar不在libraries
    去掉不用的工作空间
    javac找不到或无法加载主类 com.sun.tools.javac.Main,
    文本,布局,样式
    (常用)re模块
  • 原文地址:https://www.cnblogs.com/nongchaoer/p/12055342.html
Copyright © 2020-2023  润新知