CyberProbe - Capturing, analysing and responding to cyber attacks.

CyberProbe – Capturing, analysing and responding to cyber attacks.

Changelog v0.80 January 2017:
+ Added optional TLS support for packet streams to cyberprobe and cybermon. This change refactors the cybermon command line interface. See documentation for new command line options.

The Cyberprobe project is an open-source distributed architecture for real-time monitoring of networks against attack. The software consists of two components:
– a probe, which collects data packets and forwards it over a network in standard streaming protocols.
– a monitor, which receives the streamed packets, decodes the protocols, and interprets the information.

The probe, cyberprobe has the following features:
* The probe can be tasked to collect packets from an interface and forward any which match a configurable address list.
* The probe can be configured to receive Snort alerts. In this configuration, when an alert is received from Snort, the IP source address associated with the alert is dynamically targeted for a period of time. In such a configuration, the system will collect data from any network actor who triggers a snort rule and is thus identified as a potential attacker.
* The probe can optionally run a management interface which allows remote interrogation of the state, and alteration of the configuration. This allows dynamic alteration of the targeting map, and integration with other systems.
* The probe can be configured to deliver on one of two standard stream protocols.


The monitor tool, cybermon has the following features:
* Collects packets delivered in stream protocols.
* Decodes packet protocols in and raises events in near-real-time.
* Decoded information is made available to user-configurable logic to define how the decoded data is handled. A simple configuration language is used (LUA) and example configurations are provided to monitor data volumes, display data hexdumps, or stash the data in files.
* Packet forgery techniques are included, which allow resetting TCP connections, and forging DNS responses. This can be invoked from your LUA in order to fight back against attacks on your network.
* Supports IP, TCP, UDP, ICMP, HTTP and DNS protocols, currently.

The cybermon software is a bit of a work-in-progress at the moment, and needs more protocols added, but there’s enough capability to be useful, and to demonstrate the value of this architecture.
The code is targeted at the Linux platform, although it is generic enough to be applicable to other UN*X-like platforms.

+ Libboost
+ Lua Languange

Usage and Download: