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通信, 安全学习资源, 网络信息收集, 远程管理工具