Giter Club home page Giter Club logo

beaker's Introduction

BeaKer - Beaconing Kibana Executable Report

Brought to you by Active Countermeasures.


BeaKer visualizes Microsoft Sysmon network data to help threat hunters track down the source of suspicious network connections. The custom dashboard presents which users and executables created connections between two given IPs, how many times they've connected, the protocols and ports used, and much more.

Getting Started

BeaKer_demo

After Sysmon starts sending data to ElasticSearch, Kibana will be ready to go. Filter by a source and destination IP and a time range to view what connections have been made between the two. The Program List will display which executables on the source machine made the connections to the destination. The actual Sysmon logs are displayed lower on the screen where you can investigate the events in greater detail.

How it works

  • Microsoft Sysmon: Logs network connections to the Windows Event Log
  • WinLogBeats: Sends the network connection logs to Elasticsearch
  • Elasticsearch: Stores, indexes, and aggregates the network connection logs
  • Kibana: Displays logs stored in Elasticsearch and provides a user interface for Elasticsearch administration
  • Beacon Dashboard: Aggregates the network connections between two hosts

Installation

BeaKer Server System Requirements

  • Operating System: The preferred platform is x86 64-bit Ubuntu 16.04 LTS. The system should be patched and up to date using apt-get.
    • The automated installer will also support CentOS 7.
  • Processor: Two or more cores. Elasticsearch uses parallel processing and benefits from more CPU cores.
  • Memory: 8-64GB. Monitoring more hosts requires more RAM.
  • Storage: Ensure /var/lib/docker/volumes has free space for the incoming network logs.

BeaKer Agent System Requirements

  • Operating System: Windows x86-64 bit OS

Automated Install: BeaKer Server

Download the latest release tar file, extract it, and inside the BeaKer directory, run ./install_beaker.sh on the Linux machine that will aggregate your Sysmon data and host Kibana.

The automated installer will:

  • Install Docker and Docker-Compose
  • Create a configuration directory in /etc/BeaKer
  • Install Elasticsearch, Kibana, and load the dashboards
  • Set the Elasticsearch superuser password for the elastic account
  • Set the sysmon-ingest user password for connecting WinLogBeats

The ./beaker script inside of the release tar file is a wrapper around docker-compose and can be used to manage BeaKer.

  • To stop BeaKer, run ./beaker down
  • To start Beaker, run ./beaker up
  • To view the logs of the Elasticsearch container, run ./beaker logs -f beaker_elasticsearch_1
  • To view the logs of the Kibana container, run ./beaker logs -f beaker_kibana_1

After running ./install_beaker.sh you should be able to access Kibana at localhost:5601. Note that Kibana is exposed on every network interface available on the Docker host.

Use the elastic account to perform your initial login to Kibana. Additional user accounts can be created using the Kibana interface. The sysmon-ingest user account is not allowed to access Kibana.

The Elasticsearch server will begin listening for connections on port 9200 using HTTPS. It expects Sysmon ID 3 Network Events to be published to the ES index sysmon-%{+YYYY.MM.dd} using the WinLogBeat schema. See the embedded winlogbeat.yml file in ./agent/install-sysmon-beats.ps1 for more info.

The easiest way to begin sending data to the server is to use the automated BeaKer agent installer.

Automated Install: BeaKer Agent

The PowerShell script ./agent/install-sysmon-beats.ps1 will install Sysmon and WinLogBeats, and configure WinLogBeats to begin sending data to the BeaKer server.

To install the agent, run the script as .\install-sysmon-beats.ps1 ip.or.hostname.of.beaker.server 9200.

The script will then:

  • Ask for the credentials of the Elasticsearch user to connect with
    • These may be supplied using the parameters ESUsername and ESPassword
    • If using the automated BeaKer Server installer, use sysmon-ingest
  • Download Sysmon and install it with the default configuration in %PROGRAMFILES% if it doesn't exist
  • Ensures Sysmon is running as a service
  • Download WinLogBeat and install it in %PROGRAMFILES% and %PROGRAMDATA% if it doesn't exist
  • Removes any existing winlogbeat configuration files (winlogbeat.yml)
  • Installs a new winlogbeat.yml file to connect to the BeaKer server
  • Ensures WinLogBeat is running as a service

Data Collected By Sysmon Per Network Connection

  • Source
    • IP Address
    • Hostname
    • Port
  • Destination
    • IP Address
    • Hostname
    • Port
  • Network
    • Transport Protocol
    • Application Protocol
    • Community ID
  • Process
    • PID
    • Executable
    • Entity ID
  • User
    • Domain
    • Name
  • Timestamp

Developer Information

To generate a new release tarball, run ./installer/generate_installer.sh.

License

GNU GPL V3 © Active Countermeasures ™

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.