RagibUddin-RK/ANTARYAMI-SETU

GitHub: RagibUddin-RK/ANTARYAMI-SETU

一套支持 Windows/macOS 双平台、兼具局域网 TCP 直连与广域网 HTTP 轮询双模通信的远程管理工具与 C2 命令控制套件。

Stars: 1 | Forks: 0

# 🌌 ANTARYAMI-SETU (अन्तर्यामी सेतु) ### *全知之桥 - 高科技远程管理 & C2 指令套件* ## 📖 执行摘要 **ANTARYAMI-SETU**(在梵文中意为*“全知之桥”*或*“内部控制者之桥”*)是一个先进的高科技远程管理工具 (RAT) 和命令与控制 (C2) 生态系统。该套件专为高保真端点监控和操作编排而设计,支持双模式通信范式:低延迟的直接 **TCP sockets**(适用于局域网/LAN)和 RESTful **HTTP/S 轮询**(适用于广域网/WAN)。 * **开发者:** [Ragib Uddin (RK)](https://ragibuddin.in) * **详细文档与研究:** [在此阅读完整研究论文](https://ragibuddin.in/research/antaryami-setu) 该生态系统为 Windows 和 macOS 目标平台提供原生管理控制能力。套件采用高级科幻赛博黑客美学设计(HUD 风格、玻璃拟态、动画雷达圆环和实时可视化图表),为管理员提供了一个沉浸式的操作仪表板,用于控制目标环境、窃取战略情报并捕获实时遥测数据。 ## 🏗️ 架构与组件 该项目由三个主要组件组成: ### 1. 管理仪表板 (`/Admin`) 一个强大的 C# WinForms 应用程序,基于 .NET 10.0 构建,充当命令与控制 (C2) 中心。 - 在端口 9999 上充当 **TCP Server**,以接受来自 Offline Agent 的直接连接。 - 充当 **HTTP Client**,通过 PHP API 获取数据并向 Online Agent 发送命令。 - 具有未来派的深色主题 UI,包含实时流量监控、Geo-IP 节点映射、自动锁定安全机制和 payload 构建器。 ### 2. Offline Agent (`/WinOfflineAgent`) 一个独立的 C# .NET 10.0 agent,专为本地或直接网络管理而设计。 - 通过原始 TCP sockets 直接连接到管理仪表板。 - 需要管理员权限才能运行。 - 自行安装到 `ProgramData` 中,并通过 Windows Task Scheduler 注册以实现开机自启持久化。 - 在后台完全静默运行(无窗口)。 ### 3. Online Agent (`/WinOnlineAgent` & `/MacOnlineAgent`) & PHP API C# .NET 10.0 agent,适用于无法进行直接 TCP 连接(例如在 NAT/防火墙之后)的互联网管理。 它们的唯一职责是在后台静默运行,定期向中央 C2 服务器发送心跳和遥测数据,以便管理员查看目标设备是否在线。 - 使用标准的 HTTP POST/GET 请求轮询中央 Web 服务器 (`api_setu.php`) 以获取命令。 - 通过混入常规 Web 流量来避免防火墙拦截。 - **动态 Token 安全机制**:API 通过动态会话 token 架构受到严格保护。Agent 使用低权限密钥进行注册,并在每次执行时生成唯一的 Session Token (`X-API-KEY`)。 - **基于 IP 的速率限制**:具备由数据库支持的速率限制器(设为 300 次请求/分钟),以防止 DDoS。 - **PHP API (`api_setu.php`)**:充当管理仪表板和 Online Agent 之间的中间人数据库/中继。 ## 🎯 功能特性矩阵 | 特性 | 📡 WinOffline Agent (TCP LAN) | 🌐 WinOnline Agent (HTTP WAN) | 🍎 MacOnline Agent (HTTP WAN) | | :--- | :--- | :--- | :--- | | **目标操作系统** | Windows 10 / Windows 11 | Windows 10 / Windows 11 | macOS (Intel & Apple Silicon) | | **连接拓扑结构** | 直接 TCP Sockets (端口 9999) | RESTful HTTP 轮询 (`api_setu.php`) | RESTful HTTP 轮询 (`api_setu.php`) | | **通信延迟** | 超低延迟 (<10ms) | 动态轮询延迟 (3s - 5s) | 动态轮询延迟 (5s 获取,10s 遥测) | | **所需权限** | **管理员** | **管理员** | 普通用户 (LaunchAgent 上下文) | | **远程屏幕捕获** | 实时流媒体视口 | 静态 JPEG 截图 | 静态 PNG 截图 | | **文件浏览器 UI** | 交互式 Tree/ListView | 命令行浏览器 | 命令行浏览器 | | **剪贴板读/写** | 完整 STA 线程同步 | 不支持 | 不支持 | | **击键监控** | 实时键盘钩子缓冲区 | 延迟间隔 HTTP 更新 | 不支持 (需要 TCC) | | **文件窃取** | 直接 Socket 传输 | 服务器文件保险库上传 | 服务器文件保险库上传 | | **系统信息与遥测** | 自动 10 秒 TCP 广播 | 轮询请求注册表更新 | 轮询请求注册表更新 | | **系统命令 (shell)**| 直接 Cmd/PowerShell 执行 | 定时数据库任务处理 | 定时数据库任务处理 (zsh) | | **持久化机制** | Windows Task Scheduler 和注册表 | Windows Task Scheduler 和注册表 | macOS 启动项 LaunchAgent (`.plist`) | | **隐蔽模式** | 无窗口后台进程 | 无窗口后台进程 | 无窗口后台进程 (`LSUIElement`) | ## 📐 系统架构 ``` graph TD %% Admin Suite Node subgraph Admin_Suite ["💻 Admin Command Center (Windows Forms)"] Dash[DashboardForm] Login[LoginForm - Secured Access] Term[TerminalForm - Action Center] Server[TCP Socket Server - Port 9999] Compiler[MSBuild Payload Compiler] end %% Web Infrastructure subgraph Web_Infrastructure ["🌐 C2 Web Gate (WAN)"] API[api_setu.php] DB[(MySQL Database)] VaultDir[Protected /uploads/ Vault] end %% Target Agents subgraph Targets ["🔒 Managed Targets"] OffAgent[WinOfflineAgent.exe - Windows LAN Target] OnAgentWin[WinOnlineAgent.exe - Windows WAN Target] OnAgentMac[MacOnlineAgent.app - macOS WAN Target] end %% LAN Flows Login -->|1. Authenticates| Dash Dash -->|2. Dynamic Build| Compiler Compiler -->|4. Generates| OffAgent Server <-->|Low-Latency TCP Socket (Packets 1-7)| OffAgent %% WAN Flows (Windows) Dash <-->|5a. HTTP Polling (5s)| API OnAgentWin <-->|6a. HTTP Polling & POSTs (10s)| API OnAgentWin -->|7a. Uploads Screenshots/Files| VaultDir %% WAN Flows (macOS) OnAgentMac <-->|6b. HTTP Polling & POSTs (10s)| API OnAgentMac -->|7b. Uploads Screenshots/Files| VaultDir %% API / Storage connection API <-->|SQL Queries| DB API -->|Saves Exfiltrated Binaries| VaultDir Term -->|8. Renders Data| VaultDir ``` ## 🛠️ 详细技术栈 ``` +-------------------------------------------------------------------------------+ | TECHNOLOGY STACK | +-----------------------+-----------------------+-------------------------------+ | COMPONENT | PRIMARY LANGUAGE | FRAMEWORK & LIBS | +-----------------------+-----------------------+-------------------------------+ | Admin Dashboard | C# (.NET 10.0) | Windows Forms, Win32 Native | | WinOffline Agent | C# (.NET 10.0 C#) | Native Interop (P/Invoke) | | WinOnline Agent | C# (.NET 10.0 C#) | HttpClient, Multipart Form | | MacOnline Agent | C# (.NET 10.0 macOS) | HttpClient, macOS Plist, zsh | | C2 Web Gateway | PHP 8.0+ | PDO (PHP Data Objects) | | Persistent Storage | SQL / relational | MySQL / MariaDB | +-----------------------+-----------------------+-------------------------------+ ``` ## ⚙️ 详细设置与部署 ### 1. 管理仪表板 (命令与控制) 1. 在 Visual Studio 中打开 `Admin/AntaryamiSetuAdmin.csproj`。 2. 构建并运行项目。TCP server 将自动开始在端口 `9999` 上进行监听。 ### 2. Offline Agent (局域网 Windows) 1. 打开 `WinOfflineAgent/Program.cs`。 2. 更新 `ServerIp` 变量,使其与运行管理仪表板的机器的 IPv4 地址相匹配: private static string ServerIp = "192.168.x.x"; // 你的管理端 IP 3. 使用 payload 编译器或终端构建可执行文件(参见下文操作指南)。 ### 3. 在线 Web 服务器 (API 网关) 1. 将 `server setup/api_setu.php` 文件上传到你的公共虚拟主机目录中(例如 `public_html/api/api_setu.php`)。 2. **关键:** 将生成的 `.user.ini` 和 `.htaccess` 文件上传到虚拟主机上完全相同的文件夹中,以支持最高达 2GB 的大文件上传。 3. **API Key 设置:** 打开 `api_setu.php` 并安全地设置你的管理端 `$ADMIN_KEY` 和 Agent 端 `$AGENT_REG_KEY`。设置数据库变量 `$db`、`$user` 和 `$pass`。 ### 4. Online Agent (公共互联网 Windows & macOS) 1. 打开 `WinOnlineAgent/Program.cs` 和 `MacOnlineAgent/Program.cs` 并更新 `ApiUrl`: private static string ApiUrl = "https://yourdomain.com/api/api_setu.php"; 2. 打开 `Admin/dashboard.cs` 并更新 `ApiUrl` 变量,使其指向完全相同的 URL,以便管理面板能够管理在线 agent。 3. **API Key 安全性:** 确保两个 agent 中的注册请求头 `X-API-KEY` 与你在 `api_setu.php` 服务器上配置的 `$AGENT_REG_KEY` 相匹配: _telemetryClient.DefaultRequestHeaders.Add("X-API-KEY", "YourSecretAgentKey"); 4. 构建可执行文件(参见下文操作指南)。 ## 🧮 核心算法与执行机制 ### 1. 自定义二进制包序列化协议 (TCP Socket 模式) 为了在 TCP sockets 上实现超快、低宽带的通信,该生态系统摒弃了 XML 或 JSON 等繁重格式。相反,它依赖于原始的二进制序列结构。 * **Header Frame**:5 字节(1 字节类型标识符,4 字节整数 Payload 长度) * **Payload**:可变字节 ### 2. 基于流的大型 Payload 更新执行 (1GB+) 在不耗尽系统内存 (RAM) 的情况下,使用大型 payload 二进制文件更新目标 agent: * **无限超时**:将默认的 HttpClient 超时覆盖为最长 45 分钟。 * **基于磁盘的流式传输**:使用 `HttpCompletionOption.ResponseHeadersRead` 并直接流式传输到磁盘上的临时文件中。 ### 3. macOS 无窗口隐蔽性与持久化 * **隐蔽性**:打包在原生的 `.app` bundle 中,包含阻止该应用程序生成 Dock 图标的 plist 属性 (`LSUIElement = true`)。 * **持久化**:通过在 `~/Library/LaunchAgents/com.antaryami.maconlineagent.plist` 处自动配置 LaunchAgent 配置文件,与 macOS 启动守护进程结构集成。 ## 🛡️ 平台安全态势 * **离线 TCP 通道**:对所有指令和数据 payload 使用 **AES-256 对称加密 (CBC 模式,PKCS7 填充)**。 * **在线 HTTP/S 通道**:管理面板、Online Agent 和 Web 网关之间的流量使用 **TLS/SSL (Transport Layer Security)** 进行动态加密。 * **动态会话 Token 认证**:Agent 使用低权限密钥宣告其存在,并为所有后续数据传输生成唯一的加密 UUID (`session_token`)。 ## 🛠️ 操作指南与故障排除 ### 1. 构建静默的 Windows 可执行文件 (`WinOfflineAgent` & `WinOnlineAgent`) 两个 Windows agent 都可以编译为完全在后台静默运行的独立单文件可执行程序。在 agent 的文件夹中打开终端并运行: ``` dotnet publish -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true -p:AssemblyName=CustomAgentName ``` 这会生成一个 `.exe` 文件,该文件会投放(drop)到 `ProgramData` 中并注册一个不可见的计划任务。 ### 2. 构建 macOS App Bundle (`MacOnlineAgent`) 我们提供了一个自动化的构建脚本 `build_app.sh`,它会编译 C# 程序并将其打包为原生的 macOS App Bundle (`.app`),同时支持 Apple Silicon (M1/M2) 和 Intel 架构(通用二进制文件)。 ``` cd MacOnlineAgent chmod +x build_app.sh ./build_app.sh ``` * **运行应用程序**:在 Finder 中双击 `MacOnlineAgent.app` 启动它,或者在终端中使用 `open MacOnlineAgent.app`。不会出现任何窗口或 Dock 图标。 如果你想手动构建原始的独立单文件二进制程序(不包含 `.app` bundle 包装器): * **Apple Silicon:** `dotnet publish -c Release -r osx-arm64 --self-contained true -p:PublishSingleFile=true -p:AssemblyName=CustomAgentName` * **Intel:** `dotnet publish -c Release -r osx-x64 --self-contained true -p:PublishSingleFile=true -p:AssemblyName=CustomAgentName` ### 3. Agent 卸载与彻底清除 **Windows (在线与离线):** 删除在 `HKCU\Software\Microsoft\Windows\CurrentVersion\Run` 下创建的计划任务和注册表 Run 键,并终止该进程。 ``` reg delete "HKCU\Software\Microsoft\Windows\CurrentVersion\Run" /v "AntaryamiSetuAgent" /f reg delete "HKCU\Software\Microsoft\Windows\CurrentVersion\Run" /v "AntaryamiSetuOnlineAgent" /f schtasks /delete /tn "OnlineAgentTask" /f schtasks /delete /tn "AntaryamiSetuAgentTask" /f cmd /c "timeout /t 3 & del /f /q %CD%\AntaryamiSetuAgent.exe" ``` **macOS:** 由于没有 UI,你必须从终端停止该 agent 并删除其持久化配置: ``` launchctl unload ~/Library/LaunchAgents/com.antaryami.maconlineagent.plist rm -f ~/Library/LaunchAgents/com.antaryami.maconlineagent.plist killall MacOnlineAgent rm -rf /Applications/MacOnlineAgent.app ``` *基于 ANTARYAMI 指令架构开发。所有系统均已受到全面监控。*
标签:C2框架, HTTP轮询, IP 地址批量处理, TCP通信, 安全学习资源, 网络信息收集, 远程管理工具