malwaredllc/byob

GitHub: malwaredllc/byob

BYOB 是一个开源的后渗透框架,提供 C2 服务器、跨平台 payload 生成器和多个后渗透模块,帮助安全研究者和开发者快速搭建自己的后渗透测试基础设施。

Stars: 9498 | Forks: 2146

![Banner](https://github.com/malwaredllc/byob/blob/master/byob/static/byob_logo_black.svg) [![许可证](https://img.shields.io/badge/license-GPL-brightgreen.svg)](https://github.com/malwaredllc/byob/blob/master/LICENSE) [![版本](https://img.shields.io/badge/version-2.0-blue.svg)](https://github.com/malwaredllc/byob) [![覆盖率状态](https://coveralls.io/repos/github/malwaredllc/byob/badge.svg)](https://coveralls.io/github/malwaredllc/byob) Discord [![发推](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=BYOB%20(Post-Exploitation%20Framework)&url=https://github.com/malwaredllc/byob&via=malwaredllc&hashtags=byob,python,security,github) **有疑问?** 请查看[文档](https://github.com/malwaredllc/byob/wiki)或加入我们的 [Discord 支持服务器](https://discord.gg/8FsSrw7) __免责声明__:本项目仅供授权测试或教育目的使用。 BYOB 是一个面向学生、研究人员和开发人员的开源后渗透(post-exploitation)框架。它包含以下功能: - 具有直观用户界面的命令与控制(C2)服务器 - 支持多平台的自定义 payload 生成器 - 12 个后渗透模块 它旨在让学生和开发人员能够轻松实现自己的代码并添加酷炫的新 功能,*而无需*从头编写 C2 服务器或远程管理工具。 该项目包含 2 个主要部分:**原始控制台应用程序**(`/byob`)和 **Web GUI**(`/web-gui`)。 # Web 图形用户界面 ## 仪表板 用于您的 C2 服务器的控制面板,提供点击式界面来执行后渗透模块。控制面板包含一个客户端计算机的交互式地图和一个仪表板,允许对客户端计算机进行高效、直观的管理。 ![dashboard_preview](https://github.com/malwaredllc/byob/blob/master/web-gui/buildyourownbotnet/assets/images/previews/preview-dashboard.png) ## Payload 生成器 payload 生成器利用涉及 Docker 容器和 Wine 服务器的黑魔法,为您选择的任何平台/架构编译可执行 payload。这些 payload 会生成反向 TCP shell,并在使用 [Diffie-Hellman IKE](https://tools.ietf.org/html/rfc2409) 生成安全对称密钥后,通过 AES-256 对网络通信进行加密。 ![payloads_preview](https://github.com/malwaredllc/byob/blob/master/web-gui/buildyourownbotnet/assets/images/previews/preview-payloads2.png) ## 终端模拟器 该 Web 应用程序包含一个浏览器内终端模拟器,因此即使在使用 Web GUI 时,您仍然可以直接进行 shell 访问。 ![terminal_preview](https://github.com/malwaredllc/byob/blob/master/web-gui/buildyourownbotnet/assets/images/previews/preview-shell.png) # 控制台应用程序 ## 客户端 [![client](https://img.shields.io/badge/byob-client-blue.svg)](https://github.com/malwaredllc/byob/blob/master/byob/payloads.py) *生成具有分阶段 payload、远程导入和无限制后渗透模块的完全无法检测的客户端* 1. __远程导入__:从服务器远程导入第三方包,而无需将其写入 磁盘或下载/安装它们 2. __不向磁盘写入任何内容__:客户端永远不会向磁盘写入任何内容——甚至不会写入临时文件(没有进行 任何 IO 系统调用),因为远程导入允许将任意代码 动态加载到内存中并直接导入到当前运行的 进程中 3. __零依赖(甚至不需要 Python 本身)__:客户端仅使用 Python 标准库运行,从服务器远程导入任何非标准 包/模块,并且可以使用独立的 Python 解释器编译为适用于任何平台/架构的 便携式二进制可执行文件, 允许它在任何设备上运行,即使目标主机上缺少 Python 本身 4. __只需点击 1 次即可添加新功能__:您复制到 `./byob/modules/` 目录中的 任何 Python 脚本、模块或包 都会在您的命令与控制服务器运行时 自动变得可被每个客户端远程导入并直接使用 5. __编写您自己的模块__:在 `./byob/modules/` 目录中提供了一个基本模块模板,使编写 您自己的模块成为一个简单、无忧的过程 6. __运行无限模块且不增加文件大小__:使用远程导入添加无限功能,而不会使客户端的 文件大小增加哪怕一个字节 7. __完全可更新__:每个客户端都会定期检查服务器是否有可供 远程导入的新内容,如果有任何内容被 添加/删除,它将动态更新其内存中的资源 8. __平台无关__:所有内容都是用 Python(一种平台无关语言)编写的,并且生成的客户端 可以选择被编译成便携式可执行文件(*Windows*)或 打包成独立应用程序(*macOS*) 9. __绕过防火墙__:客户端通过反向 TCP 连接连接到命令与控制服务器,这将 绕过大多数防火墙,因为默认的过滤配置主要阻止 传入连接 10. __针对反病毒软件的对策__:通过阻止具有已知反病毒产品名称的进程 生成,来避免被反病毒软件分析 11. __加密 Payload 以防止分析__:主客户端 payload 使用一个随机的 256 位密钥加密,该密钥仅 存在于与其一起生成的 payload stager 中 12. __防止逆向工程__:默认情况下,如果检测到虚拟机或沙箱,客户端将中止执行 ## 模块 [![modules](https://img.shields.io/badge/byob-modules-blue.svg)](https://github.com/malwaredllc/byob/blob/master/byob/modules) *可由客户端远程导入的后渗透模块* 1. __持久化__(`byob.modules.persistence`):使用 5 种不同的方法在主机上建立持久化 2. __数据包嗅探器__(`byob.modules.packetsniffer`):在主机网络上运行数据包嗅探器并上传 .pcap 文件 3. __权限提升__(`byob.modules.escalate`):尝试绕过 UAC 以获取未经授权的管理员权限 4. __端口扫描器__(`byob.modules.portscanner`):扫描局域网以查找其他在线设备和开放端口 5. __键盘记录器__(`byob.modules.keylogger`):记录用户的击键和输入时的窗口名称 6. __截屏__(`byob.modules.screenshot`):截取当前用户桌面的屏幕截图 7. __Outlook__(`byob.modules.outlook`):从本地 Outlook 客户端读取/搜索/上传电子邮件 8. __进程控制__(`byob.modules.process`):列出/搜索/终止/监控主机上当前运行的进程 9. __iCloud__(`byob.modules.icloud`):检查 macOS 上是否登录了 iCloud 账户 ## 服务器 [![server](https://img.shields.io/badge/byob-server-blue.svg)](https://github.com/malwaredllc/byob/blob/master/byob/server.py) *具有持久化数据库和控制台的命令与控制服务器* 1. __基于控制台的用户界面__:简化的控制台界面,用于通过 提供对客户端主机的直接终端访问权限的反向 TCP shell 远程控制客户端 主机 2. __持久化的 SQLite 数据库__:存储客户端主机识别信息的轻量级数据库, 允许反向 TCP shell 会话在任意时长的断开连接后依然保持,并实现 长期侦察 3. __客户端-服务器架构__:本地安装的所有 Python 包/模块都会自动可供客户端 远程导入,而无需将其写入目标主机的磁盘,从而允许客户端使用需要 目标主机上未安装的包的模块 ## 核心 [![core](https://img.shields.io/badge/byob-core-blue.svg)](https://github.com/malwaredllc/byob/blob/master/byob/core) *生成器和服务器使用的核心框架模块* 1. __实用工具__(`byob.core.util`):许多模块使用的各种实用功能 2. __安全性__(`byob.core.security`):Diffie-Hellman IKE 和 3 种加密模式(AES-256-OCB、AES-256-CBC、XOR-128) 3. __加载器__(`byob.core.loaders`):从服务器远程导入任何包/模块/脚本 4. __Payload__(`byob.core.payloads`):旨在远程导入依赖项、包和模块的反向 TCP shell 5. __Stager__(`byob.core.stagers`):生成唯一的 payload stager 以防止分析和检测 6. __生成器__(`byob.core.generators`):所有这些功能都为客户端生成器动态生成代码 7. __DAO__(`byob.core.dao`):处理命令与控制服务器与 SQLite 数据库之间的交互 8. __处理器__(`byob.core.handler`):用于向服务器进行远程文件上传的 HTTP POST 请求处理器 ### 待办事项 *欢迎贡献者!请随时提交包含您想出的任何新功能或改进的 Pull-Request!* 1. __远程导入加密__ - 为正在被远程导入的包/模块的数据流提供加密(以保持机密性/真实性/完整性,并防止因反序列化而产生的任何远程代码执行漏洞) 2. __传输类型__ - 添加对更多传输类型的支持(HTTP/S、DNS 等) 3. __Bug 修复__ - 修复任何 bug/问题
标签:C2框架, HTTP工具, IP 地址批量处理, Python, 后渗透框架, 安全学习资源, 开源安全工具, 无后门, 无线安全, 网络信息收集, 网络安全审计, 请求拦截, 远控木马, 逆向工具, 逆向工程平台