Skip to content

Commit 1503c03

Browse files
Update README.md
1 parent 713ae31 commit 1503c03

File tree

1 file changed

+21
-79
lines changed

1 file changed

+21
-79
lines changed

README.md

Lines changed: 21 additions & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11

22

3-
![logo.png](https://github.com/DFIRKuiper/Kuiper/blob/master/img/logo2.png?raw=true)
3+
![logo.png](https://github.com/DFIRKuiper/Kuiper/blob/master/img/v2.0.0/logo2.png?raw=true)
44

55

66
## Table of Contents
@@ -19,12 +19,10 @@
1919
- [3.2. Parsers](#Parsers)
2020
- [4. Getting Started](#getting-started)
2121
- [4.1. Requirements](#requirements)
22-
- [4.2. Download](#Download)
23-
- [4.3. Installation](#Installation)
24-
- [5. TODO List](#TODO-List)
25-
- [6. Issues Tracking and Contribution](#Issues-Tracking-and-Contribution)
26-
- [7. Licenses](#Licenses)
27-
- [8. Authors](#Authors)
22+
- [4.1. Installation](#Installation)
23+
- [5. Issues Tracking and Contribution](#Issues-Tracking-and-Contribution)
24+
- [6. Licenses](#Licenses)
25+
- [7. Authors](#Authors)
2826

2927

3028

@@ -39,7 +37,8 @@ Digital Investigation Platform
3937

4038
## What is Kuiper?
4139
Kuiper is a digital investigation platform that provides a capabilities for the investigation team and individuals to parse, search, visualize collected evidences (evidences could be collected by fast traige script like [Hoarder](https://github.com/muteb/Hoarder)). In additional, collaborate with other team members on the same platform by tagging artifacts and present it as a timeline, as well as setting rules for automating the detection. The main purpose of this project is to aid in streamlining digital investigation activities and allow advanced analytics capabilities with the ability to handle a large amounts of data.
42-
![diagram.png](https://github.com/DFIRKuiper/Kuiper/blob/master/img/diagram.png?raw=true)
40+
41+
![diagram.png](https://github.com/DFIRKuiper/Kuiper/blob/master/img/v2.0.0/Diagram.png?raw=true)
4342

4443

4544
## Why Kuiper?
@@ -74,10 +73,10 @@ With a large number of cases and a large number of team members, it becomes hard
7473
# Examples
7574

7675
**Create cases and upload artifacts**
77-
![create_cases](https://github.com/DFIRKuiper/Kuiper/blob/master/img/create_case.gif?raw=true)
76+
![create_cases](https://github.com/DFIRKuiper/Kuiper/blob/master/img/v2.0.0/create_case_upload_machines.gif?raw=true)
7877

79-
**Analysis example in Kuiper**
80-
![create_cases](https://github.com/DFIRKuiper/Kuiper/blob/master/img/analysis.gif?raw=true)
78+
**Investigate parsed artifacts in Kuiper**
79+
![create_cases](https://github.com/DFIRKuiper/Kuiper/blob/master/img/v2.0.0/analysis.gif?raw=true)
8180

8281

8382

@@ -88,82 +87,30 @@ With a large number of cases and a large number of team members, it becomes hard
8887

8988
Kuiper use the following components:
9089

91-
**Flask:** A web framework written in Python, used as the primary web application component.
92-
93-
**Elasticsearch:** A distributed, open source search and analytics engine, used as the primary database to store parser results.
94-
95-
**MongoDB:** A database that stores data in JSON-like documents that can vary in structure, offering a dynamic, flexible schema, used to store Kuiper web application configurations and information about parsed files.
96-
97-
**Redis:** A in-memory data structure store, used as a database, cache and message broker, used as a message broker to relay tasks to celery workers.
98-
99-
**Celery:** A asynchronous task queue/job queue based on distributed message passing, used as the main processing engine to process relayed tasks from redis.
100-
101-
102-
## Parsers
90+
- **Flask:** A web framework written in Python, used as the primary web application component.
10391

104-
The following are parsers used in Kuiper project, some are custom built, and others have been modified to output the results in a compliant format in order to integrate it with Kuiper and some have been heavily modified to make it compatible with Kuiper.
92+
- **Elasticsearch:** A distributed, open source search and analytics engine, used as the primary database to store parser results.
10593

106-
Parser | Author
107-
----------------- | -------------
108-
BrowserHistory | [Saleh Muhaysin](https://github.com/salehmuhaysin/BrowserHistory_ELK)
109-
Srum | [Saleh Muhaysin](https://github.com/salehmuhaysin/SRUM_parser)
110-
CSV | Custom by Saleh Muhaysin
111-
Recyclebin | Custom by Muteb Alqahtani
112-
Scheduled Tasks | Custom by Muteb Alqahtani
113-
Prefetch | [MBromiley](https://github.com/bromiley/tools/tree/master/win10_prefetch)
114-
Windows Events | [dgunter](https://github.com/dgunter/evtxtoelk)
115-
Amcache | [Muteb Alqahtani](https://github.com/muteb/RegSkewer)
116-
bits_admin | [ANSSI](https://github.com/ANSSI-FR/bits_parser)
117-
Jumplist | [Bhupendra Singh](https://github.com/Bhupipal/JumpListParser)
118-
MFT | [dkovar](https://github.com/dkovar/analyzeMFT)
119-
RUA | [davidpany](https://github.com/davidpany/WMI_Forensics)
120-
Shellbags | [Willi Ballenthin](https://github.com/williballenthin/shellbags)
121-
Shimcache | [MANDIANT](https://github.com/mandiant/ShimCacheParser)
122-
Shortcuts | [HarmJ0y](https://github.com/HarmJ0y/pylnker)
123-
UsnJrnl | [PoorBillionaire](https://github.com/PoorBillionaire/USN-Journal-Parser)
124-
WMI_Persistence | [davidpany](https://github.com/davidpany/WMI_Forensics)
125-
ComputerName | [Muteb Alqahtani](https://github.com/muteb/RegSkewer)
126-
DHCP | [Muteb Alqahtani](https://github.com/muteb/RegSkewer)
127-
InstalledApp | [Muteb Alqahtani](https://github.com/muteb/RegSkewer)
128-
InstalledComponents | [Muteb Alqahtani](https://github.com/muteb/RegSkewer)
129-
LastVisitedMRU | [Muteb Alqahtani](https://github.com/muteb/RegSkewer)
130-
LaunchTracing | [Muteb Alqahtani](https://github.com/muteb/RegSkewer)
131-
OpenSaveMRU | [Muteb Alqahtani](https://github.com/muteb/RegSkewer)
132-
ProfileList | [Muteb Alqahtani](https://github.com/muteb/RegSkewer)
133-
ShellExtensions | [Muteb Alqahtani](https://github.com/muteb/RegSkewer)
134-
TimeZoneInformation | [Muteb Alqahtani](https://github.com/muteb/RegSkewer)
135-
TypedUrls | [Muteb Alqahtani](https://github.com/muteb/RegSkewer)
136-
Uninstall | [Muteb Alqahtani](https://github.com/muteb/RegSkewer)
137-
UserAssist | [Muteb Alqahtani](https://github.com/muteb/RegSkewer)
138-
WordWheelQuery | [Muteb Alqahtani](https://github.com/muteb/RegSkewer)
139-
Bam | [Muteb Alqahtani](https://github.com/muteb/RegSkewer)
140-
AppCompatFlags | [Muteb Alqahtani](https://github.com/muteb/RegSkewer)
141-
MuiCache | [Muteb Alqahtani](https://github.com/muteb/RegSkewer)
142-
RunMRU | [Muteb Alqahtani](https://github.com/muteb/RegSkewer)
143-
Sysinternals | [Muteb Alqahtani](https://github.com/muteb/RegSkewer)
144-
TerminalServerClient| [Muteb Alqahtani](https://github.com/muteb/RegSkewer)
94+
- **MongoDB:** A database that stores data in JSON-like documents that can vary in structure, offering a dynamic, flexible schema, used to store Kuiper web application configurations and information about parsed files.
14595

96+
- **Redis:** A in-memory data structure store, used as a database, cache and message broker, used as a message broker to relay tasks to celery workers.
14697

98+
- **Celery:** A asynchronous task queue/job queue based on distributed message passing, used as the main processing engine to process relayed tasks from redis.
14799

148-
149-
150-
To add your own parser on Kuiper, read documentation [Add Custom Parser](https://github.com/DFIRKuiper/Kuiper/wiki/Add-Custom-Parser)
151-
100+
- **Gunicorn:** Handle multiple clients HTTPs requests
152101

153102
# Getting Started
154103

155104
## Requirements
156105

157-
- **OS:** 64-bit Ubuntu 16.04.1 LTS (Xenial) (preferred)
158-
- **RAM:** 4GB (minimum), 8GB (preferred)
106+
- **OS:** 64-bit Ubuntu 18.04.1 LTS (Xenial) (preferred)
107+
- **RAM:** 4GB (minimum), 64GB (preferred)
159108
- **Cores:** 4 (minimum)
160109
- **Disk:** 25GB for testing purposes and more disk space depends on the amount of data collected.
161110

162-
163-
## Download
164-
165-
To download a prebuilt Kuiper on virtual machine, please visit the following page
166-
[Download Kuiper VM](https://github.com/DFIRKuiper/Kuiper/tree/master/VirualMachine)
111+
**Notes**
112+
- If you want to use RAM more than 64GB to increase Elasticsearch performence, it is recommended to use multiple nodes for Elasticsearch cluster instead in different machines
113+
- For parsing, Celery generate workers based on CPU cores (worker per core), each core parse one machine at a time and when the machine finished, the other queued machines will start parsing, if you have large number of machines to process in the same time you have to increase the cores number
167114

168115
## Installation
169116

@@ -194,11 +141,6 @@ If everything runs correctly now you should be able to use Kuiper through the li
194141

195142
Happy hunting :).
196143

197-
# TODO List:
198-
199-
- Add Wiki
200-
- Fix issues with parsers
201-
202144
# Issues Tracking and Contribution
203145

204146
We are happy to receive any issues, contribution, and ideas.

0 commit comments

Comments
 (0)