Skip to content

Commit e6b9e47

Browse files
committed
Fix markdown links
1 parent 067fe9f commit e6b9e47

File tree

2 files changed

+10
-10
lines changed

2 files changed

+10
-10
lines changed

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ Load IOCs from MISP Threat sharing platform to memcached. Use Logstash to enrich
66

77
Examples are provided for Elasticsearch based SIEM with ECS mapping, but you can modify the examples to work with your setup.
88

9-
Check out the [Getting started](https://github.com/j91321) if you want to see a simple use case on how to enrich data from Sysmon shipped by Winlogbeat.
9+
Check out the [Getting started](./docs/getting_started.md) if you want to see a simple use case on how to enrich data from Sysmon shipped by Winlogbeat.
1010

1111
## Requirements
1212

docs/getting_started.md

+9-9
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ We won't go into details on how to install or setup individual components if nec
1818
Everything except the Windows 10 VM can be run from Docker container, if you want to try this.
1919
(If you have separate docker host for Linux and Windows you can run everything from docker)
2020

21-
![Environment](https://github.com/j91321/MISP2memcached/docs/images/environment.png)
21+
![Environment](./images/environment.png)
2222

2323
## Prerequisites
2424

@@ -55,7 +55,7 @@ cp config.yml.example config.yml
5555

5656
Now we will log into the MISP instance and obtain the API key.
5757

58-
![MISP auth key](https://github.com/j91321/MISP2memcached/docs/images/misp_automation.PNG)
58+
![MISP auth key](./images/misp_automation.PNG)
5959

6060
We will edit `config.yml` and add the API key under `misp.token` and change `misp.url` to point to out MISP instance.
6161
We have also set `misp.ignore_cert_errors` to `true` because this is a development MISP instance and it doesn't have proper SSL
@@ -86,7 +86,7 @@ As a test we will create two Events in MISP with some attributes, if you already
8686

8787
These events will contain attributes with type `domain`, `ip-dst`, `sha256`. We're using the domain and ip of our server as an IoC and sha256 hash of calc.exe
8888

89-
![Attribute example](https://github.com/j91321/MISP2memcached/docs/images/misp_domain.PNG)
89+
![Attribute example](./images/misp_domain.PNG)
9090

9191
Now we can run `misp2memcached.py` and load the attributes into memcached. No logs will be printed for now, but you can verify the results by connecting to the memcached.
9292
```yaml
@@ -118,7 +118,7 @@ cp process_ioc.rb /etc/logstash/
118118

119119
Now our pipeline will consist of three components input, filter and output.
120120

121-
First create [01-input.conf](https://github.com/j91321/MISP2memcached/docs/examples/01-input.conf) in `/etc/logstash/conf.d/` (or your path for pipelines). It's a simple beats input.
121+
First create [01-input.conf](./examples/01-input.conf) in `/etc/logstash/conf.d/` (or your path for pipelines). It's a simple beats input.
122122

123123
```logstash
124124
input {
@@ -128,7 +128,7 @@ input {
128128
}
129129
```
130130

131-
Next we will create [03-output.conf](https://github.com/j91321/MISP2memcached/docs/examples/03-output.conf). I'm creating a minimalistic input and output configuration. When using in production
131+
Next we will create [03-output.conf](./examples/03-output.conf). I'm creating a minimalistic input and output configuration. When using in production
132132
make sure to have Security setup on your Elasticsearch. I also recommend securing Beats-Logstash communication with SSL according to the documentation.
133133

134134
```logstash
@@ -140,7 +140,7 @@ output {
140140
}
141141
```
142142

143-
At last we will create [02-filter.conf](https://github.com/j91321/MISP2memcached/docs/examples/02-filter.conf) this actually contains the filters used for enriching winlogbeat data.
143+
At last we will create [02-filter.conf](./examples/02-filter.conf) this actually contains the filters used for enriching winlogbeat data.
144144
```logstash
145145
filter{
146146
if [destination][ip] {
@@ -258,7 +258,7 @@ Now new fields `misp.event_id` and `misp.type` should be visible in Kibana. Don'
258258

259259
We can use KQL `misp.event_id: *` to find all documents where `misp.event_id` exists.
260260

261-
![New fields in kibana](https://github.com/j91321/MISP2memcached/docs/images/misp_kibana.PNG)
261+
![New fields in kibana](./images/misp_kibana.PNG)
262262

263263
Now to make the analyst user experience a bit better, we will add a scripted field with URL pointing to our MISP event.
264264

@@ -278,8 +278,8 @@ Fill out the form like this:
278278

279279
Modify the URL template to point to the MISP instance. The `{{value}}` will be replaced by values from `misp.event_id` field.
280280

281-
![Kibana form](https://github.com/j91321/MISP2memcached/docs/images/kibana_scripted_field_form.png)
281+
![Kibana form](./images/kibana_scripted_field_form.png)
282282

283283
Save the scripted field, now we can go into discovery use KQL `misp.event_id: *` again and see that the documents now have misp.url field which is a clickable URL that opens new tab with the matching event in MISP. (You need to be logged in).
284284

285-
![Scripted field](https://github.com/j91321/MISP2memcached/docs/images/kibana_misp_scripted_field.PNG)
285+
![Scripted field](./kibana_misp_scripted_field.PNG)

0 commit comments

Comments
 (0)