Files
hayabusa/doc/ElasticStackImport/ElasticStackImport-English.md
Tanaka Zakku c17463b64b update
2022-04-16 07:53:38 +09:00

130 lines
4.8 KiB
Markdown

# Importing Results Into Elastic Stack
## Start an elastic stack distribution
Hayabusa results can easily be imported into Elastic Stack. We recommend using [SOF-ELK](https://github.com/philhagen/sof-elk/blob/main/VM_README.md), a free elastic stack Linux distro focused on DFIR investigations.
First download and unzip the SOF-ELK 7-zipped VMware image from [http://for572.com/sof-elk-vm](http://for572.com/sof-elk-vm).
* Username: `elk_user`
* Password: `forensics`
When you boot up the VM, you will get a screen similar to below:
![SOF-ELK Bootup](01-SOF-ELK-Bootup.png)
Open Kibana in a web browser according to the URL displayed. For example: http://172.16.62.130:5601/
>> Note: it may take a while for Kibana to load.
You should see a webpage as follows:
![SOF-ELK Kibana](02-Kibana.png)
## Import the CSV results
Click the sidebar icon in top-lefthand corner and open `Integrations`.
![Integrations](03-Integrations.png)
Type in `csv` in the search bar and click `Upload a file`:
![CSV Upload](04-IntegrationsImportCSV.png)
After uploading the CSV file, click `Override settings` to specify the correct timestamp format:
![Override Settings](05-OverrideSettings.png)
As shown below, perform the following changes and then click `Apply`:
1. Change `Timestamp format` to `custom`.
2. Specify the format as `yyyy-MM-dd HH:mm:ss.SSS XXX`
3. Change the `Time field` to `Timestamp`.
![Override Settings Config](06-OverrideSettingsConfig.png)
Now click `Import` in the bottom left-hand corner.
![CSV Import](07-CSV-Import.png)
As shown below, click on `Advanced` and perform the following settings before clicking `Import`:
1. Title the `Index name` as `evtxlogs-hayabusa`.
2. Under `Index settings`, add `, "number_of_replicas": 0` so that the index health status does not turn yellow.
3. Under `Mappings`, change the `RuleTitle` type of `text` to `keyword` so that we can do statistics on the rule titles and change the `EventID` type of `long` to `keyword` in order to import without errors.
4. Under `Ingest pipeline`, add `, "field": "Timestamp"` under the `remove` section. Timestamps will be displayed as `@timestamp` so this duplicate field is not needed. Also, delete the following in order to import without errors:
```
{
"convert": {
"field": "EventID",
"type": "long",
"ignore_missing": true
}
},
```
Settings should look similar to below:
![Import Data Settings](08-ImportDataSettings.png)
After importing, you should receive something similar to below:
![Import Finish](09-ImportFinish.png)
You can now click `View index in Discover` to view the results.
## Analyzing results
The default Discover view should look similar to this:
![Discover View](10-Discover.png)
You can get an overview of when the events happened and frequency of events by looking at the histogram at top.
In the left-side sidebar, you can add fields you want to display in the columns by clicking the plus sign after hovering over a field:
![Adding Columns](12-AddingColumns.png)
To start off, we recommend the following columns:
![Recommended Columns](13-RecommendedColumns.png)
Your Discover view should now look like this:
![Discover With Columns](14-DicoverWithColumns.png)
You can filter with KQL to search for certain events and alerts. For example:
* `Level: "critical"`: Just show critical alerts.
* `Level: "critical" or Level: "high"`: Show high and critical alerts.
* `NOT Level:info`: Do not show informational events, only alerts.
* `*LatMov*`: Show events and alerts related to lateral movement.
* `"Password Spray"`: Only show specific attacks such as "Password Spray".
* `"LID: 0x8724ead"`: Display all activity associated with Logon ID 0x8724ead.
## Hayabusa Dashboard
We have exported a simple Hayabusa Dashboard in JSON to download [here](https://github.com/Yamato-Security/hayabusa/blob/main/doc/ElasticStackImport/HayabusaDashboard.ndjson)
To import the dashboard, open the left sidebar and click `Stack Management` under `Management`.
![Stack Management](15-HayabusaDashboard-StackManagement.png)
After clicking `Saved Objects`, please click `Import` in the upper right-hand corner and import the Hayabusa Dashboard JSON file you downloaded.
![Import Dashboard](16-HayabusaDashboard-Import.png)
You should now be able to use the dashboard shown below:
![Hayabusa Dashboard-1](17-HayabusaDashboard-1.png)
![Hayabussa Dashboard-2](18-HayabusaDashboard-2.png)
## Future Plans
We plan on creating Hayabusa logstash parsers and a dashboard pre-built for SOF-ELK so that all you will need to do is copy the CSV results file to a directory in order to ingest the logs.
## Acknowledgements
Much of this documentation was taken from the blog write-up in Japanese from @kzzzzo2 [here](https://qiita.com/kzzzzo2/items/ead8ccc77b7609143749).
Many thanks to @kzzzzo2!