Skip to content
  • There are no suggestions because the search field is empty.

NetWitness Hunting Guide

NetWitness Hunting Guide

The NetWitness Platform is an evolution of the NetWitness NextGen security product, formerly known as Security Analytics. The platform ingests network traffic and logs, applies several layers of logic against the data, stores the values in a custom time-based database, and presents the metadata to the analyst in a unified view. When integrated with ECAT, a host based memory forensics tool, metadata about host activities is generated and presented in the same view, giving the analyst an unparalleled view into the state of the network. In this guide we will be discussing tactics and procedures for investigating the packet dataset for malicious activity.

NetWitness is not a typical network traffic based sensor, it is not an IDS/IPS or Netflow device, although some of its more basic capabilities could provide some overlap. Metadata is generated to describe a technical aspect or behavior within a network session. A session is defined as one or two related stream(s) of traffic with a requestor and, usually, a responder. These sessions are ordered by capture time and as such time is the first WHERE clause applied to the database when beginning an investigation. Knowing how the data is collected and ordered is integral to understanding how to hunt in NetWitness.

Metadata in NetWitness should be considered indicators of an activity, not signatures like those used by traditional IDS/IPS and as such should be handled differently. The logic contained in the NetWitness parsers is far more versatile than your typical regex based signatures. The parsers, feeds and application rules that process traffic generate metadata about the structure of the data and extract values from the individual sessions that can be searched for efficiently. This differs from traditional IDS/IPS solutions in that it is possible to find new unknown malicious activity compared to only finding previously identified malicious activity. Signature-like parsers are also included, but because the parser engine is using a common scripting language, Lua, more complex logic can be used to determine a match, giving a far lower false-positive rate when used in this manner. This guide focuses on hunting for new unknown malicious activity using the content provided by the RSA Live content management system and generally does not include an overview of signature-like parsers.

Hunting within the NetWitness dataset is accomplished by analyzing intrusions, reverse engineering malware, analyzing traffic generated by malware and other attacks, then selecting metadata generated by NetWitness based on this type of behavior. The RSA IR team has conducted many investigations since being formed in 2012 and has created content and tactics for the platform that allow an analyst to quickly navigate the dataset by combining many aspects of behavior into a single piece of metadata. This cuts down on the number of drills needed to find the sessions with the desired behavior, enhancing performance of the platform and reducing the effort needed to find malicious behavior. This has allowed the IR team to discover incidents without any prior knowledge or notification that the organization was under a targeted attack. The IR team has also used these methodologies and content to discovery many incidents where the attacker wasn’t even using malware, but authenticated access, also called Living off the “LANd”.

The unprecedented view into network traffic provided by NetWitness is most effective for Incident Response capabilities, but can also be used to validate the appropriate enforcement of your security policies and/or uncover areas where these policies and procedures may require improvement. This guide is intended for analysts who want to uncover new malicious activity and not simply react to alerts based on known threats.

​Hunting Pack

The Hunting pack is designed to allow you to quickly hunt for indicators of compromise or anomalous network activity by dissecting packet traffic within the RSA NetWitness Platform and populating specific meta keys with natural language values for investigation.

The Hunting pack consists of the following separate pieces:

  • A set of meta keys that are populated with the indicators
  • Imports of meta groups, which provide a view to the analyst of relevant combinations of meta data
  • A set of Lua parsers to dissect the network sessions from common protocols used by an attacker
  • The Investigation Feed and the RSA FirstWatch SSL Blacklist feed.
  • Hunting-related RSA NetWitness reports
  • Hunting-related RSA NetWitness rules
  • Webshell Detected ESA rule: This rule indicates that 3 webshells have been detected through communication between the same IP source and destination pair within a 10 minute time window. More details are available in the RSA ESA Rules topic.
  • The exe filetype but not exe extension Application Rule

