{"id":20411062,"url":"https://github.com/zblurx/acherus","last_synced_at":"2025-10-07T14:40:29.947Z","repository":{"id":41390857,"uuid":"418634849","full_name":"zblurx/acherus","owner":"zblurx","description":"Acherus, The Docker Hold, is a containerized hacking environment gathering many tools and resources  ","archived":false,"fork":false,"pushed_at":"2024-06-15T13:25:15.000Z","size":482,"stargazers_count":13,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-06-19T11:17:28.563Z","etag":null,"topics":["docker","hacking-tools"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zblurx.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-10-18T19:08:43.000Z","updated_at":"2024-06-15T13:25:19.000Z","dependencies_parsed_at":"2024-03-07T15:27:11.755Z","dependency_job_id":"638bdbc6-4014-4fc7-8a06-1cefefe1f150","html_url":"https://github.com/zblurx/acherus","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zblurx%2Facherus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zblurx%2Facherus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zblurx%2Facherus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zblurx%2Facherus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zblurx","download_url":"https://codeload.github.com/zblurx/acherus/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224737130,"owners_count":17361345,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","hacking-tools"],"created_at":"2024-11-15T05:49:25.349Z","updated_at":"2025-10-07T14:40:24.912Z","avatar_url":"https://github.com/zblurx.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Acherus: The Docker Hold\n\n[\u003cimg src=\"img/acherus-le-fort-d-ebene.jpg\"\u003e](https://hub.docker.com/r/zblurx/acherus)\n\n***\"Behold, Acherus, the grand citadel of death! It has no equal in this world! Not even the mighty Naxxramas could withstand a direct assault from the Ebon Hold.\"***  *Instructor Razuvious*\n\n**Acherus** is a containerized hacking environment, based on kali image, and inspired from [Exegol](https://github.com/ShutdownRepo/Exegol) and [dwn](https://github.com/Sensepost/dwn). It aim to simplify deployment and maintainability of an up-to-date hacking environment, with the ability to throw it and recreate it at any time.\n\n**Acherus** comes with a binary written in Go that act as a docker-client rewrite specifically for Acherus.\n\n## Warning\n\nThis project is a low-cost [Exegol](https://github.com/ShutdownRepo/Exegol), I'm using it because I have fun to and it's implemented with all dotfiles and keybinds I like, but if you are searching for a stronger / stable one, go for ***Exegol***. \n\n## Requirements\n\n- [Docker](https://docs.docker.com/get-docker/)\n- [Golang](https://go.dev/dl/)\n- Root user or user in *docker* group\n- A bit of disk space : \u003cimg src=\"https://img.shields.io/docker/image-size/zblurx/acherus\"\u003e\n\n## Installation\n\nTo install acherus binary, type the command below.\n\n```\ngo install github.com/zblurx/acherus@latest\n```\n\n*Note: Make sure that your go binary path is in your **PATH** variable !*\n\n## Quick Start\n\n```\n$ acherus init\n[*] Pulling Acherus. Can take some time...\n[*] Ready !\n$ acherus go\nroot@acherus [/] ~\u003e\n```\n\n## Usage\n```\n$ acherus\nUsage:\n  acherus [command]\n\nAvailable Commands:\n  completion  generate the autocompletion script for the specified shell\n  destroy     Delete targeted container\n  go          Execute and attach to container\n  help        Help about any command\n  init        Build image\n  list        List available container\n  reset       Reset Image\n  suspend     Suspend targeted Acherus Container\n\nFlags:\n  -h, --help      help for acherus\n  -v, --verbose   Verbose mode (usefull for debugging)\n\nUse \"acherus [command] --help\" for more information about a command.\n```\n\n### List\n\nTo list image and containers:\n\n```\n$ acherus list\n[*] Image List\n\n|--------------|-----------------------|----------|\n|      ID      |         TAGS          |   SIZE   |\n|--------------|-----------------------|----------|\n| d36dae842e7d | zblurx/acherus:latest | 13.83 GB |\n|--------------|-----------------------|----------|\n\n[*] Container List\n\n|----------|-----------------------|--------------|--------------------------|\n|   NAME   |         IMAGE         |      ID      |          STATUS          |\n|----------|-----------------------|--------------|--------------------------|\n| /acherus | zblurx/acherus:latest | c8c5ca0f476c | Exited (0) 2 minutes ago |\n|----------|-----------------------|--------------|--------------------------|\n\n```\n\n### Init\n\nTo install [Acherus docker image](https://hub.docker.com/r/zblurx/acherus), you can use **acherus init**:\n\n```\n$ acherus init --help\nBuild image\n\nUsage:\n  acherus init [flags]\n\nFlags:\n  -d, --dockerfile-path string   Dockerfile path\n  -h, --help                     help for init\n  -l, --local                    Load Acherus from a local Dockerfile\n\nGlobal Flags:\n  -v, --verbose   Verbose mode (usefull for debugging)\n\n$ acherus init\n[*] Pulling Acherus. Can take some time...\n[*] Ready !\n```\n\n### Go\n**acherus go** is the command to create the container and execute commands in it:\n\n```\n$ acherus go --help\nExecute and attach to container\n\nUsage:\n  acherus go [flags]\n\nFlags:\n  -d, --detach           Don't attach to the container\n  -e, --execute string   Execute specific command (default is /bin/bash)\n  -h, --help             help for go\n  -l, --local            Create container based on local image\n  -m, --mount string     Mount directory into acherus container (-m \"source:dest\")\n  -n, --nat              Nat the container (default is binded to host)\n      --netadmin         Create a container that can interact with network interfaces\n      --privileged       Create a container in privileged mode\n      --recreate         Force creation of the container (if the container already exists, will delete it)\n  -t, --tag string       Tag the specifc container (default \"acherus\")\n\nGlobal Flags:\n  -v, --verbose   Verbose mode (usefull for debugging)\n\n$ acherus go\nroot@acherus [/] ~\u003e\n```\n\n## Persistence\n\nEach container has a shared folder with the host computer, located in ```~/.acherus/acherus[-tag]``` on the host and in /data in the container. Command history is backed up into this directory, so you can access it even outside the container, in addition from Responder and Metasploit logs.\n\n## Keybinds\n\nEven if Acherus uses bash, it hold a bunch of keybinds and aliases to speed up everything:\n```bash\nKeybinds:\nCtrl+n -\u003e cd ..\nCtrl+k -\u003e cd /data\nCtrl+r -\u003e fzf history\n\n\nAliases:\n**Lots of commands**\na=\"arsenal\"\nd=\"cd data\"\npublicip='curl ifconfig.me'\n[...] (Check in runeforge/files/.bash_aliases)\n```\n\n## GUI\n\nAcherus supports GUI applications on Linux. For exemple, you can use firefox, wireshark, bloodhound, and many more !\n\n## Network\n\nBy default, Acherus bind the container to your host network interfaces. If you want to run the container on it's own network namespace just do:\n\n```bash\n$ acherus go --nat [...]\n```\n\nIf, somehow, you need to use an isolated network namespace, but need host network capability (for example, connect to an openvpn server only in the acherus container) there is an option for that:\n\n```bash\n$ acherus go --nat --netadmin [...]\n```\n\n***If network is not working anymore after vpn connection, it's dns fault***\n\nIf you need wifi capabilities, for example to use a specific wifi card, just use the --privileged option:\n\n```bash\n$ acherus go --privileged\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzblurx%2Facherus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzblurx%2Facherus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzblurx%2Facherus/lists"}