Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Tools/GitHubGitHub/mandiant/capa
Statische AnalyseDynamische Analyse (Sandboxing)Reverse EngineeringMalware-AnalyseBinäranalyseBedrohungsanalyse
GitHubmandiant/capa

capa

Regelbasiertes statisches und dynamisches Analyse-Tool, das Fähigkeiten in PE-, ELF-, .NET- und Shellcode-Dateien identifiziert und sie MITRE ATT&CK-Techniken zur Malware-Triage zuordnet.

Repository anzeigen
6.1k714vor 2 TagenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Webseite

Webseite | Download | Web-Interface

PyPI - Python Version Last release Number of rules CI status Downloads License


capa erkennt Fähigkeiten in ausführbaren Dateien. Sie führen es gegen eine PE-, ELF-, .NET-Modul-, Shellcode-Datei oder einen Sandbox-Bericht aus, und es teilt Ihnen mit, was es denkt, dass das Programm tun kann. Beispielsweise könnte es vorschlagen, dass die Datei eine Hintertür ist, in der Lage ist, Dienste zu installieren, oder sich auf HTTP zur Kommunikation verlässt.

Um capa-Ergebnisse interaktiv in Ihrem Browser zu inspizieren, verwenden Sie den capa Explorer Web.

Wenn Sie capa-Regeln inspizieren oder erstellen möchten, besuchen Sie das capa-rules-Repository. Andernfalls lesen Sie weiter.

Nachfolgend finden Sie eine Liste unserer capa-Blogbeiträge mit weiteren Details.

Beispiel capa-Ausgabe```

$ capa.exe suspicious.exe

+--------------------+------------------------------------------------------------------------+ | ATT&CK Tactic | ATT&CK Technique | |--------------------+------------------------------------------------------------------------| | DEFENSE EVASION | Obfuscated Files or Information [T1027] | | DISCOVERY | Query Registry [T1012] | | | System Information Discovery [T1082] | | EXECUTION | Command and Scripting Interpreter::Windows Command Shell [T1059.003] | | | Shared Modules [T1129] | | EXFILTRATION | Exfiltration Over C2 Channel [T1041] | | PERSISTENCE | Create or Modify System Process::Windows Service [T1543.003] | +--------------------+------------------------------------------------------------------------+

+-------------------------------------------+-------------------------------------------------+ | CAPABILITY | NAMESPACE | |-------------------------------------------+-------------------------------------------------| | read and send data from client to server | c2/file-transfer | | execute shell command and capture output | c2/shell | | receive data (2 matches) | communication | | send data (6 matches) | communication | | connect to HTTP server (3 matches) | communication/http/client | | send HTTP request (3 matches) | communication/http/client | | create pipe | communication/named-pipe/create | | get socket status (2 matches) | communication/socket | | receive data on socket (2 matches) | communication/socket/receive | | send data on socket (3 matches) | communication/socket/send | | connect TCP socket | communication/socket/tcp | | encode data using Base64 | data-manipulation/encoding/base64 | | encode data using XOR (6 matches) | data-manipulation/encoding/xor | | run as a service | executable/pe | | get common file path (3 matches) | host-interaction/file-system | | read file | host-interaction/file-system/read | | write file (2 matches) | host-interaction/file-system/write | | print debug messages (2 matches) | host-interaction/log/debug/write-event | | resolve DNS | host-interaction/network/dns/resolve | | get hostname | host-interaction/os/hostname | | create process | host-interaction/process/create | | create registry key | host-interaction/registry/create | | create service | host-interaction/service/create | | create thread | host-interaction/thread/create | | persist via Windows service | persistence/service | +-------------------------------------------+-------------------------------------------------+

root@kitploit:~
# Download und Verwendung

Laden Sie stabile Versionen der eigenständigen capa-Binärdateien [hier](https://github.com/mandiant/capa/releases) herunter. Sie können die eigenständigen Binärdateien ohne Installation ausführen. capa ist ein Befehlszeilenwerkzeug, das im Terminal ausgeführt werden sollte.

Um capa als Bibliothek zu verwenden oder in ein anderes Werkzeug zu integrieren, finden Sie weitere Einrichtungsanweisungen in [doc/installation.md](https://github.com/mandiant/capa/blob/master/doc/installation.md).

**Dokumentation:** [Verwendung und Tipps](https://github.com/mandiant/capa/blob/HEAD/doc/usage.md) · [Installation](https://github.com/mandiant/capa/blob/HEAD/doc/installation.md) · [Einschränkungen](https://github.com/mandiant/capa/blob/HEAD/doc/limitations.md) · [FAQ](https://github.com/mandiant/capa/blob/HEAD/doc/faq.md)

# capa Explorer Web
Der [capa Explorer Web](https://mandiant.github.io/capa/explorer/) ermöglicht es Ihnen, capa-Ergebnisse interaktiv in Ihrem Webbrowser zu erkunden. Neben der Online-Version können Sie eine eigenständige HTML-Datei für die lokale Offline-Nutzung herunterladen.

![capa Explorer Web screenshot](https://raw.githubusercontent.com/mandiant/capa/master/doc/img/capa_web_explorer.png)

Weitere Details zur Weboberfläche finden Sie im [capa Explorer Web README](https://github.com/mandiant/capa/blob/master/web/explorer/README.md).

# Beispiel

Im obigen Beispielausführen führen wir capa gegen eine unbekannte Binärdatei (`suspicious.exe`) aus, und das Werkzeug berichtet, dass das Programm HTTP-Anfragen senden, Daten mittels XOR und Base64 dekodieren, Dienste installieren und neue Prozesse starten kann. Zusammengenommen lässt dies darauf schließen, dass `suspicious.exe` eine persistente Hintertür sein könnte. Daher könnte unser nächster Analyseschritt darin bestehen, `suspicious.exe` in einer Sandbox auszuführen und zu versuchen, den Command-and-Control-Server wiederherzustellen.

## detaillierte Ergebnisse

Durch Übergabe des `-vv`-Flags (für sehr ausführlich) gibt capa genau an, wo es Belege für diese Fähigkeiten gefunden hat. Dies ist aus mindestens zwei Gründen nützlich:

  - es hilft zu erklären, warum wir den Ergebnissen vertrauen sollten, und ermöglicht uns, die Schlussfolgerungen zu überprüfen, und
  - es zeigt, wo in der Binärdatei ein erfahrener Analyst mit IDA Pro studieren könnte```
