> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tguard.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Installation

# 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**<br />**(GB)** | **Storage**<br />**(GB)** |           **Remarks**           |
| --------------------------------------------------------------------------------------- | :-----: | :-------------------: | :-----------------------: | :-----------------------------: |
| **Minimum Requirements**<br />*For trial deployments*                                   |    8    |           16          |            100            | Swap memory activation required |
| **Standard Requirements**<br />*For production environments and continuous development* |    8    |           32          |            250            |       No need swap memory       |

# Installation Steps

First, you need to clone the repository:

```
git clone https://github.com/sguresearcher/nusantara.git
```

Move to the directory and execute the installation script:

```
cd nusantara
chmod +x setup.sh
./setup.sh
```

To install the main T-Guard components, follow instructions below.

<Frame caption="Figure 1. T-Guard Installer Main Menu">
  <img src="https://mintcdn.com/sgu-84307e83/yhcdw8jF03ugHp05/images/main-menu-new.png?fit=max&auto=format&n=yhcdw8jF03ugHp05&q=85&s=88ae3166c9f64de7b130054463c5f595" alt="Main Menu Pn" title="Main Menu Pn" style={{ width:"100%" }} width="602" height="357" data-path="images/main-menu-new.png" />
</Frame>

## **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.

<Frame caption="FIgure 2. Network Environtment Options">
  <img src="https://mintcdn.com/sgu-84307e83/drHFaNd1sEsBAeon/images/Network-Environment-Options.png?fit=max&auto=format&n=drHFaNd1sEsBAeon&q=85&s=82edf49b44b12afa70ceda7774e5a604" alt="Network Env Choice Pn" title="Network Env Choice Pn" style={{ width:"100%" }} width="602" height="473" data-path="images/Network-Environment-Options.png" />
</Frame>

If you are using a local virtual machine, such as VirtualBox or VMware, choose option ‘**1**’.

If you are using a cloud-based virtual machine, such as Google Cloud Platform (GCP), Amazon Web Services (AWS), or Microsoft Azure, choose option ‘**2**’.

The installation process will start sequentially, beginning with Wazuh (include deploy initial wazuh agent), followed by Shuffle, IRIS, and MISP, as shown in Figure 3, 4, 5, and 6, respectively.

<Frame caption="Figure 3. Wazuh Installation">
  <img src="https://mintcdn.com/sgu-84307e83/drHFaNd1sEsBAeon/images/Wazuh-Installation.png?fit=max&auto=format&n=drHFaNd1sEsBAeon&q=85&s=f9021886299bcde3e8c55b0f7943764c" alt="Wazuh Inst Pn" title="Wazuh Inst Pn" style={{ width:"100%" }} width="602" height="289" data-path="images/Wazuh-Installation.png" />
</Frame>

<Frame caption="Figure 4. Shuffle Installation">
  <img src="https://mintcdn.com/sgu-84307e83/drHFaNd1sEsBAeon/images/Shuffle-Installation.png?fit=max&auto=format&n=drHFaNd1sEsBAeon&q=85&s=7aba465f819bae176df4bcee9dbf1f53" alt="Shuffle Inst Pn" title="Shuffle Inst Pn" style={{ width:"100%" }} width="602" height="313" data-path="images/Shuffle-Installation.png" />
</Frame>

<Frame caption="Figure 5. IRIS-DFIR Instalation">
  <img src="https://mintcdn.com/sgu-84307e83/drHFaNd1sEsBAeon/images/IRIS-Installation.png?fit=max&auto=format&n=drHFaNd1sEsBAeon&q=85&s=705ab0984feede4e41611d38be604fe6" alt="Iris Inst Pn" title="Iris Inst Pn" style={{ width:"100%" }} width="602" height="72" data-path="images/IRIS-Installation.png" />
</Frame>

<Frame caption="Figure 6. MISP Installation">
  <img src="https://mintcdn.com/sgu-84307e83/drHFaNd1sEsBAeon/images/MISP-Installation.png?fit=max&auto=format&n=drHFaNd1sEsBAeon&q=85&s=7a8a7386baa2d2ba4a54d05d38da111a" alt="Misp Inst Pn" title="Misp Inst Pn" style={{ width:"100%" }} width="603" height="119" data-path="images/MISP-Installation.png" />
</Frame>

Once the process is complete, a table will appear displaying dashboard access details and credentials for each module, as shown in Figure 7.