Note: If you already have a version of the IR content pack previously distributed by the Incident Response team outside of Live, then it is recommended to remove this version before downloading the new pack. The separate topic, Removing the Original Incident Response (IR) Pack, provides instructions for how to remove this content.

Deploying the Hunting Pack

You can deploy all of the items in the Hunting Pack through Live.

Note the following:

  • For deployments prior to 10.6.2, you will also need to configure a set of new meta keys: netname, direction, ioc, boc, eoc, analysis.service, analysis.session, analysis.file. For details, see Meta Keys
  • The trafflic_flow Lua parser may be deployed to a Log Decoder, but this is not currently supported through Live. In the Traffic Flow Lua Parser documentation, https://community.netwitness.com/t5/netwitness-platform-threat/traffic-flow-lua-parser/ta-p/677906, see the section Deploy to Log Decoders.
  • If you are in an environment where you cannot Deploy, you should create a resource package (select PackageBtn.PNG > Create) to download a ZIP archive that you can use. Do not use the Icon-Download.png button, as this does not work for bundles.

To deploy the Hunting pack, depending on your version, see:

​Meta Keys

The meta keys that are populated as a result of the Lua parser deployment that make up the Hunting content pack are as follows. These are available without additional configuration in version 10.6.2 and higher of the RSA NetWitness Platform. If you are deploying the content pack to a version prior to this, then see Appendix: Hunting Content Pack Meta Keys for instructions to enable them.

  • Display Name:

    Network Name

  • Meta Key:

    netname

  • Format:

    Text

  • Description:

    Networks and host descriptions tagged with source or destination values. This eliminates the need for multiple network and asset keys. 


  • Display Name:

    Traffic Flow Direction

  • Meta Key:

    direction

  • Format:

    Text

  • Description:

    Flow-based information derived from source and destination lookups. The value may be outbound, lateral or inbound. 


  • Display Name:

    Session Analysis

  • Meta Key:

    analysis.session

  • Format:

    Text

  • Description:

    Client-Server communication summations, deviations, conduct and session attributes. 


  • Display Name:

    Service Analysis

  • Meta Key:

    analysis.service

  • Format:

    Text

  • Description:

    Core application protocols identification. An underlying powerhouse of service-based inspection. 


  • Display Name:

    File Analysis

  • Meta Key:

    analysis.file

  • Format:

    Text

  • Description:

    A large inspection library that will highlight file characteristics and anomalies.


  • Display Name:

    Indicators of Compromise

  • Meta Key:

    ioc

  • Format:

    Text

  • Description:

    Indicators of Compromise are now ubiquitous across the information security landscape. It is important to classify and store them accordingly.


  • Display Name:

    Behaviors of Compromise

  • Meta Key:

    boc

  • Format:

    Text

  • Description:

    The Behaviors of Compromise meta key is designated for suspect or nefarious behavior outside of standard signature-based detections.


  • Display Name:

    Enablers of Compromise

  • Meta Key:

    eoc

  • Format:

    Text

  • Description:

    Enablers of Compromise are instances of poor information or operational security that could be tied back to root cause post-mortem.


Meta Groups

NetWitness offers the analyst a method to customize the metadata views and groups that are displayed while conducting an investigation. Before beginning to hunt, the first items to set up are metadata groups. RSA provides a ZIP of files that contain Meta groups for incident response hunting. These files are available as a ZIP archive in the Downloads space on NetWitness Community at the following URL: https://community.netwitness.com/t5/netwitness-platform-downloads/tkb-p/netwitness-downloads.

