web命令执行(控制命令窗口)

文章前言

目前有各种C2C工具,其中一些使用ICMP和DNS等协议以及其他一些合法网站,如DropBox和Gmail,在DerbyCon 3.0期间, Matt Graeber和Chris Campbell介绍了一种使用网站关键字的技术,以便在系统中触发shellcode。

Powershell-C2

Matt Nelson制作了一个PowerShell 脚本(https://github.com/enigma0x3/Powershell-C2 ),该脚本使用相同的技术来获得Meterpreter会话并使用其作为命令和控制工具的所有功能,这种技术的主要好处是shellcode直接从内存执行,噪声较小,并通过注册表项实现持久性。

在这里我们使用Empire的Invoke-Shellcode.ps1来作为powershell木马文件:

之后我们在攻击主机上使用Python启动一个web服务来提供Invoke-Shellcode.ps1的下载:

web命令执行(控制命令窗口)

之后我们需要再攻击主机上启动MSF框架并设置监听:

web命令执行(控制命令窗口)

之后修改当PowerShell-C2脚本中的Word以及DownloadString地址:

web命令执行(控制命令窗口)

之后在目标主机上执行C2Code.ps1(中间可能需要设置set-executionpolicy remotesigned,大多数情况会涉及到提权):

web命令执行(控制命令窗口)

之后再攻击主机上可以看到HTTP请求记录,也就是Invoke-Shellcode的下载记录:

web命令执行(控制命令窗口)

同时会在MSF框架中收到返回的会话:

web命令执行(控制命令窗口)

到这里可能有人会说这有啥高科技的呢?不就是一个在powershell下隐藏执行powershell程序之后反弹shell的吗?哪里有什么隐匿的呢?当然,到这里还没有结束,我们继续往下面看!

Matt Nelson还创建了一个Office 宏,它执行相同的技术,但另外创建了一个注册表项,每次用户登录时都会执行C2Code PowerShell脚本以保持持久性:

web命令执行(控制命令窗口)

下面我们演示一下流程,首先使用Word新建一个Word文档,选择视图->宏->查看宏:

web命令执行(控制命令窗口)

输入任意宏名称,之后点击“创建”

web命令执行(控制命令窗口)

之后清除编辑器内的所有宏代码,之后复制“Macro”宏代码到粘贴板,之后粘贴宏:

web命令执行(控制命令窗口)

之后关闭宏编辑器,同时将文档另存为宏文档:

web命令执行(控制命令窗口)

之后发送恶意文档给目标用户,当目标用户使用Word打开恶意文档并点击\\”启用宏\\”时恶意代码将成功执行:

web命令执行(控制命令窗口)

web命令执行(控制命令窗口)

之后在Python提供的Web服务端将会收到两次请求:

web命令执行(控制命令窗口)

同时Meterpreter会话将打开,这里就很迷,一下可以一下不可以,暂且过:

注册表被修改

相关链接

https://github.com/enigma0x3/Powershell-C2

Command and Control – Website Keyword

Command and Control using Powershell and your favorite website

原创文章,作者:七芒星实验室,如若转载,请注明出处:https://www.sudun.com/ask/34225.html

(0)
七芒星实验室's avatar七芒星实验室
上一篇 2024年4月9日 下午1:55
下一篇 2024年4月9日 下午1:57

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注