Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
SharpCovertTube — 将YouTube作为C2通道 - 通过将QR码视频上传至YouTube来控制Windows系统 | Kitploit
工具/GitHubGitHub/ricardojoserf/sharpcoverttube
加密/解密工具Payload生成持久化机制数据泄露命令与控制学习与教育红队
GitHubricardojoserf/sharpcoverttube

SharpCovertTube

将YouTube作为C2通道 - 通过将QR码视频上传至YouTube来控制Windows系统

查看仓库
102122年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

SharpCovertTube

SharpCovertTube 是一个通过上传视频到 Youtube 来远程控制 Windows 系统的程序。

该程序会监控一个 Youtube 频道,直到有新视频上传,然后解码视频缩略图中的二维码并执行命令。视频中的二维码可以使用明文或 AES 加密的值。

它有两个版本:普通二进制版本和服务二进制版本,并包含一个用于生成恶意视频的 Python 脚本。其目的是作为一种仅使用 Google API 网络请求的持久化方法。

img1

使用方法

在你的 Windows 系统中运行监听器:

img1

它会每隔一段特定时间(默认 10 分钟)检查 Youtube 频道,直到有新视频上传。在这个例子中,我们从 example-videos 文件夹上传了 "whoami.avi":

在发现频道上有新视频后,它会解码视频缩略图中的二维码,执行命令,并将响应进行 base64 编码后通过 DNS 外传:

img3

这也适用于 AES 加密负载的二维码和更长的命令响应。在这个例子中,文件 "dirtemp_aes.avi" 从 example-videos 上传,并通过多个 DNS 查询外传 c:\temp 的内容:

img4

日志记录到文件是可选的,但请确保文件夹存在,默认值为 "c:\temp\.sharpcoverttube.log",因此 "c:\temp" 应该存在。

DNS 外传也是可选的,可以使用 Burp 的 collaborator 轻松测试:

img8

作为替代方案,我创建了一个脚本,可以轻松创建 QR 视频、上传到 Youtube,并监控和解析 base64 编码的 DNS 查询。将此脚本用作 C2 服务器的配置在 c2-server 文件夹 中有说明:

c2_0


配置

你可以修改一些值,可以在 普通二进制 和 服务二进制 的 Configuration.cs 文件中找到它们。只有前两个值必须更新:

  • channel_id(必填!!!):从这里获取你的 Youtube 频道 ID。
  • api_key(必填!!!):要获取 API 密钥,请从这里创建一个应用程序并生成密钥。
  • payload_aes_key(可选。默认值:"0000000000000000"):用于解密二维码的 AES 密钥(如果使用 AES)。必须是 16 个字符的字符串。
  • payload_aes_iv(可选。默认值:"0000000000000000"):用于解密二维码的 IV 密钥(如果使用 AES)。必须是 16 个字符的字符串。
  • seconds_delay(可选。默认值:600):检查是否有新视频上传的延迟秒数。如果值太低,你会超出 API 速率限制。
  • debug_console(可选。默认值:true):是否在控制台显示调试信息。
  • log_to_file(可选。默认值:true):是否将调试信息写入日志文件。
  • log_file(可选。默认值:"c:\temp\.sharpcoverttube.log"):日志文件路径。
  • dns_exfiltration(可选。默认值:true):是否通过 DNS 外传命令响应。
  • dns_hostname(可选。默认值:".test.org"):用于外传系统中执行命令响应的 DNS 主机名。

img6


生成带有二维码的视频

你可以使用 c2-server 文件夹 中的服务器脚本生成视频,或者直接运行 generate_video.py 脚本。如果是后者,首先安装依赖项:

root@kitploit:~
pip install Pillow opencv-python pyqrcode pypng pycryptodome rebus

如果你使用的是 Linux,可能还需要:

root@kitploit:~
apt-get install libgl1

然后运行 generate_video.py 脚本:

root@kitploit:~
python generate_video.py -t TYPE -f FILE -c COMMAND [-k AESKEY] [-i AESIV]
  • TYPE(-t)必须是 "qr"(负载使用明文)或 "qr_aes"(使用 AES 加密)。

  • FILE(-f)是生成视频的路径。

  • COMMAND(-c)是在系统中执行的命令。

  • AESKEY(-k)是 AES 加密的密钥,仅在使用类型 "qr_aes" 时需要。它必须是 16 个字符的字符串,且与 SharpCovertTube 的 Program.cs 文件中的密钥一致。

  • AESIV(-i)是 AES 加密的 IV,仅在使用类型 "qr_aes" 时需要。它必须是 16 个字符的字符串,且与 SharpCovertTube 的 Program.cs 文件中的 IV 一致。

示例

生成一个二维码值为 "whoami"(明文)的视频,路径为 c:\temp\whoami.avi:

root@kitploit:~
python generate_video.py -t qr -f c:\temp\whoami.avi -c whoami

生成一个二维码值为 "dir c:\windows\temp"(AES 加密)的视频,使用密钥和 IV 均为 "0000000000000000",路径为 c:\temp\dirtemp_aes.avi:

root@kitploit:~
python generate_video.py -t qr_aes -f c:\temp\dirtemp_aes.avi -c "dir c:\windows\temp" -k 0000000000000000 -i 0000000000000000

img5


作为服务运行

你可以在 SharpCovertTube_Service 文件夹 中找到将其作为服务运行的代码。它具有相同的功能,但除了自我删除(在这种情况下没有意义)。

可以使用 InstallUtil 进行安装,它准备以 SYSTEM 用户身份运行,并且需要以管理员身份安装:

root@kitploit:~
InstallUtil.exe SharpCovertTube_Service.exe

然后你可以使用以下命令启动它:

root@kitploit:~
net start "SharpCovertTube Service"

img7

如果你拥有管理员权限,这可能比普通二进制版本更隐蔽,但 "Description" 和 "DisplayName" 应该更新(如上图所示)。如果你没有管理员权限,则无法安装服务,因此只能使用普通二进制版本。


注意事项

  • 文件必须是 64 位!!! 这是由于用于二维码解码的代码,该代码借自 Stefan Gansevles 的 QR-Capture 项目,而该项目部分代码又借自 Uzi Granot 的 QRCode 项目,而该项目的部分代码又借自 Zakhar Semenov 的 Camera_Net 项目(再往后我就跟踪不到了)。所以感谢他们所有人!

  • 该项目是从 covert-tube 移植而来,这是我在 2021 年仅使用 Python 开发的一个项目,灵感来源于 Welivesecurity 关于 Casbaneiro 和 Numando 恶意软件的博客文章。

  • 该项目是一个概念验证(PoC),旨在展示几乎任何互联网上的内容都可以用作 C2 通道,希望能对某人有所启发。该项目仅用于教育目的,如果你滥用 Youtube 服务,可能会遇到问题,例如 Youtube 删除你的频道。

下载工具