<Frame caption="Figure 7. Dashboard Access and Default Credentials">
  <img src="https://mintcdn.com/sgu-84307e83/drHFaNd1sEsBAeon/images/Dashboard-Access.png?fit=max&auto=format&n=drHFaNd1sEsBAeon&q=85&s=3506e6a75051f040814cca3398f19aa0" alt="Dashboard Pn" title="Dashboard Pn" style={{ width:"100%" }} width="602" height="305" data-path="images/Dashboard-Access.png" />
</Frame>

Open your browser and follow the link to access your dashboard.

<Frame caption="Figure 8. Warning Page">
  <img src="https://mintcdn.com/sgu-84307e83/drHFaNd1sEsBAeon/images/Warning-page.png?fit=max&auto=format&n=drHFaNd1sEsBAeon&q=85&s=3e76968ff8f96af2fcf13e0f66c3c725" alt="Image(4) Pn" title="Image(4) Pn" style={{ width:"100%" }} width="602" height="376" data-path="images/Warning-page.png" />
</Frame>

You will see a warning from the browser that the certificate is invalid as illustrated in Figure 8. This is normal because we haven’t installed the signed SSL certificate, which is recommended for production. For now, just click proceed.

The first page of Wazuh should be as illustrated in Figure 9.

<Frame caption="Figure 9. Wazuh Login Page">
  <img src="https://mintcdn.com/sgu-84307e83/ZAMBzR3V95GSs6Wb/images/wazuh-dashboard.png?fit=max&auto=format&n=ZAMBzR3V95GSs6Wb&q=85&s=5f13481b4938863192e494ad47d018f1" alt="Image(2) Avi" title="Image(2) Avi" style={{ width:"100%" }} width="1920" height="958" data-path="images/wazuh-dashboard.png" />
</Frame>

Log in using **above mentioned credentials**. After log in, you should see Figure 10.

<Frame caption="Figure 10. Wazuh Dashboard">
  <img src="https://mintcdn.com/sgu-84307e83/drHFaNd1sEsBAeon/images/image(5).png?fit=max&auto=format&n=drHFaNd1sEsBAeon&q=85&s=cec2f9b61e362c49d4e81fb2ba6f2905" alt="Image(5) Pn" title="Image(5) Pn" style={{ width:"100%" }} width="1353" height="623" data-path="images/image(5).png" />
</Frame>

Next, open Shuffle dashboard.

Create administrator account using **above mentioned credentials** and then login using the same credentials. After logged in, you should see Figure 11.

<Frame caption="Figure 11. Shuffle Dashboard">
  <img src="https://mintcdn.com/sgu-84307e83/ZAMBzR3V95GSs6Wb/images/shuffle-dashboard.jpeg?fit=max&auto=format&n=ZAMBzR3V95GSs6Wb&q=85&s=5139a445c4ee0693254adfce69e2a1f2" alt="Image(6) Pn" title="Image(6) Pn" style={{ width:"100%" }} width="1600" height="757" data-path="images/shuffle-dashboard.jpeg" />
</Frame>

Next, open IRIS dashboard.

Sign in using **above mentioned credentials**. After logged in, you should see Figure 12.

<Frame caption="Figure 12. IRIS Dashboard">
  <img src="https://mintcdn.com/sgu-84307e83/yhcdw8jF03ugHp05/images/iris-dashboards.png?fit=max&auto=format&n=yhcdw8jF03ugHp05&q=85&s=1877df75a95b3f7623eb242474a57e58" alt="Image(3) Avi" title="Image(3) Avi" style={{ width:"100%" }} width="1920" height="958" data-path="images/iris-dashboards.png" />
</Frame>

Next, open MISP dashboard.

Sign in using **above mentioned credentials**. After logged in, you should see Figure 13.

<Frame caption="Figure 13. MISP Dashboard">
  <img src="https://mintcdn.com/sgu-84307e83/yhcdw8jF03ugHp05/images/misp-dashboard.png?fit=max&auto=format&n=yhcdw8jF03ugHp05&q=85&s=37ca932ad4a82fdd0a8fb71d6657515d" alt="Image(7) Pn" title="Image(7) Pn" style={{ width:"100%" }} width="839" height="487" data-path="images/misp-dashboard.png" />
</Frame>

### **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  | Create your own                             | Create your own       |
| MISP        | https\://\<ip>:1443 | [admin@admin.test](mailto: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.

<Frame caption="Figure 14. Input API KEY">
  <img src="https://mintcdn.com/sgu-84307e83/yhcdw8jF03ugHp05/images/iris-int-wazuh.png?fit=max&auto=format&n=yhcdw8jF03ugHp05&q=85&s=291756abd37406f64a444a1fc5e6e148" alt="Iris Wazuh Int Pn" title="Iris Wazuh Int Pn" style={{ width:"100%" }} width="812" height="448" data-path="images/iris-int-wazuh.png" />
