Invoke-Transfer:一款基于PowerShell的Windows剪贴板数据提取与传输工具

admin 2023年4月4日03:05:33评论142 views字数 2258阅读7分31秒阅读模式

Invoke-Transfer:一款基于PowerShell的Windows剪贴板数据提取与传输工具

 关于Invoke-Transfer 

Invoke-Transfer是一款基于PowerShell实现的Windows剪贴板数据提取与传输工具。

 

在该工具的帮助下,我们可以在极端受限环境下利用剪贴板功能实现文件或数据的传输,例如Citrix、RDP、VNC、Guacamole等。

 

只要我们可以通过剪贴板发送文本,我们就能够以文本格式来发送文件(通过小型的Base64编码数据块)。除此之外,我们甚至还可以使用Windows原生的OCR功能并利用一个屏幕截图来发送文件。

 

 工具要求 

1、PowerShell 5.1;

2、Windows 10或更高版本操作系统;

 工具下载 

广大研究人员可以直接运行下列命令将该项目源码克隆至本地:

git clone https://github.com/JoelGMSec/Invoke-Transfer

(向右滑动,查看更多

 工具使用帮助 

.Invoke-Transfer.ps1 -h
  ___                 _           _____                     __
 |_ _|_ __ _   __ __ | | __ __   |_   _| __ __ _ _ __  ___ / _| ___ _ __
  | || '_   / / _ | |/ / _ ____| || '__/ _' | '_ / __| |_ / _  '__|
  | || | |  V / (_) |   <  __/____| || | | (_| | | | __   _|  __/ |
 |___|_| |_|_/ ___/|_|____|    |_||_|  __,_|_| |_|___/_|  ___|_|
  ----------------------- by @JoelGMSec & @3v4Si0N ---------------------
 Info:  This tool helps you to send files in highly restricted environments
        such as Citrix, RDP, VNC, Guacamole... using the clipboard function
 Usage: .Invoke-Transfer.ps1 -split {FILE} -sec {SECONDS}
          发送120KB的数据块,设置时间延迟为秒
          添加-guaca选项以通过Apache Guacamole发送文件
        .Invoke-Transfer.ps1 -merge {B64FILE} -out {FILE}
          将Base64文件合并到目标路径中的原始文件中
        .Invoke-Transfer.ps1 -read {IMGFILE} -out {FILE}
          使用Windows OCR读取屏幕截图并将输出保存到文件 Warning: 此工具仅适用于Windows 10或更高版本
          OCR读取可能不完全准确

(向右滑动,查看更多

 

 工具使用样例 

Invoke-Transfer:一款基于PowerShell的Windows剪贴板数据提取与传输工具

从工具的帮助信息可以看出,该工具的使用非常简单:

–如果我们想发送文件,我们可以使用-split参数;

–如果我们想使用base64编码,我们可以使用-merge参数;

–如果我们想从屏幕上读取文本,我们可以使用-read参数;

在下面这个例子中,我们将使用第一个选项发送一个二进制文件(sharphound.exe)。此外,我们将使用以下命令在带有-sec参数的发送之间添加2秒的延迟:

.Invoke-Transfer.ps1 -split .SharpHound.exe -sec 2

(向右滑动,查看更多

Invoke-Transfer:一款基于PowerShell的Windows剪贴板数据提取与传输工具

 

接下来,该工具将把文件分成120KB的小块,并在准备传输时通知我们。一旦按下Enter键,我们将有几秒钟的时间用键盘或鼠标选择复制相关文本的位置。现在,剩下的工作Invoke-Transfer会帮助我们完成:

 

Invoke-Transfer:一款基于PowerShell的Windows剪贴板数据提取与传输工具

 

这种技术将适用于大多数场景,尽管在我们的测试中,我们遇到了一个麻烦:Apache Guacamole。

 

在这种特殊情况下,会发生完全不同的事情。但是,Apache Guacamole允许我们使用三种方法在另一端输入文本。此时,我们必须按下Ctrl+Alt+Shift组合键,以打开一个可以粘贴文本的控制台。一旦复制,我们就可以在操作系统中以通常的方式使用它。

手动执行这个过程很多次,可能有点无聊。幸运的是,Invoke-Transfer能够自动执行整个过程,只需将-guaca参数添加到上一个命令中即可:

Invoke-Transfer:一款基于PowerShell的Windows剪贴板数据提取与传输工具

 

最后,我们只需要在另一端复制脚本本身,并通过使用该工具生成的文本重建原始文件,并执行以下操作:

.Invoke-Transfer.ps1 -merge .SharpHound.txt -out .SharpHound.exe

(向右滑动,查看更多

Invoke-Transfer:一款基于PowerShell的Windows剪贴板数据提取与传输工具

针对上述过程,我们给出以下PSAsyncShell代码片段作为参考:

Invoke-Transfer:一款基于PowerShell的Windows剪贴板数据提取与传输工具

一旦屏幕快照完成,我们将执行以下命令来读取文件并将其转换为可读格式,以便我们随意使用:

.Invoke-Transfer.ps1 -read .ScreenShot.png -out .ScreenShot.txt

(向右滑动,查看更多)

Invoke-Transfer:一款基于PowerShell的Windows剪贴板数据提取与传输工具

 许可证协议 

本项目的开发与发布遵循GPL-3.0开源许可证协议。

 项目地址 

 

Invoke-Transferhttps://github.com/JoelGMSec/Invoke-Transfer

参考资料:

https://darkbyte.net/transfiriendo-ficheros-en-entornos-restringidos-con-invoke-transfer

精彩推荐

Invoke-Transfer:一款基于PowerShell的Windows剪贴板数据提取与传输工具Invoke-Transfer:一款基于PowerShell的Windows剪贴板数据提取与传输工具Invoke-Transfer:一款基于PowerShell的Windows剪贴板数据提取与传输工具

Invoke-Transfer:一款基于PowerShell的Windows剪贴板数据提取与传输工具

原文始发于微信公众号(FreeBuf):Invoke-Transfer:一款基于PowerShell的Windows剪贴板数据提取与传输工具

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年4月4日03:05:33
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Invoke-Transfer:一款基于PowerShell的Windows剪贴板数据提取与传输工具http://cn-sec.com/archives/1650658.html

发表评论

匿名网友 填写信息