2020-01-21 20:20:44 +00:00
# HELK
2018-06-12 05:28:26 +00:00
v0.1.6-alpha12132018
HELK base image
+ Updated to 0.0.3
HELK ELK Version
+ Now using 6.5.3 official ELK Docker Images (https://www.elastic.co/blog/elastic-stack-6-5-3-released)
helk_install
+ Users can now select between two deployments:
++ helk-kibana-analysis (KAFKA + KSQL + ELK + NGNIX + ELASTALERT)
++ helk-kibana-notebooks (KAFKA + KSQL + ELK + NGNIX + ELASTALERT + SPARK + JUPYTER)
+ Fixed https://github.com/Cyb3rWard0g/HELK/issues/131 . Users can now set up the Kibana UI User password during installation. Also, user can set the Elasticsearch elastic account password when using the Trial license option.
helk-elastalert
+ Elastalert deployed and ready to use with SIGMA integration. Blog available at https://medium.com/@Cyb3rWard0g
helk-elasticsearch
+ consolidated main configs in one
+ added more environment variables for ELASTIC_PASSWORD and default values in case it is not used to be compatible with the default values applied to HELK.
helk-logstash
+ updated to 6.5.3
+ simplified pipeline to have only one folder
+ logstash-entrypoint script can now enable elastic password on all logstash output conf files.
+ New environment variables (ELASTIC_PASSWORD, ELASTIC_HOST, ELASTIC_PORT)
helk-nginx
+ split the default config for the two deployment options (helk-kibana-analysis (trial/base) and helk-kibana-notebook-analysis (trial/base)
helk-kibana
+ Updated to version 6.5.3
+ Added new environment variables (ELASTICSEARCH_URL, SERVER_HOST, SERVER_PORT, ELASTIC_PASSWORD, ELASTIC_HOST, ELASTIC_PORT, ELASTICSEARCH_USERNAME, ELASTICSEARCH_PASSWORD, KIBANA_UI_PASSWORD) and logic to make the build more dynamic
helk-jupyter
+ updated Jupyterlab to 0.35.4
+ updated jupyterhub to 0.9.4
+ updated jupyterlab hub extension to 0.12.0
+ updated ES_HADOOP to 6.5.3
+ updated org.apache.spark:spark-sql-kafka-0-10_2.11:2.4.0
+ Added extra notebooks to test deployment and provide more information for analyst experiencing Jupyter for the first time
helk-kafka-base
+ reduced docker container size
+ updated Kafka to 2.1.0 (this affects Kafka brokers and zookeeper)
helk-kafka-broker
+ User can now define a list of topics to be created via the new environment variable KAFKA_CREATE_TOPICS. That needs to be defined either in the docker-compose file or while running the docker container on its own.
helk-zookeeper
+ reduced size of container
+ updated build to kafka 2.1.0
helk-KSQL
+ initial integration of KSQL
+ KSQL Server and KSQL CLI are available
+ Blog post coming soon ;)
2018-12-13 21:27:17 +00:00
[![License: GPL v3 ](https://img.shields.io/badge/License-GPLv3-blue.svg )](https://www.gnu.org/licenses/gpl-3.0)
[![GitHub issues-closed ](https://img.shields.io/github/issues-closed/Cyb3rward0g/HELK.svg )](https://GitHub.com/Cyb3rWard0g/HELK/issues?q=is%3Aissue+is%3Aclosed)
[![Twitter ](https://img.shields.io/twitter/follow/THE_HELK.svg?style=social&label=Follow )](https://twitter.com/THE_HELK)
2020-01-14 23:40:27 +00:00
[![Open Source Love ](https://badges.frapsoft.com/os/v1/open-source.png?v=103 )](https://github.com/ellerbrock/open-source-badges/)
2020-01-21 20:20:44 +00:00
[![stability-alpha ](https://img.shields.io/badge/stability-alpha-f4d03f.svg )](https://github.com/mkenney/software-guides/blob/master/STABILITY-BADGES.md#alpha)
v0.1.6-alpha12132018
HELK base image
+ Updated to 0.0.3
HELK ELK Version
+ Now using 6.5.3 official ELK Docker Images (https://www.elastic.co/blog/elastic-stack-6-5-3-released)
helk_install
+ Users can now select between two deployments:
++ helk-kibana-analysis (KAFKA + KSQL + ELK + NGNIX + ELASTALERT)
++ helk-kibana-notebooks (KAFKA + KSQL + ELK + NGNIX + ELASTALERT + SPARK + JUPYTER)
+ Fixed https://github.com/Cyb3rWard0g/HELK/issues/131 . Users can now set up the Kibana UI User password during installation. Also, user can set the Elasticsearch elastic account password when using the Trial license option.
helk-elastalert
+ Elastalert deployed and ready to use with SIGMA integration. Blog available at https://medium.com/@Cyb3rWard0g
helk-elasticsearch
+ consolidated main configs in one
+ added more environment variables for ELASTIC_PASSWORD and default values in case it is not used to be compatible with the default values applied to HELK.
helk-logstash
+ updated to 6.5.3
+ simplified pipeline to have only one folder
+ logstash-entrypoint script can now enable elastic password on all logstash output conf files.
+ New environment variables (ELASTIC_PASSWORD, ELASTIC_HOST, ELASTIC_PORT)
helk-nginx
+ split the default config for the two deployment options (helk-kibana-analysis (trial/base) and helk-kibana-notebook-analysis (trial/base)
helk-kibana
+ Updated to version 6.5.3
+ Added new environment variables (ELASTICSEARCH_URL, SERVER_HOST, SERVER_PORT, ELASTIC_PASSWORD, ELASTIC_HOST, ELASTIC_PORT, ELASTICSEARCH_USERNAME, ELASTICSEARCH_PASSWORD, KIBANA_UI_PASSWORD) and logic to make the build more dynamic
helk-jupyter
+ updated Jupyterlab to 0.35.4
+ updated jupyterhub to 0.9.4
+ updated jupyterlab hub extension to 0.12.0
+ updated ES_HADOOP to 6.5.3
+ updated org.apache.spark:spark-sql-kafka-0-10_2.11:2.4.0
+ Added extra notebooks to test deployment and provide more information for analyst experiencing Jupyter for the first time
helk-kafka-base
+ reduced docker container size
+ updated Kafka to 2.1.0 (this affects Kafka brokers and zookeeper)
helk-kafka-broker
+ User can now define a list of topics to be created via the new environment variable KAFKA_CREATE_TOPICS. That needs to be defined either in the docker-compose file or while running the docker container on its own.
helk-zookeeper
+ reduced size of container
+ updated build to kafka 2.1.0
helk-KSQL
+ initial integration of KSQL
+ KSQL Server and KSQL CLI are available
+ Blog post coming soon ;)
2018-12-13 21:27:17 +00:00
2019-07-07 23:58:44 +00:00
The Hunting ELK or simply the HELK is one of the first open source hunt platforms with advanced analytics capabilities such as SQL declarative language, graphing, structured streaming, and even machine learning via Jupyter notebooks and Apache Spark over an ELK stack. This project was developed primarily for research, but due to its flexible design and core components, it can be deployed in larger environments with the right configurations and scalable infrastructure.
2018-01-16 01:11:13 +00:00
2018-01-16 01:07:44 +00:00
![alt text ](resources/images/HELK_Design.png "HELK Infrastructure" )
2017-04-14 05:29:04 +00:00
2017-06-29 15:21:59 +00:00
# Goals
2018-06-12 05:28:26 +00:00
2019-07-07 23:58:44 +00:00
* Provide an open source hunting platform to the community and share the basics of Threat Hunting.
* Expedite the time it takes to deploy a hunt platform.
* Improve the testing and development of hunting use cases in an easier and more affordable way.
* Enable Data Science capabilities while analyzing data via Apache Spark, GraphFrames & Jupyter Notebooks.
2017-06-29 15:21:59 +00:00
2018-01-31 22:52:50 +00:00
# Current Status: Alpha
2018-06-12 05:28:26 +00:00
2018-01-31 22:52:50 +00:00
The project is currently in an alpha stage, which means that the code and the functionality are still changing. We haven't yet tested the system with large data sources and in many scenarios. We invite you to try it and welcome any feedback.
2020-01-21 20:20:44 +00:00
## Docs:
2018-06-12 05:28:26 +00:00
2018-02-15 08:28:48 +00:00
* [Introduction ](https://github.com/Cyb3rWard0g/HELK/wiki )
* [Architecture Overview ](https://github.com/Cyb3rWard0g/HELK/wiki/Architecture-Overview )
* [Kafka ](https://github.com/Cyb3rWard0g/HELK/wiki/Kafka )
* [Logstash ](https://github.com/Cyb3rWard0g/HELK/wiki/Logstash )
* [Elasticsearch ](https://github.com/Cyb3rWard0g/HELK/wiki/Elasticsearch )
* [Kibana ](https://github.com/Cyb3rWard0g/HELK/wiki/Kibana )
* [Spark ](https://github.com/Cyb3rWard0g/HELK/wiki/Spark )
* [Installation ](https://github.com/Cyb3rWard0g/HELK/wiki/Installation )
2018-01-08 23:20:50 +00:00
2018-12-13 21:33:05 +00:00
# Resources
* [Welcome to HELK! : Enabling Advanced Analytics Capabilities ](https://cyberwardog.blogspot.com/2018/04/welcome-to-helk-enabling-advanced_9.html )
* [Spark ](https://spark.apache.org/docs/latest/index.html )
* [Spark Standalone Mode ](https://spark.apache.org/docs/latest/spark-standalone.html )
* [Setting up a Pentesting.. I mean, a Threat Hunting Lab - Part 5 ](https://cyberwardog.blogspot.com/2017/02/setting-up-pentesting-i-mean-threat_98.html )
* [An Integrated API for Mixing Graph and Relational Queries ](https://cs.stanford.edu/~matei/papers/2016/grades_graphframes.pdf )
* [Graph queries in Spark SQL ](https://www.slideshare.net/SparkSummit/graphframes-graph-queries-in-spark-sql )
* [Graphframes Overview ](http://graphframes.github.io/index.html )
* [Elastic Producs ](https://www.elastic.co/products )
* [Elastic Subscriptions ](https://www.elastic.co/subscriptions )
* [Elasticsearch Guide ](https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html )
* [spujadas elk-docker ](https://github.com/spujadas/elk-docker )
* [deviantony docker-elk ](https://github.com/deviantony/docker-elk )
2017-08-12 04:50:56 +00:00
2017-06-29 15:21:59 +00:00
# Author
2018-06-12 05:28:26 +00:00
2018-01-08 22:58:42 +00:00
* Roberto Rodriguez [@Cyb3rWard0g ](https://twitter.com/Cyb3rWard0g ) [@THE_HELK ](https://twitter.com/THE_HELK )
2017-05-26 06:11:09 +00:00
2019-10-03 01:50:28 +00:00
# Current Committers
2018-06-12 05:28:26 +00:00
2018-01-08 22:58:42 +00:00
* Nate Guagenti [@neu5ron ](https://twitter.com/neu5ron )
2017-06-29 15:21:59 +00:00
# Contributing
2018-06-12 05:28:26 +00:00
2018-01-08 22:58:42 +00:00
There are a few things that I would like to accomplish with the HELK as shown in the To-Do list below. I would love to make the HELK a stable build for everyone in the community. If you are interested on making this build a more robust one and adding some cool features to it, PLEASE feel free to submit a pull request. #SharingIsCaring
2017-06-29 15:21:59 +00:00
2018-07-12 04:29:09 +00:00
# License: GPL-3.0
[ HELK's GNU General Public License ](https://github.com/Cyb3rWard0g/HELK/blob/master/LICENSE )
2017-06-29 15:21:59 +00:00
# TO-Do
2018-06-12 05:28:26 +00:00
2018-05-03 19:54:12 +00:00
- [ ] Kubernetes Cluster Migration
- [ ] OSQuery Data Ingestion
2018-01-08 23:20:50 +00:00
- [ ] MITRE ATT& CK mapping to logs or dashboards
2019-02-22 15:33:30 +00:00
- [ ] Cypher for Apache Spark Integration (Adding option for Zeppelin Notebook)
- [ ] Test and integrate neo4j spark connectors with build
2018-01-08 22:58:42 +00:00
- [ ] Add more network data sources (i.e Bro)
2018-03-04 04:44:09 +00:00
- [ ] Research & integrate spark structured direct streaming
2018-12-14 15:29:12 +00:00
- [ ] Packer Images
2019-02-22 15:33:30 +00:00
- [ ] Terraform integration (AWS, Azure, GC)
- [ ] Add more Jupyter Notebooks to teach the basics
2019-02-24 00:40:01 +00:00
- [ ] Auditd beat intergation
2017-05-26 06:31:12 +00:00
2019-10-03 01:50:28 +00:00
More coming soon...