</Frame>

To obtain it, navigate to the IRIS page, select the Administrator profile, then go to **My Settings**.

<Frame>
  <img src="https://mintcdn.com/sgu-84307e83/TsAxSEsIbPBTPj97/images/iris-int-wazuh2.png?fit=max&auto=format&n=TsAxSEsIbPBTPj97&q=85&s=2d57c6e5bc478e9e00d6c4d67e399bf4" alt="Iris Wazuh Int2 Pn" title="Iris Wazuh Int2 Pn" style={{ width:"66%", margin:"auto" }} width="479" height="685" data-path="images/iris-int-wazuh2.png" />
</Frame>

The API key will be displayed.

<Frame>
  <img src="https://mintcdn.com/sgu-84307e83/yhcdw8jF03ugHp05/images/iris-api-key.png?fit=max&auto=format&n=yhcdw8jF03ugHp05&q=85&s=7c9861cbc09d3a62f1201954b3744d68" alt="IRIS API Key Display" title="IRIS API Key Display" style={{ width:"100%" }} width="1626" height="687" data-path="images/iris-api-key.png" />
</Frame>

Copy and paste it to the installation, then press **Enter**. Wait until the process is finished.

During the installation process, you will be prompted to enter several integration parameters. Please follow the instructions below carefully.

<Frame>
  <img src="https://mintcdn.com/sgu-84307e83/yhcdw8jF03ugHp05/images/integration-prompt.png?fit=max&auto=format&n=yhcdw8jF03ugHp05&q=85&s=7613272a22a72265abe7d2020a8cba41" alt="Integration Parameters" title="Integration Parameters" style={{ width:"100%" }} width="1901" height="202" data-path="images/integration-prompt.png" />
</Frame>

# Shuffle Webhook URL

Then, you’ll be prompted to enter your Shuffle Webhook URL.

<Frame>
  <img src="https://mintcdn.com/sgu-84307e83/ZAMBzR3V95GSs6Wb/images/shuffle-integration.png?fit=max&auto=format&n=ZAMBzR3V95GSs6Wb&q=85&s=2abf96ad55ad153918902d8ca061bbc5" alt="Webhook4 Pn" title="Webhook4 Pn" style={{ width:"49%", margin:"auto" }} width="1891" height="130" data-path="images/shuffle-integration.png" />
</Frame>

To obtain the URL, follow the instructions below.

* Go to your Shuffle dashboard.
* Select **Workflows**.
* Select **Create Workflow**.
* Specify your preferred **workflow name**—for example, *Sample workflow* — then select **Create from scratch**.
* In the left panel, under the **Triggers** tab, drag the **Webhook** icon to the middle panel as illustrated below.

***

### Step 1: Create a New Workflow

<Frame>
  <img src="https://mintcdn.com/sgu-84307e83/ZAMBzR3V95GSs6Wb/images/shuffle-workflow-create.png?fit=max&auto=format&n=ZAMBzR3V95GSs6Wb&q=85&s=fa4409f9c59468c3c987f890b08050d9" alt="Creating a new workflow in Shuffle" title="Shuffle Create Workflow" style={{ width:"70%", margin:"auto" }} width="1920" height="230" data-path="images/shuffle-workflow-create.png" />
</Frame>

***

### Step 2: Select Create from Scratch

<Frame>
  <img src="https://mintcdn.com/sgu-84307e83/yhcdw8jF03ugHp05/images/shuffle-create-from-scratch.png?fit=max&auto=format&n=yhcdw8jF03ugHp05&q=85&s=12c8ef22765ce5966c4fea12d96fecc7" alt="Create workflow from scratch in Shuffle" title="Shuffle Create from Scratch" style={{ width:"70%", margin:"auto" }} width="1920" height="947" data-path="images/shuffle-create-from-scratch.png" />
</Frame>

***

### Step 3: Add Webhook Trigger

<Frame>
  <img src="https://mintcdn.com/sgu-84307e83/ZAMBzR3V95GSs6Wb/images/shuffle-webhook-trigger.png?fit=max&auto=format&n=ZAMBzR3V95GSs6Wb&q=85&s=2b94287198253ec434ad9e12f157a670" alt="Adding webhook trigger in Shuffle workflow" title="Shuffle Webhook Trigger" style={{ width:"70%", margin:"auto" }} width="1920" height="1080" data-path="images/shuffle-webhook-trigger.png" />
