All Projects → activecm → Rita

activecm / Rita

Licence: gpl-3.0
Real Intelligence Threat Analytics (RITA) is a framework for detecting command and control communication through network traffic analysis.

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Rita

WELA
WELA (Windows Event Log Analyzer): The Swiss Army knife for Windows Event Logs! ゑ羅(ウェラ)
Stars: ✭ 442 (-67.31%)
Mutual labels:  analysis, logs, threat
keen-analysis.js
A light JavaScript client for Keen
Stars: ✭ 40 (-97.04%)
Mutual labels:  analytics, analysis
iOScanX
iOScanX (iOS Application Scanner for OS X) is a Cocoa application for semi-automated iOS app analysis and evaluation
Stars: ✭ 33 (-97.56%)
Mutual labels:  analysis, scanning
Dt
DNS tool - display information about your domain
Stars: ✭ 313 (-76.85%)
Mutual labels:  dns, scanning
SWELF
Simple Windows Event Log Forwarder (SWELF). Its easy to use/simply works Log Forwarder and EVTX Parser. Almost in full release here at https://github.com/ceramicskate0/SWELF/releases/latest.
Stars: ✭ 23 (-98.3%)
Mutual labels:  analysis, logs
hayabusa
Hayabusa (隼) is a sigma-based threat hunting and fast forensics timeline generator for Windows event logs.
Stars: ✭ 908 (-32.84%)
Mutual labels:  logs, threat
Meerkat
A collection of PowerShell modules designed for artifact gathering and reconnaisance of Windows-based endpoints.
Stars: ✭ 284 (-78.99%)
Mutual labels:  analysis, threat
Threatpursuit Vm
Threat Pursuit Virtual Machine (VM): A fully customizable, open-sourced Windows-based distribution focused on threat intelligence analysis and hunting designed for intel and malware analysts as well as threat hunters to get up and running quickly.
Stars: ✭ 814 (-39.79%)
Mutual labels:  analytics, threat
Explorer
Data Explorer by Keen - point-and-click interface for analyzing and visualizing event data.
Stars: ✭ 725 (-46.38%)
Mutual labels:  analysis, analytics
Keen Js
https://keen.io/ JavaScript SDKs. Track users and visualise the results. Demo http://keen.github.io/keen-dataviz.js/
Stars: ✭ 588 (-56.51%)
Mutual labels:  analysis, analytics
Siem
SIEM Tactics, Techiques, and Procedures
Stars: ✭ 157 (-88.39%)
Mutual labels:  analysis, threat
Iobroker.sourceanalytix
Detailed analysis of your Energy, gas and liquid consumptions
Stars: ✭ 40 (-97.04%)
Mutual labels:  analysis, analytics
Reddit Detective
Play detective on Reddit: Discover political disinformation campaigns, secret influencers and more
Stars: ✭ 129 (-90.46%)
Mutual labels:  analysis, analytics
keen-sdk-net
A .NET SDK for the Keen IO API
Stars: ✭ 35 (-97.41%)
Mutual labels:  analytics, analysis
Pandas Js
Pandas in JavaScript for data analysis and visualization
Stars: ✭ 389 (-71.23%)
Mutual labels:  analysis, analytics
Sooty
The SOC Analysts all-in-one CLI tool to automate and speed up workflow.
Stars: ✭ 867 (-35.87%)
Mutual labels:  analysis, dns
Teler
Real-time HTTP Intrusion Detection
Stars: ✭ 1,248 (-7.69%)
Mutual labels:  logs, threat
Ethzcheatsheets
Stars: ✭ 92 (-93.2%)
Mutual labels:  analysis
Dart Code Metrics
Software analytics tool that helps developers analyse and improve software quality.
Stars: ✭ 96 (-92.9%)
Mutual labels:  analysis
Ds With Pysimplegui
Data science and Machine Learning GUI programs/ desktop apps with PySimpleGUI package
Stars: ✭ 93 (-93.12%)
Mutual labels:  analytics

RITA (Real Intelligence Threat Analytics)

RITA Logo

If you get value out of RITA and would like to go a step further with hunting automation, futuristic visualizations, and data encrichment take a look at AI-Hunter.

Sponsored by Active Countermeasures.


RITA is an open source framework for network traffic analysis.

The framework ingests Zeek Logs in TSV format, and currently supports the following major features:

  • Beaconing Detection: Search for signs of beaconing behavior in and out of your network
  • DNS Tunneling Detection Search for signs of DNS based covert channels
  • Blacklist Checking: Query blacklists to search for suspicious domains and hosts

Install

Please see our recommended System Requirements document if you wish to use RITA in a production environment.

Automated Install

RITA provides an install script that works on Ubuntu 18.04 LTS, Ubuntu 16.04 LTS, Security Onion, and CentOS 7.

Download the latest install.sh file here and make it executable: chmod +x ./install.sh

