命令控制之Website Keyword

2021-07-21 17:46:54 浏览数 (1)

文章前言

目前有各种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的下载:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

注册表被修改

相关链接

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

https://pentestlab.blog/2017/09/14/command-and-control-website-keyword/

https://enigma0x3.net/2014/01/17/command-and-control-using-powershell-and-your-favorite-website/

0 人点赞