> cat /dev/github | grep security-tools
discovered 30 Mar 2026

CHAOS

Go ★ 2788 via github-topic
→ View on GitHub

AI Summary: CHAOS is an open-source Remote Administration Tool developed in Golang, designed for generating binaries that facilitate control over remote operating systems. It features robust capabilities such as reverse shell access, file manipulation (upload, download, delete), remote system information retrieval, and several system control functions like shutdown and restart, making it a versatile tool for remote administration tasks across both Windows and Linux platforms.


README

CHAOS logo

CHAOS: Remote Administration Tool

CHAOS is a free and open-source Remote Administration Tool that allow generate binaries to control remote operating systems.
Report bug · Request feature · Quick start · Screenshots

Disclaimer

THIS SOFTWARE IS PROVIDED “AS IS” WITHOUT WARRANTY OF ANY KIND. YOU MAY USE THIS SOFTWARE AT YOUR OWN RISK. THE USE IS COMPLETE RESPONSIBILITY OF THE END-USER. THE DEVELOPERS ASSUME NO LIABILITY AND ARE NOT RESPONSIBLE FOR ANY MISUSE OR DAMAGE CAUSED BY THIS PROGRAM.

Table of contents

Features

Feature
Reverse ShellXX
Download FileXX
Upload FileXX
Delete FileXX
ScreenshotXX
File ExplorerXX
Get OS InfoXX
Run HiddenX
RestartXX
ShutdownXX
Lock screenX
Sign outX
Open UrlXX

Quick start

Some install options are available:

1. Local Development

See more:
# Install dependencies
$ sudo apt install golang git -y

# Get this repository
$ git clone https://github.com/tiagorlampert/CHAOS

# Go into the repository
$ cd CHAOS/

# Run
$ PORT=8080 SQLITE_DATABASE=chaos go run cmd/chaos/main.go

2. Docker

See more:

Linux

# Create a shared directory between the host and container
$ mkdir ~/chaos-container

$ docker run -it -v ~/chaos-container:/database/ -v ~/chaos-container:/temp/ \
  -e PORT=8080 -e SQLITE_DATABASE=chaos -p 8080:8080 tiagorlampert/chaos:latest

Windows

# Create a shared directory between the host and container
$ md c:\chaos-container

$ docker run -it -v c:/chaos-container:/database/ -v c:/chaos-container:/temp/ -e PORT=8080 -e SQLITE_DATABASE=chaos -p 8080:8080 tiagorlampert/chaos:latest

3. Deploy on heroku

Try it now on Heroku with a single click:

Deploy to Heroku

After running go to http://localhost:8080 and login with the default username: admin and password: admin and change the password.

Databases

To connect in a supported database you should set some required environment variables:

  • SQLite:

    • SQLITE_DATABASE = chaos
  • PostgreSQL:

    • POSTGRES_DATABASE = chaos
    • POSTGRES_HOST = localhost
    • POSTGRES_PASSWORD = postgres
    • POSTGRES_PORT = 5432
    • POSTGRES_USER = postgres
    • POSTGRES_SSL_MODE = disable/require //optional

Screenshots

generate

devices

shell

explorer

Contributing

See our contributing guide at CONTRIBUTING.md.

If you enjoyed this project, give me a cup of coffee. :)

Donate

The MIT License

Copyright (c) 2017, Tiago Rodrigo Lampert