[Tools] OpenShell v1.0.0—A lightweight, open-source reverse shell management server written in Go.
Last Update:
Word Count:
Read Time:
OpenShell
OpenShell is a lightweight, open-source reverse shell management server written in Go.
It allows users to establish reverse shell channels and interact with them through a simple web-based graphical user interface (GUI).
If you encounter bugs or have suggestions, feel free to open an issue.
If you find this project useful, a ⭐ on the repository would be greatly appreciated!
Repository: https://github.com/iss4cf0ng/OpenShell
Disclaimer
This project was developed as part of my personal interest in studying cybersecurity. However, it may potentially be misused for malicious purposes.
Please do NOT use this tool for any illegal activities.
The author is not responsible for any misuse of this software.
Background
The idea of this project originated while I was learning web penetration testing and working on one of my side projects, Eden-RAT.
Compared to Eden-RAT, OpenShell focuses only on establishing reverse shell channels and providing a simple interactive interface.
Additional features may be added in the future.
Features
- Lightweight reverse shell server written in Go
- Web-based GUI for interactive shell sessions
- Simple reverse shell command to connect
- Designed for learning and research purposes
Installation
Download the lastest release:1
2
3$ wget https://github.com/iss4cf0ng/OpenShell/releases/latest/download/openshell-server-linux-amd64.tar.gz
$ tar -xzf openshell-server-linux-amd64.tar.gz
$ ./openshell-server
Quick Start
Create
key.pemandcert.pem:1
$ openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365 -nodesStart the server
1
$ ./openshell-server- Open your browser and navigate to:
1
https://localhost:8080 - Login using the default password (Please change it in production):
1
123456 - Generate a reverse shell command and execute it on the target machine.
- Have fun!
Architecture
OpenShell consists of two main components:
Go Server
- Handles reverse shell connections
- Manages sessions
- Provides WebSocket interface
Web GUI
- Built with xterm.js
- Allows interactive shell sessions in browser
- Supports multiple terminal tabs
Tech Stack
- Go
- WebSocket
- xterm.js
- PTY (github.com/creack/pty)
Roadmap
Future improvements may include:
- File upload / download
- Agent management
- Session persistence
- Authentication improvements
ScreenShot
Server
Login (Default Password: 123456. Please change it in production)
Create Reverse Shell Command
Sessions
Interactive Reverse Shell (capable to use vim, ssh, nano, nslookup, nc, etc.)
vim
nslookup
License
This project is licensed under the MIT License.