$ capa.exe suspicious.exe -vv
...
execute shell command and capture output
namespace   c2/shell
author      [email protected]
scope       function
att&ck      Execution::Command and Scripting Interpreter::Windows Command Shell [T1059.003]
references  https://docs.microsoft.com/en-us/windows/win32/api/processthreadsapi/ns-processthreadsapi-startupinfoa
function @ 0x4011C0
  and:
    match: create a process with modified I/O handles and window @ 0x4011C0
      and:
        number: 257 = STARTF_USESTDHANDLES | STARTF_USESHOWWINDOW @ 0x4012B8
        or:
          number: 68 = StartupInfo.cb (size) @ 0x401282
        or: = API functions that accept a pointer to a STARTUPINFO structure
          api: kernel32.CreateProcess @ 0x401343
    match: create pipe @ 0x4011C0
      or:
        api: kernel32.CreatePipe @ 0x40126F, 0x401280
    optional:
      match: create thread @ 0x40136A, 0x4013BA
        or:
          and:
            os: windows
            or:
              api: kernel32.CreateThread @ 0x4013D7
        or:
          and:
            os: windows
            or:
              api: kernel32.CreateThread @ 0x401395
    or:
      string: "cmd.exe" @ 0x4012FD
...

dynamische capa

capa unterstützt auch die Erkennung dynamischer Fähigkeiten für mehrere Sandboxen, darunter:

  • CAPE (unterstützte Berichtsformate: .json, .json_, .json.gz)
  • DRAKVUF (unterstützte Berichtsformate: .log, .log.gz)
  • VMRay (unterstützte Berichtsformate: Analyse-Archiv .zip)

Um diese Funktion zu nutzen, reichen Sie Ihre Datei in einer unterstützten Sandbox ein und laden Sie dann den generierten Bericht herunter und führen Sie capa dagegen aus. Diese Funktion ermöglicht es capa, Fähigkeiten mit dynamischen und statischen Merkmalen abzugleichen, die die Sandbox während der Ausführung erfasst hat.

