Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
capa — أداة تحليل ثابت وديناميكي قائمة على قواعد تحدد القدرات في ملفات PE وELF و.NET وshellcode، وتربطها بتقنيات MITRE ATT&CK لفرز البرامج الضارة. | Kitploit
أدوات/GitHubGitHub/mandiant/capa
التحليل الثابتالتحليل الديناميكي (عزل)الهندسة العكسيةتحليل البرمجيات الخبيثةتحليل الملفات الثنائيةاستخبارات التهديدات
GitHubmandiant/capa

capa

أداة تحليل ثابت وديناميكي قائمة على قواعد تحدد القدرات في ملفات PE وELF و.NET وshellcode، وتربطها بتقنيات MITRE ATT&CK لفرز البرامج الضارة.

عرض المستودع
6.1k714منذ 2 أيامتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
الموقع الإلكتروني

الموقع الإلكتروني | تحميل | واجهة الويب

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


يكتشف capa القدرات في ملفات التنفيذ. تقوم بتشغيله على ملف PE أو ELF أو وحدة .NET أو ملف شيل كود أو تقرير صندوق رمل، ويخبرك بما يعتقد أن البرنامج يمكنه فعله. على سبيل المثال، قد يقترح أن الملف هو باب خلفي، أو قادر على تثبيت الخدمات، أو يعتمد على HTTP للاتصال.

لفحص نتائج capa بشكل تفاعلي في متصفحك، استخدم capa Explorer Web.

إذا كنت ترغب في فحص أو كتابة قواعد capa، تفضل إلى مستودع capa-rules. وإلا، تابع القراءة.

ستجد أدناه قائمة بمنشورات مدونتنا عن capa مع مزيد من التفاصيل.

مثال على إخراج 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 | +-------------------------------------------+-------------------------------------------------+

root@kitploit:~
# التنزيل والاستخدام

