Slack Web Shell C2 for Fun and Profit
Slackhell is a simple tool for generating and controlling web shell backdoor using Slack Bot.
- Slack C2
- User management
- Access control
- Generate web shell backdoor
- Supported web shell
php
andasp
- Web shell backdoor password protected
- Shell session
help
- Show help commandscmd <command>
- Execute command on the target clientgenerate <type>
- Generate shellcode, valid typephp
andasp
shellcodes
- List generated shellcodesshellupdate <key> <endpoint>
- Update shellcode endpointshelldel <key>
- Delete shellcodeuser <user>
- Get authorized user informationusers
- List authorized usersuseradd <user> <role>
- Add authorized user, valid roleadmin
andagent
userupdate <user> <role>
- Update authorized user, valid roleadmin
andagent
userdel <user>
- Delete authorized usersession
- Get active sessionsessionset <shellcode-key>
- Set active shell sessionsessionkill
- Kill active shell session
These instructions will get you a copy of the project up and running on your local machine.
- Before using Slackhell make sure you have created Slack Bot, by following this guide, create slack app.
- Install golang
$ git clone https://github.com/herwonowr/slackhell.git
$ cd slackhell
$ go build -o slackhell cmd/main.go
$ vim ./data/config/slackhell.toml
[account]
# Slackhell initial admin account
# id e.g: UR*******
# realname e.g: Vulncode
id = "UR*******"
realname = "Vulncode"
[slack]
token = "xoxb-yourslackbottoken"
[database]
path = "./data/db/slackhell.db"
[log]
debug = false
Configuration:
- Account - Initial admin account for Slackhell
- id - your slack id
- realname - your slack realname
- Slack - Slack bot token
- token - your slack bot token (xoxb-*)
- Database - Slackhell database path
- path - database path
- Log - Log debug
- debug - set verbose log
$ slackhell run
$ git clone https://github.com/herwonowr/slackhell.git
$ cd slackhell
$ docker build -t reponame/slackhell:version .
$ docker run --rm -v $(pwd)/data/config/slackhell.toml:/slackhell/data/config/slackhell.toml -v $(pwd)/data/db:/slackhell/data/db reponame/slackhell:tagname
$ docker run --rm -v $(pwd)/data/config/slackhell.toml:/slackhell/data/config/slackhell.toml -v $(pwd)/data/db:/slackhell/data/db herwonowr/slackhell:v1.0.0
Please read CODE OF CONDUCT and CONTRIBUTING for details on our code of conduct, and the process for submitting pull requests to us.
We use SemVer for versioning.
- Herwono W. Wijaya - Initial work - Slackhell
This project is licensed under the GNU GPLv3 License - see the LICENSE file for details
THIS TOOL IS BEING PROVIDED FOR EDUCATIONAL PURPOSES ONLY, WITH THE INTENT FOR RESEARCH PURPOSES ONLY.
You may not use this software for any illegal or unethical purpose; including activities which would give rise to criminal or civil liability.
USE ON YOUR OWN RISK. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER OR CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES.