SlackHell C2
Slack Web Shell C2 for Fun and Profit
Introduction
Slackhell is a simple tool for generating and controlling web shell backdoor using Slack Bot.
Features
- Slack C2
- User management
- Access control
- Generate web shell backdoor
- Supported web shell
php
and asp
- Web shell backdoor password protected
- Shell session
Available Commands
help
- Show help commands
cmd <command>
- Execute command on the target client
generate <type>
- Generate shellcode, valid type php
and asp
shellcodes
- List generated shellcodes
shellupdate <key> <endpoint>
- Update shellcode endpoint
shelldel <key>
- Delete shellcode
user <user>
- Get authorized user information
users
- List authorized users
useradd <user> <role>
- Add authorized user, valid role admin
and agent
userupdate <user> <role>
- Update authorized user, valid role admin
and agent
userdel <user>
- Delete authorized user
session
- Get active session
sessionset <shellcode-key>
- Set active shell session
sessionkill
- Kill active shell session
Getting Started
These instructions will get you a copy of the project up and running on your local machine.
Prerequisites
- Before using Slackhell make sure you have created Slack Bot, by following this guide, create slack app.
- Install golang
Build from Source
$ git clone https://github.com/herwonowr/slackhell.git
$ cd slackhell
$ go build -o slackhell cmd/main.go
Change the Configuration
$ 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
- Log - Log debug
Start Slackhell
$ slackhell run
Build Docker Image
$ git clone https://github.com/herwonowr/slackhell.git
$ cd slackhell
$ docker build -t reponame/slackhell:version .
Start Slackhell Docker Image
$ docker run --rm -v $(pwd)/data/config/slackhell.toml:/slackhell/data/config/slackhell.toml -v $(pwd)/data/db:/slackhell/data/db reponame/slackhell:tagname
Start Slackhell Pre Build Docker Image
$ 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
Contributing
Please read CODE OF CONDUCT and CONTRIBUTING for details on our code of conduct, and the process for submitting pull requests to us.
Versioning
We use SemVer for versioning.
Authors
License
This project is licensed under the GNU GPLv3 License - see the LICENSE file for details
Disclaimer
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.
Acknowledgments