Skip to content

Commit

Permalink
Improvements to Extraction package, addition of RedLeaf config parser.
Browse files Browse the repository at this point in the history
  • Loading branch information
kevoreilly committed Apr 11, 2017
1 parent 47d3a34 commit e0b7be7
Show file tree
Hide file tree
Showing 47 changed files with 278 additions and 6,318 deletions.
16 changes: 10 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
CAPE: Config And Payload Extraction

CAPE is an addition to Cuckoo specifically designed to extract payloads and configuration from malware.
CAPE is an extension of Cuckoo specifically designed to extract payloads and configuration from malware.

CAPE can detect a number of malware techniques or behaviours, as well as specific malware families, from its initial run on a sample.

Expand All @@ -20,29 +20,33 @@ In addition to specific behaviours, CAPE also automatically creates a process du

CAPE also has a package which can dynamically extract payloads from 'hacked' (modified) packers derived from UPX, a favourite with malware authors.

Currently CAPE has specific packages for the following malware families:
Currently CAPE has specific packages dumping configuration and payloads for the following malware families:
- PlugX
- EvilGrab
- Azzy

Detection to trigger a CAPE package can be based from on 'Cuckoo' (API) or Yara signatures.

Many other malware families have their payloads extracted by some of the behavioural packages, with their configuration in the clear in the resulting output. Configuration parsing may then be performed on this by virtue of yara-based detection, and config parsing based on CAPE's primary config parsing framework, DC3-MWCP (Defense Cyber Crime Center - Malware Configuration Parser). Thanks to the creators at the Defense Cyber Crime Center. Parsers may also be written using the RATDecoders parser from malwareconfig.com (Kevin Breen/TechAnarchy). The publicly available decoders from malwareconfig.com are also included in CAPE.
Many other malware families have their payloads extracted by some of the behavioural packages, with their configuration in the clear in the resulting output. Configuration parsing may then be performed on this by virtue of yara-based detection, and config parsing based on CAPE's primary config parsing framework, DC3-MWCP (Defense Cyber Crime Center - Malware Configuration Parser). Parsers may also be written using the RATDecoders parser from malwareconfig.com. Thanks to DC3 and Kevin Breen/TechAnarchy for these frameworks.

Currently CAPE has config parsers for the following malware families, whose payloads are extracted by a behavioural package:
- HttpBrowser
- Enfal
- ChChes
- RedLeaf
- PoisonIvy

The publicly available decoders from malwareconfig.com are also included in CAPE. This includes, among many others, Sakula, DarkComet and PoisonIvy.

There are a number of other behavioural and malware family packages and parsers currently in the works, so watch this space.

Packages can be written based on API hooks, the CAPE debugger, or a combination of both.

The CAPE debugger allows four breakpoints to be set on each malware thread to detect on read, write or execute of a memory region, as well as single-step mode. This allows fine control over malware execution until it is possible to dump the memory regions of interest, containing code or configuration data.
The CAPE debugger allows four breakpoints to be set on each malware thread to detect on read, write or execute of a memory region, as well as single-step mode. This allows fine control over malware execution until it is possible to dump the memory regions of interest, containing code or configuration data. Breakpoints can be set dynamically by package code or via yara signatures.

Processes, modules and memory regions can variously be dumped by CAPE through use of a simple API.
Processes, modules and memory regions can variously be dumped by CAPE through use of a simple API. These dumps can then be scanned and parsed for configuration information.

Executable modules are fixed on being dumped, and may also have their imports automatically reconstructed (thanks to Scylla authors).
Executable modules are fixed on being dumped, and may also have their imports automatically reconstructed (based on Scylla).

It is derived from spender-sandbox, thanks to Brad Spengler and the rest of the Cuckoo contributors.

Expand Down
Binary file modified analyzer/windows/dll/CAPE.dll
Binary file not shown.
Binary file modified analyzer/windows/dll/CAPE_Extraction.dll
Binary file not shown.
Binary file modified analyzer/windows/dll/CAPE_x64.dll
Binary file not shown.
49 changes: 0 additions & 49 deletions analyzer/windows/modules/packages/CAPE_Azzy.py

This file was deleted.

52 changes: 0 additions & 52 deletions analyzer/windows/modules/packages/CAPE_Azzy_dll.py

This file was deleted.

45 changes: 0 additions & 45 deletions analyzer/windows/modules/packages/CAPE_Compression.py

This file was deleted.

51 changes: 0 additions & 51 deletions analyzer/windows/modules/packages/CAPE_Compression_dll.py

This file was deleted.

32 changes: 0 additions & 32 deletions analyzer/windows/modules/packages/CAPE_Compression_doc.py

This file was deleted.

45 changes: 0 additions & 45 deletions analyzer/windows/modules/packages/CAPE_EvilGrab.py

This file was deleted.

36 changes: 0 additions & 36 deletions analyzer/windows/modules/packages/CAPE_Extraction.py

This file was deleted.

Loading

0 comments on commit e0b7be7

Please sign in to comment.