YAAAS is a repository of prototype Ansible playbooks for building attack infrastructure. I intend to use this during my day job and with side projects.
- I made this project partly to learn Ansible. There will certainly be dumb decisions made in here. Use at your own risk.
- This whole repo is still in very early days. There's still lots of work to do.
- Everything here was tested on Kali and only Kali. For now.
- Sliver is the only non-metasploit C2 project installed. For now.
- The c2-servers doesn't do very much. For now.
- The redirectors role is just an idea. For now.
- Have I mentioned this isn't really complete? XD
Please note that the default configuration here will grant the account named in the main_username variable root privileges through the docker installation and group membership process! All these playbooks are written as though main_username has full sudo privileges already, but still.
Clone this repo to the machine that will be your ansible controller.
Install ansible via the appropriate method for your controller, whatever that may be.
e.g.
sudo apt install ansibleIf the full ansible package isn't available (like Kali, just pulled from their repos recently), install ansible-core and then add the docker_image module like so:
ansible-galaxy collection install community.dockerAdd your hosts to or
. The
file in this repo assumes
hosts.yml by default.
Please also note that this repo uses localhost as an attack_host and a c2_server by default. See .
Check that your hosts are listed and organized correctly with something like this:
ansible-inventory --list # List of hosts in JSON format
ansible-inventory --graph # List of hosts in text tree format for global Ansible configuration.
Inventory: or
. Set which one in
Global variables: has useful global variables defining things like your main username, destination directories, etc.
TODO. Not yet implemented.
Do all the things.
ansible-playbook runMe.yml -i inventory/hosts.ymlShow all ansible facts on your local host with no SSH server required:
ansible -c local localhost ansible.builtin.setupRun playbook and exclude any tasks with tag "tested":
ansible-playbook runMe.yml --skip-tags tested