</Frame>

* 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**.

<Frame>
  <img src="https://mintcdn.com/sgu-84307e83/ZAMBzR3V95GSs6Wb/images/webhook-url.jpeg?fit=max&auto=format&n=ZAMBzR3V95GSs6Wb&q=85&s=d05615bc22aeffbd4e33a44d699233bc" alt="Webhook5 Pn" title="Webhook5 Pn" style={{ width:"100%" }} width="1600" height="846" data-path="images/webhook-url.jpeg" />
</Frame>

* 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.

<Frame>
  <img src="https://mintcdn.com/sgu-84307e83/ZAMBzR3V95GSs6Wb/images/webhook-start.jpeg?fit=max&auto=format&n=ZAMBzR3V95GSs6Wb&q=85&s=20de10a1777b40104f70f1a7c2ff47aa" alt="Webhook6 Pn" title="Webhook6 Pn" style={{ width:"100%" }} width="1100" height="660" data-path="images/webhook-start.jpeg" />
</Frame>

* 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.

<Frame>
  <img src="https://mintcdn.com/sgu-84307e83/ZAMBzR3V95GSs6Wb/images/webhook-node.jpeg?fit=max&auto=format&n=ZAMBzR3V95GSs6Wb&q=85&s=01b62492f058d2ee7b100c841f27f7df" alt="Webhook7 Pn" title="Webhook7 Pn" style={{ width:"100%" }} width="1104" height="880" data-path="images/webhook-node.jpeg" />
</Frame>

Click the **Test Execution** button (play icon).

<Frame>
  <img src="https://mintcdn.com/sgu-84307e83/ZAMBzR3V95GSs6Wb/images/test-icon.png?fit=max&auto=format&n=ZAMBzR3V95GSs6Wb&q=85&s=ae362d8ac3d414a41d5e5275b8f69518" alt="Play Pn" title="Play Pn" style={{ width:"20%", margin:"auto" }} width="90" height="74" data-path="images/test-icon.png" />
</Frame>

Select **Run without Runtime Argument**.

<Frame>
  <img src="https://mintcdn.com/sgu-84307e83/yhcdw8jF03ugHp05/images/run-argument.png?fit=max&auto=format&n=yhcdw8jF03ugHp05&q=85&s=091e1f7d0e094862acfa8790fd928982" alt="Run Anyway Pn" title="Run Anyway Pn" style={{ width:"80%", margin:"auto" }} width="426" height="450" data-path="images/run-argument.png" />
</Frame>

Then, you'll see the All Workflow Runs panel on the right side.

<Frame>
  <img src="https://mintcdn.com/sgu-84307e83/ZAMBzR3V95GSs6Wb/images/shuffle-run.jpeg?fit=max&auto=format&n=ZAMBzR3V95GSs6Wb&q=85&s=2c421c8b25babe8e8cf4866cde243918" alt="Shuffle Pn" title="Shuffle Pn" style={{ width:"100%" }} width="585" height="928" data-path="images/shuffle-run.jpeg" />
</Frame>

Next, on the left panel, select Apps tab, type **IRIS** in the Search Active Apps bar. Just click the **IRIS V2** (not IRIS V2 Fork), and wait until the **IRIS v2** is show up

Then drag it to the middle panel as illustrated below.

<Frame>
  <img src="https://mintcdn.com/sgu-84307e83/yhcdw8jF03ugHp05/images/iris-workflow.jpeg?fit=max&auto=format&n=yhcdw8jF03ugHp05&q=85&s=10631770bb7bab79cc39a8ae1aa90878" alt="Iris Pn" title="Iris Pn" style={{ width:"100%" }} width="284" height="223" data-path="images/iris-workflow.jpeg" />
</Frame>

Click IRIS Module, then fill the following parameters:

* Find Actions: **Add a new case**
* Apikey: (insert your IRIS API Key)
* Url: (your IRIS url)

Before proceeding to the **Advanced** settings on the right side, you must first configure **Authentication** for the IRIS module.

## Configure IRIS Authentication

1. In the Shuffle workflow editor, click the **IRIS module**.
2. Locate the **Authentication** section.
3. Click the **`+` (Add Authentication)** button.
4. Select **IRIS\_API** as the authentication type.
5. Fill in the required fields:
   * **API Key**: Paste your IRIS API Key
   * **URL**: Enter your IRIS base URL (for example: `https://192.168.101:8443`)
6. Click **Submit**.
7. Ensure the authentication status shows **Valid**.