For deployment of the meta groups, see the product documentation Import a Meta Group under the topic Investigation: Manage User-Defined Meta Groups. By default, the meta keys are in the ‘Close’ state. You may change to ‘Open’ view state by default for each key, depending on your needs and performance considerations.

  • File Name: , 198, 198);>, , 198, 198);>, , 198, 198);>, , 198, 198);>, , 198, 198);>, , ,>Lua Parsers,>You may deploy the Hunting pack Lua parsers from Live. Select the parsers listed below within the Live Search UI and choose to go through the process of deployment or subscription to a Decoder.,>List of Lua Parsers in the Hunting Pack,>, , 198, 198); height=37px width=842.208px>, , 198, 198); height=37px width=211.125px>, , 198, 198); height=37px width=842.208px>, , 198, 198); height=37px width=211.125px>, , 198, 198); height=37px width=842.208px>, , 198, 198); height=37px width=211.125px>, , 198, 198); height=37px width=842.208px>, , 198, 198); height=37px width=211.125px>, , 198, 198); height=37px width=842.208px>, , 198, 198); height=37px width=211.125px>, , 198, 198); height=37px width=842.208px>, , 198, 198); height=37px width=211.125px>, , 198, 198); height=37px width=842.208px>, , 198, 198); height=37px width=211.125px>, , 198, 198); height=37px width=842.208px>, , 198, 198); height=37px width=211.125px>, , 198, 198); height=37px width=842.208px>, , 198, 198); height=37px width=211.125px>, , 198, 198); height=37px width=842.208px>, , 198, 198); height=289px width=211.125px>, , 198, 198); height=289px width=842.208px>, , , , , , , , , 198, 198); height=61px width=211.125px>, , 198, 198); height=61px width=842.208px>, and may not identify JSON-RPC over transports such as HTTP., 198, 198); height=37px width=211.125px>, , 198, 198); height=37px width=842.208px>, subject and client., 198, 198); height=37px width=211.125px>, , 198, 198); height=37px width=842.208px>, see Mail Lua Parser Options File., 198, 198); height=37px width=211.125px>, , 198, 198); height=37px width=842.208px>, , 198, 198); height=37px width=211.125px>, , 198, 198); height=37px width=842.208px>, , 198, 198); height=37px width=211.125px>, , 198, 198); height=37px width=842.208px>, , 198, 198); height=37px width=211.125px>, , 198, 198); height=37px width=842.208px>, , 198, 198); height=37px width=211.125px>, , 198, 198); height=37px width=842.208px>, , 198, 198); height=37px width=211.125px>, , 198, 198); height=37px width=842.208px>, , 198, 198); height=37px width=211.125px>, , 198, 198); height=37px width=842.208px>, , 198, 198); height=37px width=211.125px>, , 198, 198); height=37px width=842.208px>, TCP flags seen, etc., 198, 198); height=37px width=211.125px>, , 198, 198); height=37px width=842.208px>, versions 1 and 2., 198, 198); height=61px width=211.125px>, , 198, 198); height=61px width=842.208px>, , 198, 198); height=289px width=211.125px>, , 198, 198); height=289px width=842.208px>, , , , , , , , 198, 198); height=37px width=211.125px>, , 198, 198); height=37px width=842.208px>, , 198, 198); height=37px width=211.125px>, , 198, 198); height=37px width=842.208px>, , 198, 198); height=37px width=211.125px>, , 198, 198); height=37px width=842.208px>, SSL 3.0, TLS 1.0, TLS 1.1, and TLS 1.2., 198, 198); height=37px width=211.125px>, , 198, 198); height=37px width=842.208px>, and directionality of the session (inbound, outbound, lateral)., 198, 198); height=61px width=211.125px>, , 198, 198); height=61px width=842.208px>, this file provides a way for customers to configure internal subnets as described within the full product documentation for this parser (Traffic Flow Lua Parser)., 198, 198); height=37px width=211.125px>, , 198, 198); height=37px width=842.208px>, , 198, 198); height=37px width=211.125px>, , 198, 198); height=37px width=842.208px>, and analyzes them for anomalies and other suspicious characteristics., 198, 198); height=37px width=211.125px>, , 198, 198); height=37px width=842.208px>, , , ,



Attachments:
NWHuntingGuide.pdf