Skip to content

Releases: mandiant/flare-floss

QUANTUMSTRAND beta 1

27 Aug 18:46
Compare
Choose a tag to compare
QUANTUMSTRAND beta 1 Pre-release
Pre-release

Beta 1 Release of FLOSS QuantumStrand (qs)

We are excited to announce the beta release of QuantumStrand (qs), a new experimental tool within the FLOSS suite designed to revolutionize how analysts interact with strings in binary files. While traditional floss excels at deobfuscating and extracting all possible strings, qs focuses on providing deep context and structure to the strings it finds.

image

What is QuantumStrand?

QuantumStrand is a static string analysis tool that extracts, tags, and presents strings within the hierarchical context of a file's structure. It's built for analysts who need to quickly understand where strings are, what they might be, and how important they are, without getting lost in a sea of undifferentiated text.

It's particularly effective for triage, allowing you to rapidly identify interesting regions and ignore common noise.

Key Features

  • Hierarchical Layout Analysis: qs doesn't just give you a flat list of strings. It parses PE files into a tree of structures - sections, headers, resources, overlays, and even embedded files - and shows you exactly where each string resides.

  • Intelligent String Tagging: Strings are enriched with contextual tags from various databases, helping you to quickly filter signal from noise. Tags include:

    • #common: Identifies common, globally prevalent strings that can often be ignored.
    • #winapi: Highlights Windows API and DLL names.
    • #<library_name>: Recognizes strings from known open-source libraries (e.g., #openssl).
    • #expert: Marks strings based on expert-curated rules for malware analysis.
    • #decoded: Indicates the file was likely XOR-encoded and has been automatically decoded.
    • #code & #reloc: Flags strings that overlap with executable code or relocation table entries, which are often false positives.
  • Automatic XOR Detection: qs can automatically detect and decode PE files that have been obfuscated with a single-byte XOR key.

  • Rich, Structured Console UI: The default output is a color-coded view of the file's layout. It uses borders and indentation to visually group strings by their containing structure, making it easy to navigate and understand the file's composition.

  • Detailed JSON Output: For tool integration and deeper analysis, qs produces a JSON document containing the full file layout, all extracted strings, their tags, offsets, and structural information.

Usage

To get started with QuantumStrand, simply run it against a binary file:

$ quantumstrand.exe /path/to/your/sample.exe

Command-Line Options

  • -n, --minimum-length <len>: Set the minimum string length (default is 4).
  • -j, --json: Output the results in JSON format instead of the rich console view.
  • -l, --load: Load and display a previously saved JSON results file.
  • -d, --debug: Enable verbose debugging output.

Try It Out!

QuantumStrand is still in beta, and we welcome your feedback! Please give it a try on your favorite samples and let us know what you think. Your input will be invaluable as we continue to develop and refine this new capability.

v3.1.1

26 Sep 13:13
3cd3ee6
Compare
Choose a tag to compare

The v3.1.1 release relaxes restrictions on dependencies, which enables you to use FLOSS with Python 3.12 and newer.

Full Changelog: v3.1.0...v3.1.1

v3.1.0

15 Apr 10:52
db9af41
Compare
Choose a tag to compare

New Features

Other Updates

New Contributors

Full Changelog: v3.0.1...v3.1.0

v3.0.1

12 Dec 10:28
3782dc9
Compare
Choose a tag to compare

This release fixes the missing language module in the v3.0.0 PyPI build.

v3.0.0

12 Dec 09:48
494372c
Compare
Choose a tag to compare

New Features

  • identification of programs written in Go, Rust, and .NET
  • extraction of strings embedded in Go programs
  • extraction of strings embedded in Rust programs

Other Updates

  • updates to the IDA plugin
  • upgraded minimum required Python version to 3.8
  • various bug fixes
  • various code quality improvements

Google Summer of Code 2023

@Arker123 contributed the majority of features and improvements during the Google Summer of Code working closely with the Mandiant FLARE team. We'd like to thank him for the great collaboration and discussions before, during, and after the twelve week program.

Contributors

Thanks to all our contributors, including @symbolicvoid, @DiegoRomeo, @sara-rn and especially @Arker123

Full Changelog: v2.3.0...v3.0.0

QUANTUMSTRAND preview 7

22 Jun 15:00
Compare
Choose a tag to compare
Pre-release

fixes:

  • PyInstaller build

QUANTUMSTRAND preview 6

22 Jun 14:51
Compare
Choose a tag to compare
Pre-release

changes:

  • add column to show U to indicated UTF-16LE string (versus ASCII default)
  • add database of common junk code strings
  • add -n minimum string length CLI option

QUANTUMSTRAND preview 5

06 Jun 14:56
Compare
Choose a tag to compare
Pre-release

readme

changes:

  • parse and display PE Authenticode signature region

fixes:

  • handling of non-PE files
  • various PE and code parsing fixes in lancelot
image image image

v2.3.0

01 Jun 11:58
037fc4b
Compare
Choose a tag to compare

New Features

  • added false positive string filters
  • use rich library for rendering of output and traceback
  • initial detection of binaries compiled using Go
  • updated dependencies

Other Updates

  • various bug fixes

Contributors

Thanks to all our contributors, including @d01a, @Arker123, @Dobatymo, @Aayush-Goel-04, @symbolicvoid, @EmperialX, @ggold7046, @ooprathamm, @deepaksirohiwal, and @DeeyaSingh!

QUANTUMSTRAND preview 4

01 Jun 16:30
Compare
Choose a tag to compare
Pre-release

readme

changes:

  • re-enable structure hints for strings found in known structures
  • tweak color used to display string address

image

image