Skip to main content

CAPA: The Basics

Learn to use CAPA to identify malicious capabilities.

Task 1: Introduction

Task 2: Tool Overview: How CAPA Works

Task 3: Dissecting CAPA Results Part 1: General Information, MITRE and MAEC

Task 4: Dissecting CAPA Results Part 2: Malware Behavior Catalogue

Task 5: Dissecting CAPA Results Part 3: Namespaces

Task 6: Dissecting CAPA Results Part 4: Capability

Task 7: More Information, More Fun!

Task 8: Conclusion

Back to all walkthroughs
Room Icon

CAPA: The Basics

Premium room

Learn to use CAPA to identify malicious capabilities.

easy

60 min

61,423

User profile photo.
User profile photo.
User profile photo.

To access material, start machines and answer questions login.

Set up your virtual environment

To successfully complete this room, you'll need to set up your virtual environment. This involves starting the Lab Machine, ensuring you're equipped with the necessary tools and access to tackle the challenges ahead.
Lab machine
Status:Off

One of the challenges when analyzing potentially malicious software is that we risk our machine or environment being compromised when we run it unless we have a or a completely isolated environment where we can test all we want. Generally speaking, there are two types of analysis: and . This room will focus on conducting static analysis using a tool called CAPA.

CAPA is an open-source tool developed by the Mandiant FLARE team. It is designed to identify the capabilities present in executable files like Portable Executables (), ELF binaries, .NET modules, shellcode, and even sandbox reports.

It does so by analyzing the file and applying a set of rules that describe common behaviors, allowing it to determine what the program is capable of doing, such as network communication, file manipulation, process injection, and many more.

The beauty of CAPA is that it encapsulates years of reverse engineering knowledge into an automated tool, making it accessible even to those who may not be experts in reverse engineering. This can be incredibly useful for analysts and security professionals, allowing them to quickly understand potentially malicious software's functionality without manually reverse engineering the code.

This tool is useful in malware analysis and threat hunting, where understanding a binary's capabilities is important for incident response and defensive measures.

Learning Objectives

  • Explore what CAPA is
  • Learn how to use CAPA effectively
  • Understand common fields and results rendered by using the tool
  • Use the tool to identify the program's potential activity

Room Prerequisites

Familiarity with the ATT&CK framework is recommended but not mandatory before starting the room. You may check the room associated with it:

Lab Machine

Press the Start Lab Machine button below.

We will use the tool inside the machine attached to this task. The machine will start in a split-screen view. If you opt to access the machine via Remote Desktop (), you can use the following credentials:

Credentials

Only needed if you're using your own machine.

Username
Administrator
Password
letmein123!
IP address
MACHINE_IP
Connection via
RDP

Note that inside this , we have installed CAPA so you can get a feel for running the tool and experiment further with the different command parameters. Each CAPA run on this cryptbot.bin sample takes about 6 to 8 minutes on the attached VM.

You can keep reading while it runs, and we have also pre-processed the reports such as the following:

  • cryptbot.txt
  • cryptbot_vv.txt
  • cryptbot_vv.json

We placed them under the directory C:\Users\Administrator\Desktop\capa. Almost all the files we will use in this room are in the said directory.

Answer the questions below

I'm excited to learn more about CAPA!