قم بتنزيل الإصدارات المستقرة من ملفات 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/HEAD/doc/usage.md) · [التثبيت](https://github.com/mandiant/capa/blob/HEAD/doc/installation.md) · [القيود](https://github.com/mandiant/capa/blob/HEAD/doc/limitations.md) · [الأسئلة الشائعة](https://github.com/mandiant/capa/blob/HEAD/doc/faq.md)

# مستكشف الويب لـ capa

يتيح لك [مستكشف الويب لـ capa](https://mandiant.github.io/capa/explorer/) استكشاف نتائج capa بشكل تفاعلي في متصفح الويب الخاص بك. بالإضافة إلى الإصدار عبر الإنترنت، يمكنك تنزيل ملف HTML مستقل للاستخدام المحلي دون اتصال.

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

مزيد من التفاصيل حول واجهة المستخدم على الويب متاحة في [ملف README لمستكشف الويب لـ capa](https://github.com/mandiant/capa/blob/master/web/explorer/README.md).

# مثال

في المخرجات النموذجية أعلاه، قمنا بتشغيل capa على ملف ثنائي غير معروف (`suspicious.exe`)،
وتقوم الأداة بالإبلاغ أن البرنامج يمكنه إرسال طلبات HTTP، وفك تشفير البيانات عبر XOR و Base64،
وتثبيت الخدمات، واستحداث عمليات جديدة.
بأخذ هذا معًا، يجعلنا نعتقد أن `suspicious.exe` قد يكون بابًا خلفيًا دائمًا.
لذلك، قد تكون خطوة التحليل التالية هي تشغيل `suspicious.exe` في صندوق رمل ومحاولة استعادة خادم القيادة والتحكم.

## نتائج مفصلة

بتمرير العلامة `-vv` (للمخرجات المطولة جدًا)، يقوم capa بالإبلاغ بالضبط عن مكان العثور على دليل هذه القدرات.
هذا مفيد لسببين على الأقل:

  - يساعد في شرح لماذا يجب أن نثق في النتائج، ويمكننا من التحقق من الاستنتاجات، و
  - يظهر أين داخل الملف الثنائي قد يدرس محلل متمرس باستخدام IDA Pro```
$ 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
...

dynamic capa (الكشف الديناميكي)

تدعم أداة capa أيضًا الكشف الديناميكي عن القدرات لأنظمة الحماية الرملية المتعددة بما في ذلك:

  • CAPE (صيغ التقارير المدعومة: .json, .json_, .json.gz)
  • DRAKVUF (صيغ التقارير المدعومة: .log, .log.gz)
  • VMRay (صيغ التقارير المدعومة: أرشيف التحليل .zip)

لاستخدام هذه الميزة، قم بإرسال ملفك إلى نظام حماية رملي مدعوم ثم قم بتنزيل تقرير النتائج وتشغيل capa عليه. تتيح هذه الميزة لـ capa مطابقة القدرات مع الميزات الديناميكية والثابتة التي التقطها نظام الحماية الرملي أثناء التنفيذ.

فيما يلي مثال لتشغيل capa على ملف مضغوط، ثم تشغيل capa على تقرير CAPE المُنشأ لنفس الملف المضغوط:```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
تستخدم capa مجموعة من القواعد للتعرف على الإمكانيات داخل البرنامج. وهذه القواعد سهلة الكتابة، حتى للمبتدئين في الهندسة العكسية. من خلال تأليف القواعد، يمكنك توسيع الإمكانيات التي تتعرف عليها capa. في بعض النواحي، تعتبر قواعد capa مزيجًا من تنسيقات OpenIOC وYara وYAML.

إليك مثال لقاعدة تستخدمها capa:```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

يحتوي مستودع github.com/mandiant/capa-rules على مئات القواعد القياسية التي يتم توزيعها مع capa. يُرجى تعلم كتابة القواعد والمساهمة بإدخالات جديدة عند العثور على تقنيات مثيرة للاهتمام في البرامج الضارة.

إضافة IDA Pro: capa explorer

إذا كنت تستخدم IDA Pro، فيمكنك استخدام إضافة capa explorer. يساعدك capa explorer في تحديد المناطق المثيرة للاهتمام في البرنامج وبناء قواعد capa جديدة باستخدام ميزات مستخرجة مباشرة من قاعدة بيانات IDA Pro الخاصة بك. كما يستخدم تغييراتك المحلية على ملف .idb لاستخراج ميزات أفضل، مثل عند إعادة تسمية متغير عام يحتوي على عنوان API تم حله ديناميكيًا.

capa + IDA Pro integration

تكامل Ghidra

تدعم capa استخدام Ghidra (عبر PyGhidra) كخلفية لاستخراج الميزات. يتيح لك ذلك تشغيل capa على الثنائيات باستخدام محرك تحليل Ghidra.

يمكنك تشغيل وعرض نتائج capa في واجهة Ghidra باستخدام capa explorer لـ Ghidra.

يمكنك أيضًا تشغيل capa من سطر الأوامر باستخدام خلفية Ghidra.

منشورات المدونة

  • ركوب التنانين: capa تسخر Ghidra
  • capa الديناميكي: استكشاف سلوك وقت التشغيل للتنفيذيات مع صندوق رمل CAPE
  • capa v4: توسيع نطاق .NET
  • ELFant في الغرفة – capa v3
  • capa 2.0: أفضل، أقوى، أسرع
  • capa: التعرف التلقائي على إمكانيات البرامج الضارة

معلومات إضافية

capa

  • التثبيت
  • الاستخدام
  • القيود
  • دليل المساهمة

قواعد capa

  • مستودع capa-rules
  • تنسيق قواعد capa-rules

ملفات اختبار capa

يحتوي مستودع capa-testfiles على البيانات التي نستخدمها لاختبار كود capa وقواعده.

القائمة البريدية

اشترك في القائمة البريدية FLARE للحصول على الإعلانات المجتمعية! أرسل بريدًا إلكترونيًا بكلمة "اشترك" إلى [email protected].

تنزيل الأداة