<Frame>
  <img src="https://mintcdn.com/sgu-84307e83/yhcdw8jF03ugHp05/images/iris-add-authentication.jpeg?fit=max&auto=format&n=yhcdw8jF03ugHp05&q=85&s=a80fc04fdf4594332e9aa861a528aad3" alt="Adding IRIS authentication in Shuffle" title="Add IRIS Authentication" style={{ width:"70%", margin:"auto" }} width="782" height="818" data-path="images/iris-add-authentication.jpeg" />
</Frame>

<Frame>
  <img src="https://mintcdn.com/sgu-84307e83/yhcdw8jF03ugHp05/images/iris-authentication.jpeg?fit=max&auto=format&n=yhcdw8jF03ugHp05&q=85&s=c7d675edfacd19d3fbccce7c14e5c514" alt="IRIS authentication configuration with API key and URL" title="IRIS Authentication Configuration" style={{ width:"70%", margin:"auto" }} width="1320" height="815" data-path="images/iris-authentication.jpeg" />
</Frame>

***

## Configure IRIS Action

After authentication is successfully configured, continue with the action setup.

1. Under **Find Actions**, select **Add a new case**.
2. Verify that the **Authentication** field is set to **IRIS\_API**.
3. Ensure the following parameters are filled:
   * **Find Actions**: **Add a new case**
   * **Authentication**: **IRIS\_API**
   * **API Key**: Automatically loaded from authentication
   * **URL**: Automatically loaded from authentication

***

Choose the Advanced on the right side, and click the Expand Window Button.

<Frame>
  <img src="https://mintcdn.com/sgu-84307e83/yhcdw8jF03ugHp05/images/iris-advanced.jpeg?fit=max&auto=format&n=yhcdw8jF03ugHp05&q=85&s=1480122212853af3512be12d6cc0dd1e" alt="Delapan Pn" title="Delapan Pn" style={{ width:"100%" }} width="391" height="752" data-path="images/iris-advanced.jpeg" />
</Frame>

Scroll down to the Body parameter, and click the Expand Window button.

<Frame>
  <img src="https://mintcdn.com/sgu-84307e83/yhcdw8jF03ugHp05/images/iris-body.jpeg?fit=max&auto=format&n=yhcdw8jF03ugHp05&q=85&s=cf5ace9dce9332477ef75e7c590a3c21" alt="Iris2 Pn" title="Iris2 Pn" style={{ width:"100%" }} width="1494" height="826" data-path="images/iris-body.jpeg" />
</Frame>

Change the body content with the following:

```
{  
{
  "case_customer": 1,
  "case_soc_id": 1,
  "cid": 1,
  "case_name":
"$exec.rule.description",
  "case_description": "Log Level:
$exec.rule.level \n\n Full Log:
$exec.full_log",
  "case_severity_id": 2,
  "case_status_id": 1,
  "ioc": "$exec.data.srcip"
}
}
```

Then, click Try It button on the top right. Wait until the result is show up in the bottom.

After that, click **Submit** button on the bottom right.

Then, click **Save** button.

<Frame>
  <img src="https://mintcdn.com/sgu-84307e83/yhcdw8jF03ugHp05/images/save-workflow.png?fit=max&auto=format&n=yhcdw8jF03ugHp05&q=85&s=3f1d8674adcb940e9e5d813b8bb08e8a" alt="Save Pn" title="Save Pn" style={{ width:"20%", margin:"auto" }} width="105" height="99" data-path="images/save-workflow.png" />
</Frame>

Click the **Show Executions** button to open the **All Workflow Runs** panel. You should see alerts from Wazuh listed here.

<Frame>
  <img src="https://mintcdn.com/sgu-84307e83/yG_D2s-yMp-bsep9/images/iris-output.png?fit=max&auto=format&n=yG_D2s-yMp-bsep9&q=85&s=8470316abd650edbadd04936dc1f0024" alt="Iris Shuffle Pn" title="Iris Shuffle Pn" style={{ width:"100%" }} width="1257" height="1080" data-path="images/iris-output.png" />
</Frame>

Then, click on the alerts with the following icon.

<Frame>
  <img src="https://mintcdn.com/sgu-84307e83/drHFaNd1sEsBAeon/images/alerts.png?fit=max&auto=format&n=drHFaNd1sEsBAeon&q=85&s=c4e75083349e4efed4950e32833e286c" alt="Alerts Pn" title="Alerts Pn" style={{ width:"53%", margin:"auto" }} width="404" height="58" data-path="images/alerts.png" />
