Prerequisites
- Fresh machine with Ubuntu 24.04 LTS (other Linux OS may work as well, but not tested). We do not recommend using machines that have other services running except you understand what you are doing.
- System Requirements:
- Broadband internet connections
| CPU | RAM (GB) | Storage (GB) | Remarks | |
|---|---|---|---|---|
| Minimum Requirements For trial deployments | 4 | 8 | 50 | Swap memory activation required |
| Standard Requirements For production environments and continuous development | 8 | 12 | 100 | No need swap memory |
Installation Steps
First, you need to clone the repository:
Figure 1. T-Guard Installer Main Menu
Step 1: Update System and Install Prerequisites
In the Main Menu, type ‘1’ and press Enter. This will update existing packages, install all necessary dependencies, and set up Docker. Wait for the process to complete and it will then return to the Main Menu.Step 2: Install T-Guard SOC Package
In the Main Menu, type ‘2’ and press Enter. You’ll see a menu to choose the current network environment of your system for installing T-Guard, as shown in Figure 2.
FIgure 2. Network Environtment Options


Figure 3. Wazuh Installation

Figure 4. Shuffle Installation

Figure 5. IRIS-DFIR Instalation

Figure 6. MISP Installation

Figure 7. Dashboard Access and Default Credentials
.png)
Figure 8. Warning Page
.avif)
Figure 9. Wazuh Login Page
.png)
Figure 10. Wazuh Dashboard
.png)
Figure 11. Shuffle Dashboard
.avif)
Figure 12. IRIS Dashboard
.png)
Figure 13. MISP Dashboard
Credential Summary – T-Guard Modules
| Service | Web Interface | Username | Password |
|---|---|---|---|
| Wazuh | https://<ip> | admin | SecretPassword |
| DFIR-IRIS | https://<ip>:8443 | administrator | MySuperAdminPassword! |
| Shuffle | http://<ip>:3001 | administrator | MySuperAdminPassword! |
| MISP | https://<ip>:1443 | admin@admin.test | admin |
Integration Steps
In the Main Menu, type ‘3’ and press Enter. The system will prompt you to enter the IRIS API key, as shown in Figure 14.
Figure 14. Input API KEY
The API key will be displayed.
Copy and paste it to the installation, then press Enter. Wait until the process is finished.
Then, you’ll be prompted to enter your VirusTotal API key.
If you don’t have a VirusTotal account yet, please create one first in following URL:https://www.virustotal.com/ If you already have an account, log in, click your profile name, and select ‘API Key’ to view it.
Copy and paste it to the installation, then press Enter. Wait until the process is finished.
Then, you’ll be prompted to enter your Shuffle Webhook URL.
To obtain the URL, follow the instructions below.
- Go to your Shuffle dashboard.
- Select Experienced.
- Select New Workflow.
- Specify your preferred workflow name—for example, test. > select Done.
-
In the left panel, select Trigger tab, then drag the Webhook to the middle panel as illustrated below.
-
Click on Webhook module, then it will show up the configuration panel on the right.
- In the “Webhook URL” parameter, manually copy the URL by highlighting it until the end of the url, then press Ctrl+C.
- Paste it to the installation terminal, then press Enter. Wait until the process is finished.
- Go back to the Shuffle, click the Start button as illustrated below.
-
Next, select the Shuffle module in the middle panel, then it will show up the configuration panel on the right.
- In the “Find Actions” parameter, make sure to select ‘Repeat back to me’.
- In the “Call” parameter, change the value to
$exec, then click the Save button, as illustrated below.
Select Run Anyway.
Then, you’ll see the All Workflow Runs panel on the right side.
Next, on the left panel, select Apps tab, type “IRIS” in the Search Active Apps bar. Just click the IRIS module (not IRIS V2), and wait until the IRIS v2 is show up.
Then drag it to the middle panel as illustrated below.
Click IRIS Module, then fill the following parameters:
- Find Actions: Add a new case
- Apikey: (insert your IRIS API Key)
- Url: (your IRIS url)
Scroll down to the Body parameter, and click the Expand Window button.
Change the body content with the following:
After that, click Submit button on the bottom right.
Then, click Save button.
Click the Show Executions button to open the All Workflow Runs panel. You should see alerts from Wazuh listed here.
Then, click on the alerts with the following icon.
If there’s nothing available yet, run the Brute-Force Simulation which is explained in Use Case section below in Use Case 1, then come back here.
Then, click Refresh button as illustrated below.
It should be exist the IRIS process. Inside the IRIS module, the Status value should be 200, means that the automation of ticket creation is success, as illustrated below.
We can also check in the IRIS page (https://<your_ip>:8443), select Manage Case tab on the left panel. We can see the ticket created from Shuffle exists.
Use Case
In the Main Menu, type ‘4’ and press Enter.
Use Case 1: Brute-Force Simulation
In the PoC Menu, type ‘1’ and press Enter.
If prompted to continue connecting, type yes and press Enter.
Multiple login attempts have been recorded in the Wazuh security events, indicating a potential security threat.
These events will be closely monitored and analyzed by the security operations center (SOC) team to determine the source of the attempts and take appropriate action to mitigate any potential risk.
Use Case 2: Malware Detection and Auto-Response
In the PoC Menu, type ‘2’ and press Enter. Open your Wazuh page (https://<your_ip>). It would be appear an event about VirusTotal detect the malware, the deletion of the file, and the activated response regarding to the malware, illustrated below.
We can also check in the IRIS to see the ticket that automatic created
Use Case 3: Web Defacement Detection
In the PoC Menu, type ‘3’ and press Enter. Before simulate the web defacement, open the given link (http://<your_ip>:3000) in your browser. It will direct you to the example website that created by the script.
Then, start the web defacement. It will change the website appearance.
We can see in the Wazuh for the detection of file content changes. The rule id is 550 with the description is Integrity Checksum Changed.

