
Инструмент статического и динамического анализа на основе правил, который выявляет возможности в файлах PE, ELF, .NET и shellcode, сопоставляя их с техниками MITRE ATT&CK для триажа вредоносного ПО.
capa определяет возможности исполняемых файлов. Запустите его против PE, ELF, .NET-модуля, файла shellcode или отчёта песочницы, и он расскажет, что, по его мнению, может делать программа. Например, он может предположить, что файл является бэкдором, способен устанавливать службы или использует HTTP для связи.
Чтобы интерактивно просматривать результаты capa в браузере, используйте capa Explorer Web.
Если вы хотите просматривать или писать правила capa, переходите в репозиторий capa-rules. В противном случае читайте дальше.
Ниже вы найдёте список наших записей в блоге capa с дополнительными подробностями.
$ 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 | +-------------------------------------------+-------------------------------------------------+
# загрузка и использование
Загружайте стабильные версии автономных бинарных файлов capa [здесь](https://github.com/mandiant/capa/releases). Вы можете запускать автономные бинарные файлы без установки. capa — это инструмент командной строки, который следует запускать из терминала.
Чтобы использовать capa как библиотеку или интегрировать с другим инструментом, смотрите [doc/installation.md](https://github.com/mandiant/capa/blob/master/doc/installation.md) для дальнейших инструкций по установке.
**Документация:** [Использование и советы](https://github.com/mandiant/capa/blob/master/doc/usage.md) · [Установка](https://github.com/mandiant/capa/blob/master/doc/installation.md) · [Ограничения](https://github.com/mandiant/capa/blob/master/doc/limitations.md) · [ЧаВО](https://github.com/mandiant/capa/blob/master/doc/faq.md)
# capa Explorer Web
[capa Explorer Web](https://mandiant.github.io/capa/explorer/) позволяет вам интерактивно изучать результаты capa в вашем веб-браузере. Помимо онлайн-версии, вы можете загрузить автономный HTML-файл для локального использования без подключения к интернету.

Более подробная информация о веб-интерфейсе доступна в [README capa Explorer Web](https://github.com/mandiant/capa/blob/master/web/explorer/README.md).
# пример
В приведённом выше примере вывода мы запускаем capa против неизвестного бинарного файла (`suspicious.exe`), и инструмент сообщает, что программа может отправлять HTTP-запросы, декодировать данные с помощью XOR и Base64, устанавливать службы и порождать новые процессы. В совокупности это наводит на мысль, что `suspicious.exe` может быть постоянным бэкдором. Поэтому следующим шагом анализа может быть запуск `suspicious.exe` в изолированной среде и попытка восстановить сервер управления и контроля.
## подробные результаты
При передаче флага `-vv` (для очень подробного вывода) capa сообщает точное место, где были найдены доказательства этих возможностей. Это полезно как минимум по двум причинам: