-
Notifications
You must be signed in to change notification settings - Fork 7
⚔ Tool Usage
The first step is to download the tool, in the way over git clone
this is practically the BETA
for the upcoming release. This means that errors may occur in rare cases, as not all newly implemented features have yet been fully tested.
The easiest way to recognize it is by looking at the banner
when you start the tool, as the highest version is noted there.
💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀
💀 💀
💀 Yggdrasil 💀
💀 Version 0.9b <-- 💀
💀 Rainer Christian Bjoern Herold 💀
💀 💀
💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀
💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀
💀 💀
💀 Yggdrasil 💀
💀 Version 0.9c <-- 💀
💀 Rainer Christian Bjoern Herold 💀
💀 💀
💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀
Warning
The above version numbers may differ in newer releases and are for illustrative purposes only.
# Download
sudo git clone https://github.com/Jarl-Bjoern/Yggdrasil/
# Switch_To_Folder
cd Yggdrasil
# Start_Yggdrasil
sudo python3 yggdrasil.py
Warning
If there are problems with the above version, the version must be switched to the stable release by using the following instructions.
Visit the page Releases and download the latest version.
Caution
The following command chain is only an example
, this does not mean that the version shown here is necessarily the latest version.
# Download
wget https://github.com/Jarl-Bjoern/Yggdrasil/archive/refs/tags/V0.9b.zip
# Unzip_And_Remove_The_Archive
unzip V0.9b.zip ; rm -f V0.9b.zip
# Switch_To_Folder
cd Yggdrasil-0.9b
# Start_Yggdrasil
sudo python3 yggdrasil.py
-------------------------------------------------------------------------------------
| Created by Rainer Christian Bjoern Herold |
| Copyright 2022-2024. All rights reserved. |
| |
| Please do not use the program for illegal activities. |
| |
| If you got any problems don't hesitate to contact me so I can try to fix them. |
-------------------------------------------------------------------------------------
optional arguments:
-aL [ACCEPT_LICENSES], --accept-licenses [ACCEPT_LICENSES]
This parameter is required to accept licenses and the popups
from firefox during the installation of extensions.
Extensions:
- Firefox
Licenses:
- Veracrypt
---------------------------------------------------------------
-aW ADD_WORKSPACE, --add-workspace ADD_WORKSPACE
This parameter specifies your default workspace location.
Default: /opt/workspace
---------------------------------------------------------------
-cD CUSTOM_DAYS, --custom-days CUSTOM_DAYS
This parameter specifies the max days for the shredding script.
Default:
- 90 Days
---------------------------------------------------------------
-cP CUSTOM_PATH, --custom-path CUSTOM_PATH
This parameter specifies the target path of your custom scripts
or tools.
Example:
- python3 yggdrasil.py -cP /opt/yggdrasil/Custom
It's also possible to select a single file.
Example:
- python3 yggdrasil.py -cP /opt/yggdrasil/Custom/old-kali-wallpapers.sh
---------------------------------------------------------------
-hN HOST_NAME, --host-name HOST_NAME
This parameter specifies the hostname of the kali machine.
Default:
- pentest-kali
- forensic-kali
---------------------------------------------------------------
-sC [SKIP_CONFIG], --skip-config [SKIP_CONFIG]
This parameter skips the configs part.
Best practice settings:
- Automated Updates (APT|Cargo|Docker|Git Packages|Pip|Rust)
- Custom Configs (alias|bashrc|zshrc)
- screenrc
- vim
- repo-change (rolling-release to last-snapshot)
- automated shredding task
---------------------------------------------------------------
-sH [SKIP_HARDENING], --skip-hardening [SKIP_HARDENING]
This parameter skips the hardening part.
Hardening:
- Firewall
- Operating System
- SSH
- Apache
- nginx
- smb
---------------------------------------------------------------
-sbI [SKIP_BASIC_INSTALLATION], --skip-basic-installation [SKIP_BASIC_INSTALLATION]
This parameter skips the basic tools installation part.
---------------------------------------------------------------
-sI [SKIP_INSTALLATION], --skip-installation [SKIP_INSTALLATION]
This parameter skips the installation part.
---------------------------------------------------------------
-sU [SKIP_URLS], --skip-urls [SKIP_URLS]
This parameter skips the url opening part after the
installation process.
---------------------------------------------------------------
-tP TOOL_PATH, --tool-path TOOL_PATH
This parameter specifies your default tools location.
Default:
- /opt/pentest_tools
- /opt/forensic_tools
---------------------------------------------------------------
-v [VERBOSE], --verbose [VERBOSE]
This parameter shows all interaction messages during the apt
package manager installation process.
---------------------------------------------------------------
After the initial start of the program, a selection from several categories should be displayed.
The selection can be made either with the full name
of the category or the corresponding number
.
Important
It is currently only possible to choose between one
main category!
💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀
💀 💀
💀 Yggdrasil 💀
💀 Version 0.9c 💀
💀 Rainer Christian Bjoern Herold 💀
💀 💀
💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀
Please choose between one category
-------------------------------------------------------------
| |
| [1] complete : installation of all toolkits |
| [2] custom : installation of custom tools |
| [3] forensic : installation of forensic tools |
| [4] pentest : installation of pentest tools |
| [5] hardening : installation of hardening tools |
| [6] training : installation of training tools |
| [7] red_teaming : installation of red teaming tools |
| [8] development : installation of development tools |
| |
-------------------------------------------------------------
Your Choice: pentest
In this chapter it is possible to choose between one
or multiple
pentesting areas.
The selection can be made either with the full name
of the category or the corresponding number
.
💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀
💀 💀
💀 Yggdrasil 💀
💀 Version 0.9c 💀
💀 Rainer Christian Bjoern Herold 💀
💀 💀
💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀
Please choose between one category
----------------------------------------------------------
| |
| [1] infrastructure : tools for infra pentesting |
| [2] iot : tools for iot pentesting |
| [3] mobile : tools for mobile pentesting |
| [4] web : tools for web pentesting |
| [5] cloud : tools for cloud pentesting |
| |
----------------------------------------------------------
Your Choice: infrastructure
Multiple categories can be selected as in the example below using the number notation
, whereby they are separated by a ,
.
Note
The same effect occurs if the full name is separated by a comma (e.g., infrastructure,web
).
💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀
💀 💀
💀 Yggdrasil 💀
💀 Version 0.9 💀
💀 Rainer Christian Bjoern Herold 💀
💀 💀
💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀
Please choose between one category
----------------------------------------------------------
| |
| [1] infrastructure : tools for infra pentesting |
| [2] iot : tools for iot pentesting |
| [3] mobile : tools for mobile pentesting |
| [4] web : tools for web pentesting |
| [5] cloud : tools for cloud pentesting |
| |
----------------------------------------------------------
Your Choice: 1,4
Important
This selection area appears only if Infrastructure
or Forensic
was selected before.
💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀
💀 💀
💀 Yggdrasil 💀
💀 Version 0.7b 💀
💀 Rainer Christian Bjoern Herold 💀
💀 💀
💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀
Please choose between one installation
----------------------------------------------------------
| |
| [1] full : full installation (GUI) |
| [2] minimal : minimal installation (CLI) |
| |
----------------------------------------------------------
Your Choice: full
In this chapter you can use the provided hardening measures, also here you have the possibility to choose either one or more settings.
Tip
The part can be skipped the next time by using the parameter -sH
when starting Yggdrasil.
💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀
💀 💀
💀 Yggdrasil 💀
💀 Version 0.8 💀
💀 Rainer Christian Bjoern Herold 💀
💀 💀
💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀
----------------------------------------------------------
| |
| [1] complete : complete configuration |
| [2] Firewall : firewall configuration |
| [3] Sysctl (OS) : sysctl hardening |
| [4] SSH : SSH hardening |
| [5] Apache : Apache hardening |
| [6] nginx : nginx hardening |
| |
----------------------------------------------------------
Your Choice: 1
If you selected SSH hardening
in the previous step, then you will be prompted to select one of the available local IP addresses.
💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀
💀 💀
💀 Yggdrasil 💀
💀 Version 0.8 💀
💀 Rainer Christian Bjoern Herold 💀
💀 💀
💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀
Please select an IP address to be used
for SSH configuration
----------------------------------------------------------
eth0:
- 192.168.56.2 (IPv4)
- fe80::XXX:XXXX:XXXX:XXXX (IPv6)
----------------------------------------------------------
Your Choice: 192.168.56.2
Here you can use the best practice settings, also here it is possible that several can be selected.
Tip
The part can be skipped the next time by using the parameter -sC
when starting Yggdrasil.
💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀
💀 💀
💀 Yggdrasil 💀
💀 Version 0.9b 💀
💀 Rainer Christian Bjoern Herold 💀
💀 💀
💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀
-----------------------------------------------------------
| |
| [1] complete : complete configuration |
| [2] updates : automated updates |
| (APT|Docker|Git Packages|Pip) |
| [3] alias : custom configs |
| (alias|.bashrc|.zshrc) |
| [4] screenrc : custom screenrc config |
| [5] vim : custom vim config |
| [6] repo : kali repository change |
| [7] shredder : workspace file shredding script |
| (after 90 days [default]) |
| [8] tmux : custom tmux config |
| |
-----------------------------------------------------------
Your Choice: 1
If you selected the screenrc
configuration in the previous step, you will now have the choice between two custom configurations.
Thanks here again to @HomeSen
.
💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀
💀 💀
💀 Yggdrasil 💀
💀 Version 0.9b 💀
💀 Rainer Christian Bjoern Herold 💀
💀 💀
💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀
-----------------------------------------------------------------
| |
| [1] homesen : custom screenrc config (@HomeSen) |
| [2] jarl-bjoern : custom screenrc config (@jarl-bjoern) |
| |
-----------------------------------------------------------------
Your Choice: 2
If you selected the vim
configuration in the previous step, you will now have the choice between two custom configurations.
Thanks here again to the people @HomeSen
and @nayaningaloo
.
💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀
💀 💀
💀 Yggdrasil 💀
💀 Version 0.9 💀
💀 Rainer Christian Bjoern Herold 💀
💀 💀
💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀
-----------------------------------------------------------------
| |
| [1] homesen : custom vim config (@HomeSen) |
| [2] nayaningaloo : custom vim config (@nayaningaloo) |
| |
-----------------------------------------------------------------
Your Choice: 1
If you have selected either the Updater
or the Shredder
function, you will be redirected to the page below where you have the choice of creating the automated tasks as either a Cronjob
or Systemd Unit
.
💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀
💀 💀
💀 Yggdrasil 💀
💀 Version 0.9 💀
💀 Rainer Christian Bjoern Herold 💀
💀 💀
💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀
-----------------------------------------------------------
| |
| [1] cronjob : cronjob configuration |
| [2] timer : systemd timer configuration |
| |
-----------------------------------------------------------
Your Choice: 2
In the next step, the script will go through all the configured steps and install the tools like in the example below.
There are various ways to update the program.
Reset the local git repo and renew it with a pull request.
cd /opt/yggdrasil
git reset --hard HEAD~1 ; git pull
Delete the tool and download again.
rm -rf /opt/yggdrasil
sudo git clone https://github.com/jarl-bjoern/yggdrasil
In some cases it can be useful to check whether the units are working. The overview below and a sample excerpt of the command can be used for this purpose.
Unit | Description |
---|---|
Yggdrasil_Cargo_Updater |
The script was designed to trigger the systemd unit to install cargo tool updates. |
Yggdrasil_Container_Cleaner |
The script was designed to trigger the systemd unit to remove old container images. |
Yggdrasil_Container_Updates |
The script was designed to trigger the systemd unit to install docker image updates. |
Yggdrasil_GIT_Monitor_Cleaner |
The script was designed to trigger the systemd unit to remove tools from the update process of the git tools updater which was removed before. |
Yggdrasil_GIT_Monitor |
The script was designed to trigger the systemd unit to monitor the tool path to add new tools to the upgrade process. |
Yggdrasil_GIT_Updater |
The script was designed to trigger the systemd unit to install git tool updates. |
Yggdrasil_PIP_Updater |
The script was designed to trigger the systemd unit to install pip package updates. |
Yggdrasil_Rust_Updater |
The script was designed to trigger the systemd unit to upgrade rust. |
Yggdrasil_System_Updates |
The script was designed to trigger the systemd unit to install system updates. |
sudo systemctl status Yggdrasil_GIT_Monitor_Cleaner.service
○ Yggdrasil_GIT_Monitor_Cleaner.service - The script was designed to be able to install updates automatically via systemd services.
Loaded: loaded (/lib/systemd/system/Yggdrasil_GIT_Monitor_Cleaner.service; static)
Active: inactive (dead)
Dec 23 17:16:55 pentest-kali systemd[1]: Finished Yggdrasil_GIT_Monitor_Cleaner.service - The script was designed to be able to install updates automatically via systemd services..
Dec 23 17:18:43 pentest-kali systemd[1]: Starting Yggdrasil_GIT_Monitor_Cleaner.service - The script was designed to be able to install updates automatically via systemd services....
Dec 23 17:18:44 pentest-kali systemd[1]: Yggdrasil_GIT_Monitor_Cleaner.service: Deactivated successfully.
Dec 23 17:18:44 pentest-kali systemd[1]: Finished Yggdrasil_GIT_Monitor_Cleaner.service - The script was designed to be able to install updates automatically via systemd services..
Created by Rainer Christian Bjoern Herold (Jarl-Bjoern)