</Frame>

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.

<Frame>
  <img src="https://mintcdn.com/sgu-84307e83/yG_D2s-yMp-bsep9/images/iris-refresh.jpeg?fit=max&auto=format&n=yG_D2s-yMp-bsep9&q=85&s=305f614b43be1933971a7450e93227a2" alt="Sepuluh Pn" title="Sepuluh Pn" style={{ width:"47%", margin:"auto" }} width="350" height="900" data-path="images/iris-refresh.jpeg" />
</Frame>

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.

<Frame>
  <img src="https://mintcdn.com/sgu-84307e83/yhcdw8jF03ugHp05/images/output-iris-workflow.png?fit=max&auto=format&n=yhcdw8jF03ugHp05&q=85&s=b8f6daad2ccc90efedbd1d9bc4961731" alt="Sebelas Pn" title="Sebelas Pn" style={{ width:"52%", margin:"auto" }} width="351" height="840" data-path="images/output-iris-workflow.png" />
</Frame>

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.

<Frame>
  <img src="https://mintcdn.com/sgu-84307e83/yhcdw8jF03ugHp05/images/iris-case.png?fit=max&auto=format&n=yhcdw8jF03ugHp05&q=85&s=419ed627f9f1dcac196627aa3a2b4e3b" alt="Duabelas Avi" title="Duabelas Avi" style={{ width:"100%" }} width="1915" height="768" data-path="images/iris-case.png" />
</Frame>