Hier ist ein Beispiel für die Ausführung von capa gegen eine gepackte Datei und dann die Ausführung von capa gegen den CAPE-Bericht, der für dieselbe gepackte Datei erstellt wurde:```yaml $ capa 05be49819139a3fdcdbddbdefd298398779521f3d68daa25275cc77508e42310.exe WARNING:capa.capabilities.common:-------------------------------------------------------------------------------- WARNING:capa.capabilities.common: This sample appears to be packed. WARNING:capa.capabilities.common: WARNING:capa.capabilities.common: Packed samples have often been obfuscated to hide their logic. WARNING:capa.capabilities.common: capa cannot handle obfuscation well using static analysis. This means the results may be misleading or incomplete. WARNING:capa.capabilities.common: If possible, you should try to unpack this input file before analyzing it with capa. WARNING:capa.capabilities.common: Alternatively, run the sample in a supported sandbox and invoke capa against the report to obtain dynamic analysis results. WARNING:capa.capabilities.common: WARNING:capa.capabilities.common: Identified via rule: (internal) packer file limitation WARNING:capa.capabilities.common: WARNING:capa.capabilities.common: Use -v or -vv if you really want to see the capabilities identified by capa. WARNING:capa.capabilities.common:--------------------------------------------------------------------------------

$ capa 05be49819139a3fdcdbddbdefd298398779521f3d68daa25275cc77508e42310.json

┍━━━━━━━━━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┑ │ ATT&CK Tactic │ ATT&CK Technique │ ┝━━━━━━━━━━━━━━━━━━━━━━━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┥ │ CREDENTIAL ACCESS │ Credentials from Password Stores T1555 │ ├────────────────────────┼────────────────────────────────────────────────────────────────────────────────────┤ │ DEFENSE EVASION │ File and Directory Permissions Modification T1222 │ │ │ Modify Registry T1112 │ │ │ Obfuscated Files or Information T1027 │ │ │ Virtualization/Sandbox Evasion::User Activity Based Checks T1497.002 │ ├────────────────────────┼────────────────────────────────────────────────────────────────────────────────────┤ │ DISCOVERY │ Account Discovery T1087 │ │ │ Application Window Discovery T1010 │ │ │ File and Directory Discovery T1083 │ │ │ Query Registry T1012 │ │ │ System Information Discovery T1082 │ │ │ System Location Discovery::System Language Discovery T1614.001 │ │ │ System Owner/User Discovery T1033 │ ├────────────────────────┼────────────────────────────────────────────────────────────────────────────────────┤ │ EXECUTION │ System Services::Service Execution T1569.002 │ ├────────────────────────┼────────────────────────────────────────────────────────────────────────────────────┤ │ PERSISTENCE │ Boot or Logon Autostart Execution::Registry Run Keys / Startup Folder T1547.001 │ │ │ Boot or Logon Autostart Execution::Winlogon Helper DLL T1547.004 │ │ │ Create or Modify System Process::Windows Service T1543.003 │ ┕━━━━━━━━━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┙

┍━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┑ │ Capability │ Namespace │ ┝━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┥ │ check for unmoving mouse cursor (3 matches) │ anti-analysis/anti-vm/vm-detection │ │ gather bitkinex information │ collection/file-managers │ │ gather classicftp information │ collection/file-managers │ │ gather filezilla information │ collection/file-managers │ │ gather total-commander information │ collection/file-managers │ │ gather ultrafxp information │ collection/file-managers │ │ resolve DNS (23 matches) │ communication/dns │ │ initialize Winsock library (7 matches) │ communication/socket │ │ act as TCP client (3 matches) │ communication/tcp/client │ │ create new key via CryptAcquireContext │ data-manipulation/encryption │ │ encrypt or decrypt via WinCrypt │ data-manipulation/encryption │ │ hash data via WinCrypt │ data-manipulation/hashing │ │ initialize hashing via WinCrypt │ data-manipulation/hashing │ │ hash data with MD5 │ data-manipulation/hashing/md5 │ │ generate random numbers via WinAPI │ data-manipulation/prng │ │ extract resource via kernel32 functions (2 matches) │ executable/resource │ │ interact with driver via control codes (2 matches) │ host-interaction/driver │ │ get Program Files directory (18 matches) │ host-interaction/file-system │ │ get common file path (575 matches) │ host-interaction/file-system │ │ create directory (2 matches) │ host-interaction/file-system/create │ │ delete file │ host-interaction/file-system/delete │ │ get file attributes (122 matches) │ host-interaction/file-system/meta │ │ set file attributes (8 matches) │ host-interaction/file-system/meta │ │ move file │ host-interaction/file-system/move │ │ find taskbar (3 matches) │ host-interaction/gui/taskbar/find │ │ get keyboard layout (12 matches) │ host-interaction/hardware/keyboard │ │ get disk size │ host-interaction/hardware/storage │ │ get hostname (4 matches) │ host-interaction/os/hostname │ │ allocate or change RWX memory (3 matches) │ host-interaction/process/inject │ │ query or enumerate registry key (3 matches) │ host-interaction/registry │ │ query or enumerate registry value (8 matches) │ host-interaction/registry │ │ delete registry key │ host-interaction/registry/delete │ │ start service │ host-interaction/service/start │ │ get session user name │ host-interaction/session │ │ persist via Run registry key │ persistence/registry/run │ │ persist via Winlogon Helper DLL registry key │ persistence/registry/winlogon-helper │ │ persist via Windows service (2 matches) │ persistence/service │ ┕━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┙

root@kitploit:~
# capa rules
capa verwendet eine Sammlung von Regeln, um Fähigkeiten innerhalb eines Programms zu identifizieren. Diese Regeln sind leicht zu schreiben, selbst für Neueinsteiger in die Reverse-Engineering. Durch das Erstellen von Regeln können Sie die Fähigkeiten erweitern, die capa erkennt. In mancher Hinsicht sind capa-Regeln eine Mischung aus den Formaten OpenIOC, Yara und YAML.

Hier ist ein Beispiel einer von capa verwendeten Regel:```yaml
rule:
  meta:
    name: create TCP socket
    namespace: communication/socket/tcp
    authors:
      - [email protected]
      - [email protected]
      - [email protected]
    scopes:
      static: basic block
      dynamic: call
    mbc:
      - Communication::Socket Communication::Create TCP Socket [C0001.011]
    examples:
      - Practical Malware Analysis Lab 01-01.dll_:0x10001010
  features:
    - or:
      - and:
        - number: 6 = IPPROTO_TCP
        - number: 1 = SOCK_STREAM
        - number: 2 = AF_INET
        - or:
          - api: ws2_32.socket
          - api: ws2_32.WSASocket
          - api: socket
      - property/read: System.Net.Sockets.TcpClient::Client

