Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/calinux-py/ephemeralrmm
Simple Remote Management Tool using Discord & Google Remote Desktop
https://github.com/calinux-py/ephemeralrmm
bot command-and-control discord discord-bot discord-powershell discord-python discord-python-bot ephemeral managed-service-providers managed-services python python-bot raspberry-pi remote-control remote-desktop remote-desktop-bot remote-desktop-manager remote-management rmm
Last synced: about 1 month ago
JSON representation
Simple Remote Management Tool using Discord & Google Remote Desktop
- Host: GitHub
- URL: https://github.com/calinux-py/ephemeralrmm
- Owner: calinux-py
- Created: 2024-08-09T01:09:26.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2024-10-05T21:27:53.000Z (about 1 month ago)
- Last Synced: 2024-10-13T00:01:41.113Z (about 1 month ago)
- Topics: bot, command-and-control, discord, discord-bot, discord-powershell, discord-python, discord-python-bot, ephemeral, managed-service-providers, managed-services, python, python-bot, raspberry-pi, remote-control, remote-desktop, remote-desktop-bot, remote-desktop-manager, remote-management, rmm
- Language: Python
- Homepage:
- Size: 19 MB
- Stars: 5
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# [](https://github.com/calinux-py/Ephemeral) EphemeralRMM
[](https://github.com/calinux-py/Ephemeral)
Ephemeral is a free RMM using Discord and Chrome Remote Desktop API. It allows you to receive updates and control your devices from anywhere in the world using Discord.
It is a fun project. Now control from Linux/Raspberry Pi!| Supported | Features |
|--------|--------------------|
| ✅ | **Control devices remotely from Discord** |
| ✅ | **Remote into any device from Discord** |
| ✅ | **Guided enrollment of new devices** |
| ✅ | **List enrolled devices** |
| ✅ | **Status check on enrolled devices** |
| ✅ | **Real-time device feed** |
| ✅ | **Execute terminal cmds from Discord** |
| ✅ | **Real-time process monitoring** |
| ✅ | **Linux command and control support** |
| ✅ | **Windows client and C&C support** |## Requirements
![Windows](https://img.shields.io/badge/platform-Windows-blue) ![Linux](https://img.shields.io/badge/platform-Linux-green) ![Python](https://img.shields.io/badge/language-Python-darkgreen) ![PowerShell](https://img.shields.io/badge/language-PowerShell-purple) ![Bash](https://img.shields.io/badge/language-Bash-yellow) ![Discord](https://img.shields.io/badge/Discord-7289DA?logo=discord&logoColor=white) ![Google](https://img.shields.io/badge/Google-4285F4?logo=google&logoColor=white)- Python 3.8+
- Discord Bot Token
- Discord Webhooks
- Google Remote Desktop
- PowerShell or Bash
- discord.py
- psutil
- requests---
## Features
- **Device Enrollment**: Easily enroll new devices to the network using the `/enroll-device` command.
- **Device Listing**: View all enrolled devices and their details using the `/device-list` command.
- **Status Check**: Remotely check the status of any enrolled device with the `/check-status` command.
- **Discord Shell**: Execute Terminal (CMD) commands directly from Discord using the `/run` command. Return the output back to you in Discord.
- **Process Monitor**: Monitor processes in real-time with the `Process Feed`.
- **Guided Enrollment**: Step-by-step instructions for enrolling a new device via the `/howto-enroll` command.[](https://github.com/calinux-py/Ephemeral)
---
## Commands
- `/device-list`: Lists all devices currently enrolled in the system.
- `/enroll-device`: Enrolls a new device into the system.
- `/check-status`: Checks the status of devices.
- `/run`: Execute PowerShell or cmd commands directly from Discord.
- `/howto-enroll`: Provides detailed instructions on how to enroll a new device.---
## Windows Setup (Head and Client)
1. **Clone the Repository**:
```bash
git clone https://github.com/calinux-py/Ephemeral.git
cd ephemeral; cd ephemeral
```2. **Install Dependencies**:
```powershell
pip install -r requirements.txt
```3. **Configure Ephemeral**:
- Update `config/config.ini` with your Discord bot token and webhooks.
- `[Hostname]` is the hostname of the device running Ephemeral-Head (the command and control device).
- `[LiveFeed]` is the Discord webhook where your devices will actively post device information in realtime.
- `[AgentStatus]` is the Discord webhook where agents will post device information when inquired.
- `[AgentCommands]` is the Discord webhook used by agents to return output from PowerShell commands.
- `[ProcessFeed]` is the Discord webhook used to update new running processes.
- LiveFeed, AgentStatus, and ProcessFeed can be the same Discord webhook (but not recommended).
- `[DiscordToken]` is where you enter your Discord Bot token.4. **Convert Ephemeral source code into an .exe**:
```powershell
pyinstaller --onefile PATH/TO/EPHEMERAL.py
```5. **Run Ephemeral**:
- Run Ephemeral-Head on a server or computer you are controlling.
- Run Ephemeral-Client on a Windows client device you want to control.6. **Start Ephemeral (Hidden) Upon Each Boot**:
- Save the below PowerShell script as a `.ps1` file in your `Startup Folder`. You can easily access your `Startup Folder` by holding `CTRL+R` and typing `shell:startup`.
```powershell
cd "PATH\TO\Ephemeral\";
Start-Process -FilePath .\ephemeral.exe -WindowStyle hidden; Start-Process -FilePath .\agent3.ps1 -WindowStyle hidden
```7. Optional: **Start Ephemeral (Hidden) Upon Each Boot WITHOUT Process Monitor**:
- Save the below PowerShell script as a `.ps1` file in your `Startup Folder`. You can easily access your `Startup Folder` by holding `CTRL+R` and typing `shell:startup`.```powershell
cd "PATH\TO\Ephemeral\";
Start-Process -FilePath .\ephemeral.exe -WindowStyle hidden
```---
## Linux Setup (Head Only)
1. **Clone the Repository**:
```bash
git clone https://github.com/calinux-py/Ephemeral.git
cd Ephemeral; cd Ephemeral
```2. **Install Dependencies**:
```bash
pip install -r requirements.txt
```
3. **Remove all carriage return (\r) characters from the Linux-agent.sh file, converting it from Windows-style line to Unix-style line endings** (im lazy do it yourself).
```bash
sed -i 's/\r//' Linux-agent.sh
```
4. **Configure Ephemeral**:
- Update `config/config.ini` with your Discord bot token and webhooks.
- `[Hostname]` is the hostname of the device running Ephemeral-Head (the command and control device).
- `[AgentStatus]` is the Discord webhook where agents will post device information when inquired.
- `[DiscordToken]` is where you enter your Discord Bot token.
- No other webhooks are needed with Linux Ephemeral-Head.5. **Add perms as needed**:
```bash
chmod +x Linux-agent.sh Linux-Ephemeral-Head.py
```6. **Run Ephemeral**:
```bash
python3 Linux-Ephemeral-Head.py
```7. **Run upon boot**:
- Add this bash file, `start-eph.sh`, to any directory
```bash
sleep 10
cd /home/PATH/TO/Ephemeral
lxterminal -e "python3 /home/PATH/TO/Ephemeral/Linux-Ephemeral-Head.py"
```9. **Add startup file to .config**:
- Go to /home/USER/.config
- If you do not have a directory named autostart, create it.
- Add this to autostart named Ephemeral.desktop
```bash
[Desktop Entry]Exec=bash /home/PATH/TO/start-eph.sh
```
---[](https://github.com/calinux-py/Ephemeral)
## PowerShell Agents
- **Agent.ps1**: used for checking statuses of all client agents. Returns output back to user in Discord.
- **Agent2.ps1**: used for running shell commands and returning output back to the user in Discord.
- **Agent3.ps1**: used for monitoring new processes and updating the user in Discord.
- **Agent.sh**: Linux version of Agent.ps1.---
## License
MIT