# Virus Total API Key

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/](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.

<Frame>
  <img src="https://mintcdn.com/sgu-84307e83/ZAMBzR3V95GSs6Wb/images/virustotalapi.png?fit=max&auto=format&n=ZAMBzR3V95GSs6Wb&q=85&s=c953b8090e42511727a2c825983fabf8" alt="Virustotalapi Pn" title="Virustotalapi Pn" style={{ width:"68%", margin:"auto" }} width="502" height="97" data-path="images/virustotalapi.png" />
</Frame>

# MISP Configuration

You will then be prompted to configure the MISP integration.
MISP Base URL
Example prompt:

```
MISP Base URL (default: https://<SERVER_IP>:1443):
```

If the default value is correct, you can simply press Enter. Otherwise, type your MISP Base URL and press Enter.
Example:

```
https://192.168.0.108:1443
```

MISP API Key
Next step, enter your MISP API Key.
Example prompt:

```
MISP API Key:
```

Copy and paste your MISP API key, then press Enter.
To obtain the MISP API key:

1. Log in to the MISP Dashboard
2. Go to Administration → List Auth Keys
3. Copy an existing key or create a new one
4. Paste the key into the terminal

<Frame caption="MISP Dashboard">
  <img src="https://mintcdn.com/sgu-84307e83/yhcdw8jF03ugHp05/images/misp-dashboard.png?fit=max&auto=format&n=yhcdw8jF03ugHp05&q=85&s=37ca932ad4a82fdd0a8fb71d6657515d" alt="MISP Dashboard" title="MISP Dashboard" style={{ width:"100%" }} width="839" height="487" data-path="images/misp-dashboard.png" />
</Frame>

<Frame caption="MISP List Auth Key">
  <img src="https://mintcdn.com/sgu-84307e83/yhcdw8jF03ugHp05/images/misp-list-auth-key.png?fit=max&auto=format&n=yhcdw8jF03ugHp05&q=85&s=06406ddb454e143fe1589c712b927874" alt="MISP List Auth Key" title="MISP List Auth Key" style={{ width:"100%" }} width="1920" height="945" data-path="images/misp-list-auth-key.png" />
</Frame>

<Frame caption="MISP Add Authentication">
  <img src="https://mintcdn.com/sgu-84307e83/yhcdw8jF03ugHp05/images/misp-add-authentication.png?fit=max&auto=format&n=yhcdw8jF03ugHp05&q=85&s=5ff1d7deb6b0cccf0054e7efc49e95bc" alt="MISP Add Auth" title="MISP Add Auth" style={{ width:"100%" }} width="1920" height="877" data-path="images/misp-add-authentication.png" />
</Frame>

<Frame caption="MISP Add Auth Key">
  <img src="https://mintcdn.com/sgu-84307e83/yhcdw8jF03ugHp05/images/misp-add-auth.png?fit=max&auto=format&n=yhcdw8jF03ugHp05&q=85&s=f9c71a8ede171472a1be17dfc338c06f" alt="MISP Add Auth Key" title="MISP Add Auth Key" style={{ width:"100%" }} width="778" height="869" data-path="images/misp-add-auth.png" />
</Frame>

## MISP Default Feed Data (JSON)

After configuring the MISP API key, the next step is to **add the default MISP feed sources** to enable threat intelligence ingestion.

### Import Default Feeds from JSON

1. Open the following GitHub URL in your browser:\
   [https://github.com/MISP/MISP/blob/2.4/app/files/feed-metadata/defaults.json](https://github.com/MISP/MISP/blob/2.4/app/files/feed-metadata/defaults.json)

2. Copy the entire JSON content from the page.

3. In the **MISP Dashboard**, navigate to:
   * **Sync Actions**
   * **Feeds**
   * **Import Feeds from JSON**

4. Paste the copied JSON content into the input field.

5. Click **Add** to import the feed configuration.

<Frame caption="MISP Data Feed">
  <img src="https://mintcdn.com/sgu-84307e83/yG_D2s-yMp-bsep9/images/misp-data-feed.png?fit=max&auto=format&n=yG_D2s-yMp-bsep9&q=85&s=b0220855630bae6116c9d86e630ed90f" alt="MISP Data Feed" title="MISP Data Feed" style={{ width:"100%" }} width="1920" height="961" data-path="images/misp-data-feed.png" />
</Frame>

<Frame caption="MISP Feeds">
  <img src="https://mintcdn.com/sgu-84307e83/yhcdw8jF03ugHp05/images/misp-feeds.png?fit=max&auto=format&n=yhcdw8jF03ugHp05&q=85&s=ddab7e4734140cdff0964202f4f0a5ba" alt="MISP Feeds" title="MISP Feeds" style={{ width:"100%" }} width="1920" height="937" data-path="images/misp-feeds.png" />
</Frame>

<Frame caption="MISP Import">
  <img src="https://mintcdn.com/sgu-84307e83/yhcdw8jF03ugHp05/images/misp-import.png?fit=max&auto=format&n=yhcdw8jF03ugHp05&q=85&s=c2c113af4ec6c994e70dcf6c6c4a3e17" alt="MISP Import" title="MISP Import" style={{ width:"100%" }} width="1920" height="946" data-path="images/misp-import.png" />
</Frame>

### Enable and Fetch Feed Data

1. Go to **List Feeds**.
2. Select **Check All** to select all available feeds.
3. Click **Enable Selected** to activate the data sources.
4. Click **Fetch and Store All Feed Data** to download threat intelligence data from each feed source.

<Frame caption="MISP Checklist">
  <img src="https://mintcdn.com/sgu-84307e83/yhcdw8jF03ugHp05/images/misp-checklist.png?fit=max&auto=format&n=yhcdw8jF03ugHp05&q=85&s=8f819c4a65fec3b5168306e390d0957f" alt="MISP Checklist" title="MISP Checklist" style={{ width:"100%" }} width="1920" height="843" data-path="images/misp-checklist.png" />
</Frame>

> This process may take several minutes depending on the number of feeds and network conditions.

***

### Viewing Imported Feed Data

* Retrieved threat intelligence events can be viewed under **Event Actions**.
* Attributes generated from each event can be reviewed in **List Attributes**.

<Frame caption="MISP List Events">
  <img src="https://mintcdn.com/sgu-84307e83/yhcdw8jF03ugHp05/images/misp-list-events.png?fit=max&auto=format&n=yhcdw8jF03ugHp05&q=85&s=ec1dbc54951b310145a9946f491d2a48" alt="MISP List Events" title="MISP List Events" style={{ width:"100%" }} width="1920" height="948" data-path="images/misp-list-events.png" />
</Frame>

<Frame caption="MISP List Attributes">
  <img src="https://mintcdn.com/sgu-84307e83/yhcdw8jF03ugHp05/images/misp-list-attributes.png?fit=max&auto=format&n=yhcdw8jF03ugHp05&q=85&s=96ea285f384c93453c37de2d99e309fd" alt="MISP List Attributes" title="MISP List Attributes" style={{ width:"100%" }} width="1920" height="953" data-path="images/misp-list-attributes.png" />
</Frame>

These attributes are used as **IOC lookup values by Wazuh**, enabling correlation between detected events and known threat indicators.

***

Once this step is completed, MISP will actively provide threat intelligence data that can be consumed by **Wazuh** for IOC matching and alert enrichment.

# Wazuh Dashboard URL

Finally, you will be prompted to enter the Wazuh Dashboard URL.
Example prompt:

```
Wazuh Dashboard URL (default: https://<SERVER_IP>):
```

If the default value matches your setup, press Enter.
Otherwise, enter the correct URL and press Enter.
Example:

```
https://192.168.0.108
```

# Use Case

<Frame caption="Main Menu">
  <img src="https://mintcdn.com/sgu-84307e83/yhcdw8jF03ugHp05/images/main-menu.png?fit=max&auto=format&n=yhcdw8jF03ugHp05&q=85&s=7da5dbef4435e57e8c1873d3e075dcea" alt="Main Menu Pn" title="Main Menu Pn" style={{ width:"100%" }} width="601" height="349" data-path="images/main-menu.png" />
</Frame>

In the **Main Menu**, type ‘**4**’ and press Enter.

## **Use Case 1: Brute-Force Simulation**

<Frame caption="PoC Menu">
  <img src="https://mintcdn.com/sgu-84307e83/yhcdw8jF03ugHp05/images/poc.png?fit=max&auto=format&n=yhcdw8jF03ugHp05&q=85&s=c47d37da9ff6862a306602c3bc059e71" alt="Poc Pn" title="Poc Pn" style={{ width:"55%", margin:"auto" }} width="374" height="141" data-path="images/poc.png" />
</Frame>

In the **PoC Menu**, type ‘**1**’ and press Enter.

<img src="https://mintcdn.com/sgu-84307e83/yhcdw8jF03ugHp05/images/poc-1.png?fit=max&auto=format&n=yhcdw8jF03ugHp05&q=85&s=6bc7998bdb6256deda86abe207ef541b" alt="Poc 1 Pn" title="Poc 1 Pn" style={{ width:"100%" }} width="984" height="141" data-path="images/poc-1.png" />

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.

<Frame caption="Wazuh Security Events">
  <img src="https://mintcdn.com/sgu-84307e83/drHFaNd1sEsBAeon/images/brute-force.png?fit=max&auto=format&n=drHFaNd1sEsBAeon&q=85&s=ebed0d99e2492c2f73ca563269dd036b" alt="Brute Force Pn" title="Brute Force Pn" style={{ width:"100%" }} width="1600" height="684" data-path="images/brute-force.png" />
</Frame>

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.

<Frame caption="VirusTotal Malware Detection">
  <img src="https://mintcdn.com/sgu-84307e83/ZAMBzR3V95GSs6Wb/images/zero.avif?fit=max&auto=format&n=ZAMBzR3V95GSs6Wb&q=85&s=c52c700370e5d9eeae195f173746c7a0" alt="Zero Avi" title="Zero Avi" style={{ width:"100%" }} width="1200" height="142" data-path="images/zero.avif" />
</Frame>

We can also check in the IRIS to see the ticket that automatic created

<Frame caption="IRIS Ticket Created">
  <img src="https://mintcdn.com/sgu-84307e83/yhcdw8jF03ugHp05/images/one.png?fit=max&auto=format&n=yhcdw8jF03ugHp05&q=85&s=6163e6b69ca46fa257559cef3532b01c" alt="One Pn" title="One Pn" style={{ width:"100%" }} width="940" height="260" data-path="images/one.png" />
</Frame>

## **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.

<Frame caption="Example Website Before Defacement">
  <img src="https://mintcdn.com/sgu-84307e83/ZAMBzR3V95GSs6Wb/images/two.png?fit=max&auto=format&n=ZAMBzR3V95GSs6Wb&q=85&s=06a2ded748c0d13675961ed52950d879" alt="Two Pn" title="Two Pn" style={{ width:"100%" }} width="772" height="353" data-path="images/two.png" />
</Frame>

Then, start the web defacement. It will change the website appearance.

<Frame caption="Website After Defacement">
  <img src="https://mintcdn.com/sgu-84307e83/ZAMBzR3V95GSs6Wb/images/three.png?fit=max&auto=format&n=ZAMBzR3V95GSs6Wb&q=85&s=5d0a17f21de5e450d5b2eeaf88047298" alt="Three Pn" title="Three Pn" style={{ width:"100%" }} width="1009" height="559" data-path="images/three.png" />
</Frame>

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.

<Frame caption="Wazuh Integrity Check Detection">
  <img src="https://mintcdn.com/sgu-84307e83/drHFaNd1sEsBAeon/images/four.png?fit=max&auto=format&n=drHFaNd1sEsBAeon&q=85&s=d8d7fb45f1f2f46ec7c927f16578d591" alt="Four Pn" title="Four Pn" style={{ width:"100%" }} width="644" height="572" data-path="images/four.png" />
</Frame>