Das Repository github.com/mandiant/capa-rules enthält Hunderte von Standardregeln, die mit capa ausgeliefert werden. Bitte lernen Sie, Regeln zu schreiben, und tragen Sie neue Einträge bei, wenn Sie interessante Techniken in Malware finden.

IDA Pro Plugin: capa explorer

Wenn Sie IDA Pro verwenden, können Sie das Plugin capa explorer nutzen. Der capa explorer hilft Ihnen, interessante Bereiche eines Programms zu identifizieren und neue capa-Regeln zu erstellen, indem er Merkmale verwendet, die direkt aus Ihrer IDA Pro-Datenbank extrahiert werden. Er nutzt auch Ihre lokalen Änderungen an der .idb, um bessere Merkmale zu extrahieren, wie zum Beispiel, wenn Sie eine globale Variable umbenennen, die eine dynamisch aufgelöste API-Adresse enthält.

capa + IDA Pro Integration

Ghidra-Integration

capa unterstützt die Verwendung von Ghidra (über PyGhidra) als Backend zur Merkmalsextraktion. Dadurch können Sie capa gegen Binärdateien ausführen, die Ghidras Analyse-Engine verwenden.

Sie können capa-Ergebnisse in der Ghidra-Benutzeroberfläche mit capa explorer for Ghidra ausführen und anzeigen.

Sie können capa auch über die Befehlszeile mit dem Ghidra-Backend ausführen.

Blogbeiträge

  • Riding Dragons: capa Harnesses Ghidra
  • Dynamic capa: Exploring Executable Run-Time Behavior with the CAPE Sandbox
  • capa v4: casting a wider .NET (.NET support)
  • ELFant in the Room – capa v3 (ELF support)
  • capa 2.0: Better, Stronger, Faster
  • capa: Automatically Identify Malware Capabilities

Weitere Informationen

capa

  • Installation
  • Verwendung
  • Einschränkungen
  • Leitfaden für Mitwirkende

capa-Regeln

  • capa-rules Repository
  • capa-rules Regelformat

capa-Testdateien

Das capa-testfiles Repository enthält die Daten, mit denen wir capas Code und Regeln testen

Mailingliste

Abonnieren Sie die FLARE-Mailingliste für Community-Ankündigungen! Senden Sie eine E-Mail mit dem Betreff „subscribe“ an [email protected].

Tool herunterladen