Then choose one of the following install methods:

  • sudo ./install.sh will install RITA as well as supported versions of Zeek and MongoDB. This is suitable if you want to get started as quickly as possible or you don't already have Zeek or MongoDB.

  • sudo ./install.sh --disable-zeek --disable-mongo will install RITA only, without Zeek or MongoDB. You may also use these flags individually.

Docker Install

See here.

Manual Installation

To install each component of RITA by manually see here.

Upgrading RITA

See this guide for upgrade instructions.

Getting Started

Configuration File

RITA's config file is located at /etc/rita/config.yaml though you can specify a custom path on individual commands with the -c command line flag.

  • The Filtering: InternalSubnets section must be configured or you will not see any results in certain modules (e.g. beacons, long connections). If your network uses the standard RFC1918 internal IP ranges (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) you don't need to do anything as the default InternalSubnets section already has these. Otherwise, adjust this section to match your environment. RITA's main purpose is to find the signs of a compromised internal system talking to an external system and will automatically exclude internal to internal connections and external to external connections from parts of the analysis.

You may also wish to change the defaults for the following option:

  • Filtering: AlwaysInclude - Ranges listed here are exempt from the filtering applied by the InternalSubnets setting. The main use for this is to include internal DNS servers so that you can see the source of any DNS queries made.

Note that any value listed in the Filtering section should be in CIDR format. So a single IP of 192.168.1.1 would be written as 192.168.1.1/32.

Obtaining Data (Generating Zeek Logs)

  • Option 1: Generate PCAPs outside of Zeek

    • Generate PCAP files with a packet sniffer (tcpdump, wireshark, etc.)
    • (Optional) Merge multiple PCAP files into one PCAP file
      • mergecap -w outFile.pcap inFile1.pcap inFile2.pcap
    • Generate Zeek logs from the PCAP files
      • zeek -r pcap_to_log.pcap local "Log::default_rotation_interval = 1 day"
  • Option 2: Install Zeek and let it monitor an interface directly [instructions]

    • You may wish to compile Zeek from source for performance reasons. This script can help automate the process.
    • The automated installer for RITA installs pre-compiled Zeek binaries by default
      • Provide the --disable-zeek flag when running the installer if you intend to compile Zeek from source

Importing and Analyzing Data With RITA

After installing RITA, setting up the InternalSubnets section of the config file, and collecting some Zeek logs, you are ready to begin hunting.

RITA can process TSV, JSON, and JSON streaming Zeek log file formats. These logs can be either plaintext or gzip compressed.

One-Off Datasets

This is the simplest usage and is great for analyzing a collection of Zeek logs in a single directory. If you expect to have more logs to add to the same analysis later see the next section on Rolling Datasets.

rita import path/to/your/zeek_logs dataset_name`

Every log file in the supplied directory will be imported into a dataset with the given name. However, files in nested directories will not be processed.

Rolling Datasets

Rolling datasets allow you to progressively analyze log data over a period of time as it comes in.

rita import --rolling /path/to/your/zeek_logs dataset_name

You can make this call repeatedly as new logs are added to the same directory (e.g. every hour).

One common scenario is to have a rolling database that imports new logs every hour and always has the last 24 hours worth of logs in it. Typically, Zeek logs will be placed in /opt/zeek/logs/<date> which means that the directory will change every day. To accommodate this, you can use the following command in a cron job or other task scheduler that runs once per hour.

rita import --rolling /opt/zeek/logs/$(date --date='-1 hour' +\%Y-\%m-\%d)/ dataset_name

RITA cycles data into and out of rolling databases in "chunks". You can think of each chunk as one hour, and the default being 24 chunks in a dataset. This gives the ability to always have the most recent 24 hours' worth of data available. But chunks are generic enough to accommodate non-default Zeek logging configurations or data retention times as well. See the Rolling Datasets documentation for advanced options.

Examining Data With RITA

  • Use the show-X commands
    • show-databases: Print the datasets currently stored
    • show-beacons: Print hosts which show signs of C2 software
    • show-bl-hostnames: Print blacklisted hostnames which received connections
    • show-bl-source-ips: Print blacklisted IPs which initiated connections
    • show-bl-dest-ips: Print blacklisted IPs which received connections
    • show-exploded-dns: Print dns analysis. Exposes covert dns channels
    • show-long-connections: Print long connections and relevant information
    • show-strobes: Print connections which occurred with excessive frequency
    • show-useragents: Print user agent information
  • By default, RITA displays data in CSV format
    • -d [DELIM] delimits the data by [DELIM] instead of a comma
      • Strings can be provided instead of single characters if desired, e.g. rita show-beacons -d "---" dataset_name
    • -H displays the data in a human readable format
      • This takes precedence over the -d option
    • Piping the human readable results through less -S prevents word wrapping
      • Ex: rita show-beacons dataset_name -H | less -S
  • Create a html report with html-report

Getting help

Please create an issue on GitHub if you have any questions or concerns.

Contributing to RITA

To contribute to RITA visit our Contributing Guide

License

GNU GPL V3 © Active Countermeasures ™

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].