Skip to content

Commit df8b99f

Browse files
committed
Some last prep for Day1
1 parent ae9ba12 commit df8b99f

File tree

4 files changed

+47
-38
lines changed

4 files changed

+47
-38
lines changed

Arkime/package_setup/README.md

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,16 @@
55
Download arkime package from [the official download page](https://arkime.com/downloads) and install it with your package manager.
66

77
```
8-
dpkg -i arkime_3.4.2-1_amd64.deb
8+
dpkg -i arkime_4.3.1-1_amd64.deb
99
```
1010

11-
On debian, this will fail.
11+
On debian/ubuntu, this will fail.
1212

1313
```
1414
Selecting previously unselected package arkime.
1515
(Reading database ... 111873 files and directories currently installed.)
16-
Preparing to unpack arkime_3.4.2-1_amd64.deb ...
17-
Unpacking arkime (3.4.2-1) ...
16+
Preparing to unpack arkime_4.3.1-1_amd64.deb ...
17+
Unpacking arkime (4.3.1-1) ...
1818
dpkg: dependency problems prevent configuration of arkime:
1919
arkime depends on libwww-perl; however:
2020
Package libwww-perl is not installed.
@@ -42,7 +42,7 @@ cd /opt/arkime
4242
```
4343

4444
```
45-
vagrant@setup:/opt/arkime$ ls -lah
45+
student@student-linux:/opt/arkime$ ls -lah
4646
total 1.3M
4747
drwxr-xr-x 16 root root 4.0K Jun 7 19:21 .
4848
drwxr-xr-x 4 root root 4.0K Jun 7 19:21 ..
@@ -66,38 +66,38 @@ drwxr-xr-x 6 root root 4.0K Jun 7 19:21 viewer
6666
drwxr-xr-x 4 root root 4.0K Jun 7 19:21 wiseService
6767
```
6868

69-
## Get elastic up and running
69+
## Get elasticsearch up and running
7070

7171
Set up elasticsearch.
7272

7373
```
74-
docker run -ti -d --name arkime-elastic -v elastic_data:/usr/share/elasticsearch/data:rw -p 127.0.0.1:9200:9200 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:7.17.4
74+
docker run -ti -d --name arkime-elastic -v elastic_data:/usr/share/elasticsearch/data:rw -p 127.0.0.1:9200:9200 -e "discovery.type=single-node" -e "xpack.security.enabled=false" --restart unless-stopped docker.elastic.co/elasticsearch/elasticsearch:8.8.1
7575
```
7676

77-
Verify that elastic is up and running. You can check logs.
77+
Verify that elastic is up and running. You can check logs...
7878

7979
```
8080
docker logs arkime-elastic --follow
8181
```
8282

83-
Or interact with elastic API.
83+
...or interact with elastic API.
8484

8585
```
86-
vagrant@setup:~$ curl -ss localhost:9200
86+
student@student-linux:~$ curl -ss http://localhost:9200
8787
{
88-
"name" : "5c7c756cb80d",
88+
"name" : "43194d1deb40",
8989
"cluster_name" : "docker-cluster",
90-
"cluster_uuid" : "574c5K-jQA2IcfoLaCgRAg",
90+
"cluster_uuid" : "lWs_x9FMSNKgd3V2AcDipA",
9191
"version" : {
92-
"number" : "7.17.4",
92+
"number" : "8.8.1",
9393
"build_flavor" : "default",
9494
"build_type" : "docker",
95-
"build_hash" : "79878662c54c886ae89206c685d9f1051a9d6411",
96-
"build_date" : "2022-05-18T18:04:20.964345128Z",
95+
"build_hash" : "f8edfccba429b6477927a7c1ce1bc6729521305e",
96+
"build_date" : "2023-06-05T21:32:25.188464208Z",
9797
"build_snapshot" : false,
98-
"lucene_version" : "8.11.1",
99-
"minimum_wire_compatibility_version" : "6.8.0",
100-
"minimum_index_compatibility_version" : "6.0.0-beta1"
98+
"lucene_version" : "9.6.0",
99+
"minimum_wire_compatibility_version" : "7.17.0",
100+
"minimum_index_compatibility_version" : "7.0.0"
101101
},
102102
"tagline" : "You Know, for Search"
103103
}
@@ -122,7 +122,7 @@ cd /opt/arkime/db
122122
And call the database management script.
123123

124124
```
125-
vagrant@setup:/opt/arkime/db$ ./db.pl localhost:9200 init
125+
student@student-linux:/opt/arkime/db$ ./db.pl localhost:9200 init
126126
It is STRONGLY recommended that you stop ALL Arkime captures and viewers before proceeding. Use 'db.pl http://localhost:9200 backup' to backup db first.
127127
128128
There is 1 elastic search data node, if you expect more please fix first before proceeding.
@@ -136,7 +136,7 @@ Finished
136136
Verify the elastic indices.
137137

138138
```
139-
vagrant@setup:/opt/arkime/db$ curl -ss localhost:9200/_cat/indices
139+
student@student-linux:/opt/arkime/db$ curl -ss localhost:9200/_cat/indices
140140
green open arkime_lookups_v30 Xh0RlVK8RGCNosJqQdoM9g 1 0 0 0 226b 226b
141141
green open .geoip_databases ObOMS7HdSzysFuJ1Ju8jew 1 0 40 0 38.1mb 38.1mb
142142
green open arkime_sequence_v30 0SLIuYNCQ1eFM5NfZLp9Aw 1 0 0 0 226b 226b

Arkime/queries/README.md

Lines changed: 23 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
Arkime viewer already includes comprehensive documentation under `/help` url, aka *the owl logo*. This section only serves to provide some context and examples. **Please refer to official docs for up-to-date reference for field types, supported expressions, etc**.
44

55
See your `singlehost` VM Arkime installation for `/help`
6-
* http://192.168.56.11:8005/help
6+
* http://<singlehost-ip>:8005/help
77

88
## Viewer tabs
99

@@ -53,15 +53,18 @@ User administration tab. Various user account limitations can be can be configur
5353

5454
## Tasks
5555

56-
**On exercise Arkime data.**
56+
**NB! These tasks are meant to be performed on real cyber exercise data (not simulated traffic in `singlehost` VM). Please wait for the instructors to provide credentials and guidelines on accessing the Exercise Arkime environment.**
5757

58-
* Find plaintext http on port 443;
59-
* Filter for traffic that contains data;
60-
* Investigate time-series data per gamenet host;
61-
* Drill down to specific protocols;
62-
* Investigate traffic between workstations;
58+
* Find plaintext HTTP on port 443;
59+
* Sometime there's no data in a session. Filter for traffic that contains data;
60+
* Investigate time-series data per gamenet host (pick some hosts of interest);
61+
* Drill down to specific protocols (HTTP, SMB, TLS, etc.);
62+
* Investigate traffic between workstations, don't forget IPv6;
6363
* Filter only traffic for your team;
6464

65+
If you are done with those, more tasks might be available from the instructors.
66+
67+
6568
# API
6669

6770
[Arkime v3 API reference](https://arkime.com/apiv3)
@@ -72,24 +75,30 @@ Viewer is nothing more than HTTP endpoint behind digest authentication that aggr
7275

7376
# Hunting trip
7477

75-
## Task
78+
## RT sessions in the classroom
79+
80+
* We might have someone from various RT sub-teams brief us on their activities during the previous Exercise.
81+
* Pay attention to: Which machines were involved? When was the attack conducted? Which protocols were used? Was it encrypted or not?
82+
* Takes notes! This information might be useful later when hunting for those specific attacks/events.
83+
84+
## Tasks
7685

7786
* Your task is to group up and go on a hunting trip.
7887
* The goal, if it can be called like that, is to investigate sessions and IP addresses to identify Red team servers, compromised hosts, strange traffic patterns and possible causes, to differentiate scoring and connectivity from malicious traffic, etc.
7988
* **There are no right or wrong answers, no ground truth!!!** Only traffic that is interesting and noise.
8089
* **Note down your findings and possible explanations**.
8190
* Present your approach and findings at the end!
82-
* You may be called to give a status update during work. Don't be afraid to say you are stuck - other teams may have ideas or suggestions to help you out.
91+
* You may be called to give a status update during work. Don't be afraid to say you are stuck - other people (or instructors) around you may have ideas or suggestions to help you out.
8392

84-
Some ideas and suggestions for getting started:
93+
## Some ideas and suggestions for getting started:
8594
* No one query nor API call will give you the whole picture, you must pivot between queries.
8695
* Use API to your advantage for collectiong possible indicators, then investigate by hand. Write off sessions that are not interesting, collect new indicators from those that are. Rinse and repeat.
87-
* Start by looking for common indicators - script tags in user-agents and URL-s, mistyped domains, strange peaks of traffic, IDS alerts, well-known protocols on non-standard ports, non-standard protocol on standardized ports, etc. Then look at involved IP addresses. Anything coming from simulated internet? See what else has that IP doing.
88-
* IP addresses can be changed but may nevertheless exhibit common patterns, for example ja3 hashes, TLS certificate fingerprints, common URI patterns, cookies, etc.
96+
* Start by looking for common indicators - script tags in user-agents and URL-s, mistyped domains, strange peaks of traffic, IDS alerts, well-known protocols on non-standard ports, non-standard protocol on standardized ports, etc. Then look at involved IP addresses. Anything coming from the simulated internet? See what else has that IP doing.
97+
* IP addresses can be changed but may nevertheless exhibit common patterns, for example JA3 hashes, TLS certificate fingerprints, common URI patterns, cookies, etc.
8998
* Arkime lets you apply views and tag sessions. Use that! If something is not interesting, mark it as such and get rid of it. Whatever is left might be interesting.
9099
* So, you found one connection going to or coming from a CnC server...and then nothing. It may be initial compromise and interesting traffic is happening through some other IP or protocol. Are there any new streams that started exactly after that initial session?
91100
* What about traffic between targets and workstations? Any patterns or indicators for filtering out lateral movement?
92-
* Do not forget that you can also search from packets in Hunt tab. Just be sure to apply a strong expression beforehand. Let's not kill the capture server.
101+
* Do not forget that you can also search from packets in Hunt tab. Just be sure to apply a strong expression beforehand. There's a lot of PCAPs. Let's not kill the Arkime server.
93102
* Have a cool idea for search but no idea how to do it in Arkime? Ask the instructurs, that's why we are here.
94-
* On that note, have a cool idea and making progress? Let us and other teams know. We can mark it down and help out everyone.
103+
* On that note, have a cool idea and making progress? Let us and others know. We can mark it down and help out everyone.
95104
* ...your suggestions go here...

common/day_intro.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
* Make students go through painful troubleshooting on purpose!
1313
* You don't store this knowledge from listening to lectures or copy-pasting commands
1414
* Coffee breaks
15-
* Grab a coffee/tea when you need it
15+
* Get a coffee/tea/break when you need it
1616
* Lunch
1717
* Smoking
1818
* Social
@@ -21,8 +21,8 @@
2121
## Tooling
2222

2323
* GitHub
24-
* Vagrant
24+
* Vagrant (optionally)
2525
* Linux
2626
* Command line
27-
* Jupyter notebooks
2827
* Docker
28+
* Jupyter notebooks

singlehost/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# System requirements for the classroom training
1+
# Minimal system requirements if you are building it for yourself in the class
22

33
* Host OS: Linux or MacOS preferred, with Windows you are responsible for making vagrant and SSH work;
44
* Please avoid nested virtualization (i.e, Virtualbox inside Linux inside VMware workstation on a Windows machine);

0 commit comments

Comments
 (0)