
Malwoverview هي أداة استجابة أولية لصيد التهديدات عبر VirusTotal وHybrid Analysis وURLHaus وPolyswarm وMalshare وAlien Vault وMalpedia وMalware Bazaar وThreatFox وTriage وIPInfo وShodan وAbuseIPDB وGreyNoise وURLScan.io وWhois/RDAP وNIST وVulnCheck. تدعم الأداة إثراء LLM، واستخراج IOC، وفحص YARA، وتحليل Android.
Copyright (C) 2018-2026 Alexandre Borges (https://exploitreversing.com)
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
See GNU Public License on <http://www.gnu.org/licenses/>.
ملاحظة مهمة: لا يرسل Malwoverview العيّنات إلى أي نقطة نهاية افتراضيًا،
لذا فهو يحترم اتفاقيات عدم الإفصاح (NDAs) المحتملة. توجد خيارات محدّدة
تُرسل العيّنات صراحةً، ولكن هذه الخيارات موضّحة في ملف المساعدة.
Malwoverview.py هو أداة استجابة أولية لمطاردة التهديدات، تُجري فرزًا أوليًا وسريعًا لعينات البرمجيات الخبيثة وعناوين URL وعناوين IP والنطاقات وعائلات البرمجيات الخبيثة ومؤشرات الاختراق (IOCs) وقيم التجزئة. بالإضافة إلى ذلك، يمكن لـ Malwoverview الحصول على تقارير السلوك الديناميكي والثابت، وإرسال وتنزيل العيّنات من عدة نقاط نهاية. باختصار، يعمل كعميل لأبرز صناديق الرمل (sandboxes) الموجودة.
تهدف هذه الأداة إلى:
Alexandre Borges (https://github.com/alexandreborges) | مالك المشروع والمطوّر الرئيسي
Artur Marzano (https://github.com/Macmod) | مطوّر مشارك رئيسي
Corey Forman (https://github.com/digitalsleuth) | مسؤول عن تكامل REMnux
Christian Clauss (https://github.com/cclauss)
منذ الإصدار 6.0.0، يوجد فرع جديد باسم "dev". يجب تقديم جميع المساهمات والمقترحات إلى هذا الفرع "dev".
يجب على المحترفين الراغبين في المساهمة فتح issue تشرح التحسين المقترح وكيف سيجعل المشروع أفضل. وبمجرد قبولها، يُصرَّح له/لها بتقديم PR (Pull Request)، والذي سيتم اختباره.
وبمجرد اختبار جميع التغييرات، تُنسخ نسخة Malwoverview الجديدة إلى الفرع master ويتم إنشاء حزمة Python جديدة.
تم اختبار هذه الأداة على REMnux وUbuntu وKali Linux وmacOS وWindows. يمكن تثبيت Malwoverview عن طريق تنفيذ الأمر التالي:
* pip3.11 install git+https://github.com/alexandreborges/malwoverview
or...
* python -m pip install -U malwoverview
إذا كنت تريد تثبيت Malwoverview على macOS، فيجب عليك تنفيذ الأوامر التالية:
* /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
* brew install libmagic
* pip3 install urllib3==1.26.6
* pip3 install -U malwoverview
* أضف دليل Python الثنائي إلى متغير PATH بتحرير ملف .bash_profile في مجلدك الرئيسي.
مثال:
export PATH=$PATH:/Users/alexandreborges/Library/Python/3.9/bin
* نفّذ: . ./.bash_profile
إذا كنت تثبّت Malwoverview على Windows، فتأكد من تحقق الشروط التالية
بعد تثبيت Malwoverview:
* python-magic غير مثبت. (pip show python-magic)
* python-magic-bin مثبت. (pip show python-magic-bin)
تتطلب بعض الميزات تبعيات اختيارية. ثبّتها حسب الحاجة:
* YARA scanning: pip install malwoverview[yara]
* Signature checking: pip install malwoverview[signature]
* PDF report export: pip install malwoverview[pdf]
* TUI dashboard: pip install malwoverview[tui]
* All optional: pip install malwoverview[all]
من الممكن البدء في استخدام Malwoverview دون إدراج جميع مفاتيح API. ومع ذلك، لاستخدام جميع خيارات Malwoverview، يجب عليك إدراج واجهة برمجة التطبيقات الخاصة بكل خدمة من الخدمات التالية: VirusTotal وHybrid Analysis وURLHaus وMalshare وPolyswarm وAlien Vault وMalpedia وTriage، وIPInfo وMalware Bazaar وThreatFox وVulnCheck وShodan وAbuseIPDB وGreyNoise وURLScan.io في ملف الإعداد .malwapi.conf، الذي يجب أن يكون موجودًا (أو يتم إنشاؤه) في المجلد الرئيسي (/home/[username] أو /root على Linux، وC:\Users[username] على Windows. بدلاً من ذلك، يمكن للمستخدمين إنشاء ملف إعداد مخصص وتحديده باستخدام الخيار -c.
للتأكيد: إذا لم يكن ملف .malwapi.conf موجودًا في مجلدك الرئيسي، فيجب عليك إنشاءه!
ملاحظة خاصة حول Alien Vault: من الضروري الاشتراك في النبضات (pulses) على موقع Alien Vault قبل استخدام الخيار -n 1.
ملاحظة خاصة حول Malshare وShodan: تتطلب كلتا الخدمتين إرسال مفتاح API الخاص بهما في عنوان URL نفسه، ولا توثّق أي منهما بديلاً عبر ترويسة (header) أو جسم طلب (request body) (نقطة نهاية hashlookup في Malshare هي POST، لكن المفتاح لا يزال يُنقل في سلسلة الاستعلام). يستبدل Malwoverview هذين المفتاحين بـ [REDACTED] في كل رسالة خطأ يطبعها، حتى لا يظهرا في المخرجات التي تلصقها في تقرير خطأ، لكن المفتاح لا يزال يُسجَّل في سجلات الوصول لتلك الخدمات وفي أي بروكسي ينهي TLS بينك وبينها. تعامل مع المفتاحين باعتبارهما مكشوفين لمشغّل الخدمة وبدّلهما كما تفعل مع أي بيانات اعتماد أخرى.
يتبع ملف الإعداد .malwapi.conf الصيغة التالية:
[VIRUSTOTAL]
VTAPI =
[HYBRID-ANALYSIS]
HAAPI =
[MALSHARE]
MALSHAREAPI =
[HAUSSUBMIT]
HAUSSUBMITAPI =
[POLYSWARM]
POLYAPI =
[ALIENVAULT]
ALIENAPI =
[MALPEDIA]
MALPEDIAAPI =
[TRIAGE]
TRIAGEAPI =
[IPINFO]
IPINFOAPI =
[BAZAAR]
BAZAARAPI =
[THREATFOX]
THREATFOXAPI =
[VULNCHECK]
VULNCHECKAPI =
[URLHAUS]
URLHAUSAPI =
[SHODAN]
SHODANAPI =
[ABUSEIPDB]
ABUSEIPDBAPI =
[GREYNOISE]
GREYNOISEAPI =
[URLSCANIO]
URLSCANIOAPI =
[LLM]
PROVIDER = claude
CLAUDE_API_KEY =
CLAUDE_MODEL = claude-opus-4-8
GEMINI_API_KEY =
OPENAI_API_KEY =
OPENAI_MODEL = gpt-4o-mini
OLLAMA_URL = http://localhost:11434
OLLAMA_MODEL = llama3.1
يمكن طلب مفاتيح واجهات برمجة التطبيقات من مواقع الخدمات المعنية:
يدعم Malwoverview إثراء التهديدات المدعوم بـ LLM عبر الخيار --enrich. بعد أي استعلام، يُلحَق تقييم تهديدات مولّد بالذكاء الاصطناعي يتضمن مستوى المخاطر، وتحديد عائلة البرمجيات الخبيثة، وربط MITRE ATT&CK، وتوصيات المحلّلين.
يتم دعم ثلاثة مزوّدين. قم بتهيئة أحدهم في قسم [LLM] من ملف .malwapi.conf:
18. Anthropic Claude (مدفوع، أفضل جودة)
أفضل النتائج لتحليل معلومات التهديدات. يحدد عائلات البرمجيات الخبيثة
بدقة، ويربط تقنيات MITRE ATT&CK بدقة، ويقدّم توصيات
قابلة للتنفيذ بناءً على معرفة حقيقية بالتهديدات.
الإعداد:
a) أنشئ حساب API على https://console.anthropic.com/ (منفصل عن
اشتراك claude.ai)
b) انتقل إلى Settings → Billing → Add credit (حد أدنى $5، الدفع حسب الاستخدام)
c) انتقل إلى Settings → API Keys → Create Key
d) انسخ المفتاح (يبدأ بـ sk-ant-api03-...)
e) قم بتهيئة .malwapi.conf:
[LLM]
PROVIDER = claude
CLAUDE_API_KEY = sk-ant-api03-your-key-here
CLAUDE_MODEL = claude-opus-4-8
CLAUDE_MODEL اختياري وقيمته الافتراضية claude-opus-4-8. الخيارات الشائعة:
- claude-opus-4-8 — أفضل جودة (الافتراضي)
- claude-sonnet-4-6 — توازن قوي بين الجودة والتكلفة
- claude-haiku-4-5 — الأسرع والأرخص
التكلفة: ~$0.02-0.04 لكل استدعاء إثراء باستخدام نموذج Opus الافتراضي (أقل مع
Sonnet أو Haiku). رصيد $5 يوفر حوالي 125-250 استدعاء إثراء عبر Opus.
19. Google Gemini (يتطلب فوترة)
نتائج بجودة جيدة. يتطلب حساب فوترة على Google Cloud.
الإعداد:
a) انتقل إلى https://aistudio.google.com/apikeys
b) سجّل الدخول باستخدام حساب Google
c) انقر على Create API Key ثم انسخ المفتاح
d) فعّل الفوترة: انقر على رابط المشروع بجوار مفتاحك → Google Cloud
Console → Billing → Link a billing account
e) قم بتهيئة .malwapi.conf:
[LLM]
PROVIDER = gemini
GEMINI_API_KEY = your-gemini-key-here
GEMINI_MODEL = gemini-2.0-flash
ملاحظة: المستوى المجاني له حد معدل منخفض (2-5 طلبات في الدقيقة). للحصول على
حدود أعلى، فعّل الفوترة حسب الاستخدام.
20. OpenAI (مدفوع)
نتائج بجودة جيدة باستخدام نماذج GPT. يتطلب حساب OpenAI مع
رصيد API.
الإعداد:
a) أنشئ حسابًا على https://platform.openai.com/signup
b) انتقل إلى https://platform.openai.com/api-keys → Create new secret key
c) أضف الفوترة على https://platform.openai.com/settings/organization/billing
d) قم بتهيئة .malwapi.conf:
[LLM]
PROVIDER = openai
OPENAI_API_KEY = sk-your-key-here
OPENAI_MODEL = gpt-4o-mini
النماذج المتاحة:
- gpt-4o-mini — الأرخص (~$0.002 لكل إثراء)، بجودة جيدة (الافتراضي)
- gpt-4o — جودة أفضل (~$0.01 لكل إثراء)
21. Ollama (مجاني، محلي، خاص)
يعمل بالكامل على جهازك. لا حاجة لمفتاح API، ولا تغادر أي بيانات جهازك.
مناسب للبيئات التي لا يُسمح فيها بإرسال بيانات التهديدات إلى واجهات برمجة تطبيقات سحابية.
تعتمد الجودة على النموذج المختار.
الإعداد:
a) نزّل وثبّت Ollama من https://ollama.com/download
(متاح لأنظمة Windows وLinux وmacOS)
b) افتح طرفية (terminal) واسحب نموذجًا:
ollama pull qwen2.5:14bالنماذج الموصى بها:
- qwen2.5:14b — أفضل جودة بحجم معقول (9 جيجابايت، يحتاج 16 جيجابايت رام)
- llama3.1:8b — جودة جيدة، أصغر (5 جيجابايت، يحتاج 8 جيجابايت رام)
- llama3.1:70b — جودة ممتازة، كبير (40 جيجابايت، يحتاج 48 جيجابايت رام)
c) يبدأ Ollama تلقائيًا ويعمل على http://localhost:11434
d) قم بتكوين .malwapi.conf:
[LLM]
PROVIDER = ollama
OLLAMA_URL = http://localhost:11434
OLLAMA_MODEL = qwen2.5:14b
الأداء: بطاقة رسوميات بذاكرة 12+ جيجابايت VRAM توفر استجابات سريعة (5-10 ثوانٍ).
الاعتماد على المعالج فقط أبطأ (30-60 ثانية) لكنه يعمل. النماذج الأكبر (14b, 70b)
تتطلب ذاكرة VRAM أكبر وقد تنتهي مهلتها على المعالج إذا لم تكن الذاكرة كافية.
يوصى بنموذج llama3.1:8b للأجهزة ذات ذاكرة بطاقة رسوميات محدودة (6 جيجابايت أو أقل).
Expected response times:
- Claude API: 3-8 ثوانٍ
- Gemini API: 3-8 ثوانٍ
- Ollama (GPU بذاكرة VRAM كافية): 5-15 ثانية
- Ollama (CPU فقط، نموذج 8b): 30-60 ثانية
- Ollama (CPU فقط، نموذج 14b+): 60-300 ثانية
Usage examples:
# CLI: append --enrich to any query
malwoverview -v 8 -V <hash> --enrich
malwoverview -ip 1 -IP 8.8.8.8 --enrich
malwoverview --correlate-hash <hash> --enrich
# Interactive REPL: toggle enrichment on/off or switch provider
malwoverview --interactive
malwoverview> set enrich on # use provider from config
malwoverview> set enrich claude # switch to Claude
malwoverview> set enrich ollama # switch to Ollama
malwoverview> set enrich openai # switch to OpenAI
malwoverview> set enrich off # disable enrichment
malwoverview> vt hash <hash> # malware analysis + enrichment
malwoverview> nist cve CVE-2024-3400 # CVE lookup + enrichment
malwoverview> vulncheck cve CVE-2024-3400 # VulnCheck + enrichment
# TUI: click the Enrich button to cycle through providers
# Enrich (OFF) → claude → gemini → openai → ollama → OFF
# Green button = provider active and configured
# Yellow button = provider selected but API key missing
# Default button = enrichment disabled
malwoverview --tui
تعتمد الخدمة والقبول على مراجعة المجتمع. لذلك، يُنصح بتقديم طلب API من عنوان بريدك الإلكتروني الخاص بالعمل وليس من عنوان عام/مجاني (Gmail وOutlook وما إلى ذلك). بالإضافة إلى ذلك، سيكون من الرائع لو قدمت مزيدًا من المعلومات عن نفسك (حساب LinkedIn، X/Twitter، Mastodon، BlueSky، إلخ) لأن ذلك سيسهّل التحقق من هويتك وملفك المهني وشرعيتك، مما يسرّع الموافقة على طلبك.
تعتمد كل عملية Triage على معرف Triage الخاص بكل أثر، لذا تحتاج إلى استخدام "-x 1 -X <attribute>:<value>" للبحث عن المعرف الصحيح للأثر ثم استخدام معلومات المعرف هذه مع خيارات Triage المتبقية (-x [2-7]) للحصول على مزيد من معلومات صيد التهديدات من نقطة نهاية Triage.
ابتداءً من النصف الثاني من عام 2025، سيكون مطلوبًا مفتاح مصادقة (API) لاستخدام خدمات URLHaus وMalware Bazaar وThreat Fox.
صُمم Malwoverview لإنتاج مخرجات تناسب خلفية طرفية داكنة. ومع ذلك، يوجد الخيار -o 0 الذي يغيّر ألوان المخرجات ويكيّفها مع الخلفية الفاتحة.
للتحقق من التثبيت، نفّذ:
malwoverview --help
مزيد من المعلومات متاح على:
(PYPI.org repository) https://pypi.org/project/malwoverview/
(Github) https://github.com/alexandreborges/malwoverview
إذا كنت تريد إجراء التثبيت اليدوي (عادةً لا يكون ضروريًا)، فيجب تنفيذ خطوات قليلة فقط، كما هو موضح في القسم الفرعي التالي.
إصدار Python 3.11 أو أحدث (فقط Python 3.x !!! لا يعمل باستخدام Python 2.7)
$ apt-get install python3.11 (for example)
Python-magic.
لتثبيت حزمة python-magic يمكنك تنفيذ الأمر التالي:
$ pip3.11 install python-magic
أو يمكنك تجميعه من مستودع GitHub:
$ git clone https://github.com/ahupp/python-magic
$ cd python-magic/
$ python3.11 setup.py build
$ python3.11 setup.py install
نظرًا لوجود مشكلات خطيرة تتعلق بوجود نسختين من حزمة python-magic، يُنصح بتثبيتها من GitHub (الإجراء الثاني أعلاه) ونسخ ملف magic.py إلى نفس دليل أداة malwoverview.
ثبت جميع حزم Python المطلوبة:
$ pip3.11 install -r requirements.txt
OR
$ pip3.11 install -U pefile
$ pip3.11 install -U colorama
$ pip3.11 install -U simplejson
$ pip3.11 install -U python-magic
$ pip3.11 install -U requests
$ pip3.11 install -U validators
$ pip3.11 install -U geocoder
$ pip3.11 install -U polyswarm-api
$ pip3.11 install -U pathlib
$ pip3.11 install -U configparser
لفحص جهاز Android محمول، تحتاج إلى تثبيت أداة "adb":
$ sudo apt get install adb
ملاحظة: قبل تجربة خيارات Android، تحقق من:
* إذا كانت أداة adb مدرجة في متغير البيئة PATH.
* إذا كان النظام قد أذن بالوصول إلى الجهاز باستخدام "adb devices -l"
الاستخدام: python malwoverview.py -c -d -o <0|1> -v <1-20> -V -a <1-13> -A -l <1-8> -L <hash|file type> -j <1-8> -J -p <1-8> -P -y <1-5> -Y -n <1-5> -N -m <1-9> -M -b <1-15> -B -x <1-9> -X -ip <1-8> -IP -O --nist <1-5> --NIST -vc <1-8> -VC -s <1-2> -S -ab <1> -AB -gn <1> -GN -wh <1-2> -WH -ct <1-2> -CT -u <1-5> -U --correlate-hash --extract-iocs <file|url> --yara --yara-target --peinfo <file|directory> --entropy-threshold --sigcheck <file|directory> --no-signature --sig-verify-mode <any|first|all|best> --output-format text|json|csv --proxy --quiet --verbose --no-cache --cache-ttl --cache-stats --prune-cache --clear-cache --no-resolve --defang --no-ioc-filter --report html|pdf --interactive --tui --attack-map
Malwoverview هي أداة استجابة أولى لصيد التهديدات كتبها Alexandre Borges.
خيارات البرمجيات الخبيثة: خيارات تحليل البرمجيات الخبيثة والاستعلامات الاستخباراتية
-h, --help
+ يعرض رسالة المساعدة هذه ويخرج.
-c CONFIG FILE, --config CONFIG FILE
+ استخدم ملف إعدادات مخصصًا لتحديد مفاتيح API.
-d DIRECTORY, --directory DIRECTORY
+ يحدد الدليل الذي يحتوي على عينات البرمجيات الخبيثة لفحصها لدى VIRUS TOTAL.
+ استخدم الخيار -D لتحديد ما إذا كنت تستخدم VT API عامًا أم VT API مميزًا.
-o BACKGROUND, --background BACKGROUND
+ يكيّف ألوان المخرجات مع طرفية ذات خلفية فاتحة.
+ الافتراضي هو طرفية بخلفية داكنة.
-v VIRUSTOTAL, --virustotal_option VIRUSTOTAL
+ -v 1: عند إعطاء ملف باستخدام الخيار -V، يستعلم قاعدة بيانات VIRUS TOTAL (API v.3)
للحصول على تقرير الملف المحدد عبر الخيار -V.
+ -v 2: يعرض تقرير مضاد الفيروسات لملف معين باستخدام الخيار -V (API v.3)؛
+ -v 3: مماثل لـ -v2، لكن يتم أيضًا عرض IAT وEAT الخاصين بالملف الثنائي (API v.3)؛
+ -v 4: يستخرج الـ overlay؛
+ -v 5: يرسل عنوان URL إلى VT للفحص؛
+ -v 6: يرسل عنوان IP إلى Virus Total؛
+ -v 7: يحصل هذا الخيار على تقرير حول النطاق المقدم من Virus Total؛
+ -v 8: يتحقق من هاش معين مقابل Virus Total؛
+ -v 9: يرسل عينة إلى VT (حتى 32 ميجابايت). استخدم الشرطة المائلة لتحديد الملف الهدف على أنظمة Windows.
يتطلب تمرير ملف العينة مع الخيار -V؛
+ -v 10: يتحقق من الهاشات من ملف مقدم عبر الخيار -V. يستخدم هذا الخيار Public VT API v.3؛
+ -v 11: يتحقق من الهاشات من ملف مقدم عبر الخيار -V. يستخدم هذا الخيار Premium API v.3؛
+ -v 12: يعرض معلومات السلوك لعينة بناءً على هاش معين عبر الخيار -V.
يستخدم هذا الخيار VT API v.3؛ -v 13: يرسل ملفات كبيرة (أكبر من 32 ميجابايت) إلى VT باستخدام API v.3؛
+ -v 14: يرسل وظيفة Retrohunt باستخدام ملف قواعد YARA أو دليل القواعد المقدم مع -V (يقوم VT بفحص العينات التي استلمها خلال الأشهر الماضية مقابل القواعد)؛
+ -v 15: يعرض قائمة بوظائف Retrohunt الخاصة بك، ويمكن تصفيتها اختياريًا حسب حالة تُمرر عبر -V (starting أو running أو aborting أو aborted أو finished)؛
+ -v 16: يعرض حالة وتقدم وظيفة Retrohunt التي يتم إعطاء معرفها مع -V؛
+ -v 17: يعرض قائمة بالملفات المطابقة لوظيفة Retrohunt التي يتم إعطاء معرفها مع -V؛
+ -v 18: ينشئ مجموعة قواعد Livehunt من ملف قواعد YARA أو دليل القواعد المقدم مع -V (يقوم VT بعد ذلك بمطابقة كل إرسال جديد معها)؛
+ -v 19: يعرض قائمة بمجموعات قواعد Livehunt الخاصة بك؛
+ -v 20: يعرض قائمة بإشعارات Livehunt الخاصة بك. تتطلب الخيارات من 14 إلى 20 مفتاح VT بصلاحيات مميزة (enterprise)؛
-V VIRUSTOTAL_ARG, --virustotal_arg VIRUSTOTAL_ARG
+ يوفر الوسيط لخيار -v. إذا كان "-v 1" إلى "-v 4" فيجب أن يكون -V مسار ملف؛ وإذا كان "-v 5" فيجب أن يكون -V عنوان URL؛ وإذا كان "-v 6" فيجب أن يكون -V عنوان IP؛ وإذا كان "-v 7" فيجب أن يكون -V نطاقًا؛ وإذا كان "-v 8" فيجب أن يكون -V هاشًا (MD5/SHA1/SHA256)؛ وإذا كان "-v 9" أو "-v 13" فيجب أن يكون -V مسار ملف للإرسال؛ وإذا كان "-v 10" أو "-v 11" فيجب أن يكون -V ملفًا يحتوي على هاشات (واحد في كل سطر)؛ وإذا كان "-v 12" فيجب أن يكون -V هاشًا لتحليل السلوك؛ وإذا كان "-v 14" أو "-v 18" فيجب أن يكون -V ملف قواعد YARA أو دليل قواعد؛ وإذا كان "-v 15" فقد يكون -V حالة وظيفة؛ وإذا كان "-v 16" أو "-v 17" فيجب أن يكون -V معرف وظيفة Retrohunt.
-a HYBRID_ANALYSIS, --hybrid_option HYBRID_ANALYSIS
+ يجلب هذا المعامل التقارير من HYBRID ANALYSIS، وينزّل العينات ويُرسل عينات لتحليلها.
+ القيم الممكنة هي:
+ 1: يحصل على تقرير لهاش أو عينة معينة من بيئة Windows 7 32-bit؛
+ 2: يحصل على تقرير لهاش أو عينة معينة من بيئة Windows 7 32-bit (دعم HWP)؛
+ 3: يحصل على تقرير لهاش أو عينة معينة من بيئة Windows 64-bit؛
+ 4: يحصل على تقرير لهاش أو عينة معينة من بيئة Android؛
+ 5: يحصل على تقرير لهاش أو عينة معينة من بيئة Linux 64-bit؛
+ 6: يُرسل عينة إلى بيئة Windows 7 32-bit؛
+ 7. يُرسل عينة إلى بيئة Windows 7 32-bit مع بيئة دعم HWP؛
+ 8. يُرسل عينة إلى بيئة Windows 7 64-bit؛
+ 9. يُرسل عينة إلى بيئة Android؛
+ 10. يُرسل عينة إلى بيئة Linux 64-bit؛
+ 11. ينزّل العينة لهاش معين (العينة المخزنة هي نفسها بغض النظر عن بيئة العزل، لذا خيار واحد يحل محل الخيارات السابقة من 11 إلى 15)؛
+ 12. فحص هاشات جماعي من ملف (هاش واحد لكل سطر)؛
+ 13. فحص دليل - يحسب SHA256 لكل ملف ويفحصه لدى Hybrid Analysis.
-A SUBMIT_HA, --ha_arg SUBMIT_HA
+ يوفر الوسيط لخيار -a من HYBRID ANALYSIS. إذا كان "-a 1" إلى "-a 5" فيجب أن يكون -A هاشًا أو مسار ملف (يُكتشف تلقائيًا)؛ وإذا كان "-a 6" إلى "-a 10" فيجب أن يكون -A مسار ملف للإرسال؛ وإذا كان "-a 11" فيجب أن يكون -A هاشًا للتنزيل؛ وإذا كان "-a 12" فيجب أن يكون -A ملفًا يحتوي على هاشات (واحد لكل سطر)؛ وإذا كان "-a 13" فيجب أن يكون -A مسار دليل للفحص.
-D VT_PUBLIC_PREMIUM, --vtpubpremium VT_PUBLIC_PREMIUM
+ يجب استخدام هذا الخيار مع خيار -d.
+ القيم الممكنة:
+ <0> يستخدم Premium VT API v3 (افتراضي)؛
+ <1> يستخدم Public VT API v3.
-l MALSHARE_HASHES, --malsharelist MALSHARE_HASHES
+ يقوم هذا الخيار بتنزيل عينة ويعرض هاشات من نوع محدد من آخر 24 ساعة من مستودع MALSHARE.
+ القيم الممكنة هي:
+ 1: تنزيل عينة؛
+ 2: PE32 (افتراضي)؛
+ 3: ELF؛
+ 4: Java؛
+ 5: PDF؛
+ 6: عرض قائمة بأنواع الملفات المتاحة في آخر 24 ساعة (وكم عدد العينات من كل نوع)؛
+ 7: قائمة بالهاشات من آخر 24 ساعة؛
+ 8: عرض قائمة بهاشات نوع الملف المحدد مع -L (استخدم -l 6 لمعرفة أنواع الملفات الصالحة).
-L MALSHARE_HASH_SEARCH, --malshare_hash MALSHARE_HASH_SEARCH
+ يوفر هاشًا كوسيط لتنزيل عينة من مستودع MALSHARE (-l 1) أو، عند استخدامه مع -l 8، نوع الملف الذي يجب عرض هاشاته.
-j HAUS_OPTION, --haus_option HAUS_OPTION
+ يجلب هذا الخيار المعلومات من URLHaus اعتمادًا على القيمة الممررة كوسيط:
+ 1: يقوم بتنزيل العينة المحددة؛
+ 2: يستعلم عن معلومات حول هاش مقدم؛
+ 3: يبحث عن معلومات حول عنوان URL معين؛
+ 4: يبحث عن عنوان URL خبيث حسب وسم معين (حساس لحالة الأحرف)؛
+ 5: يبحث عن حمولات (payloads) وفق وسم معين؛
+ 6: يسترجع قائمة روابط قابلة للتنزيل لحمولات حديثة؛
+ 7: يسترجع قائمة بعناوين URL الخبيثة الحديثة؛
+ 8: فحص هاشات جماعي من ملف (هاش واحد لكل سطر).
-J HAUS_ARG, --haus_arg HAUS_ARG
+ يوفر الوسيط لخيار -j من URLHaus. إذا كان "-j 1" فيجب أن يكون -J هاش SHA256 لتنزيل العينة؛ وإذا كان "-j 2" فيجب أن يكون -J هاشًا (MD5/SHA1/SHA256) للبحث؛ وإذا كان "-j 3" فيجب أن يكون -J عنوان URL للتحقق؛ وإذا كان "-j 4" فيجب أن يكون -J وسمًا (حساس لحالة الأحرف)؛ وإذا كان "-j 5" فيجب أن يكون -J اسم توقيع.
-p POLY_OPTION, --poly_option POLY_OPTION
+ (لنظام Linux فقط) يرتبط هذا الخيار بعمليات POLYSWARM:
+ 1. يبحث عن معلومات متعلقة بهاش معين مقدم عبر الخيار -P؛
+ 2. يرسل عينة مقدمة عبر الخيار -P لتحليلها بواسطة محرك Polyswarm؛
+ 3. ينزّل عينة من Polyswarm من خلال توفير الهاش عبر الخيار -P.
انتبه: يفرض Polyswarm حدًا أقصى قدره 20 عينة شهريًا؛
+ 4. يبحث عن عينات مشابهة بناءً على ملف عينة عبر الخيار -P؛
+ 5. يبحث عن عينات مرتبطة بعنوان IP مقدم عبر الخيار -P؛
+ 6. يبحث عن عينات مرتبطة بنطاق معين مقدم عبر الخيار -P؛
+ 7. يبحث عن عينات مرتبطة بعنوان URL مقدم عبر الخيار -P؛
+ 8. يبحث عن عينات مرتبطة بعائلة برمجيات خبيثة مقدمة عبر الخيار -P.
-P POLYSWARM_ARG, --poly_arg POLYSWARM_ARG
+ (لنظام Linux فقط) يوفر وسيطًا لخيار -p من POLYSWARM.
-y ANDROID_OPTION, --android_option ANDROID_OPTION
+ يحتوي خيار ANDROID هذا على عدة قيم ممكنة:
+ <1>: فحص جميع حزم APK التابعة لجهات خارجية من جهاز Android المتصل عبر USB لدى Hybrid Analysis باستخدام تعدد الخيوط. ملاحظات: لا يحتاج جهاز Android إلى صلاحيات الجذر ويحتاج النظام إلى وجود أداة adb في متغير البيئة PATH؛
+ <2>: فحص جميع حزم APK التابعة لجهات خارجية من جهاز Android المتصل عبر USB لدى VirusTotal باستخدام Public API (أبطأ بسبب تأخير 60 ثانية لكل 4 هاشات). ملاحظات: لا يحتاج جهاز Android إلى صلاحيات الجذر ويحتاج النظام إلى وجود أداة adb في متغير البيئة PATH؛
+ <3>: فحص جميع حزم APK التابعة لجهات خارجية من جهاز Android المتصل عبر USB لدى VirusTotal باستخدام تعدد الخيوط (فقط لـ Private Virus API). ملاحظات: لا يحتاج جهاز Android إلى صلاحيات الجذر ويحتاج النظام إلى وجود أداة adb في متغير البيئة PATH؛
+ <4> يرسل حزمة APK تابعة لجهة خارجية من جهاز Android المتصل عبر USB إلى Hybrid Analysis؛
+ 5. يرسل حزمة APK تابعة لجهة خارجية من جهاز Android المتصل عبر USB إلى Virus-Total.
-Y ANDROID_ARG, --android_arg ANDROID_ARG
+ يوفر هذا الخيار الوسيط للخيار -y من ANDROID.
-n ALIENVAULT, --alienvault ALIENVAULT
+ يتحقق من معلومات متعددة من ALIENVAULT. القيم الممكنة هي:
+ 1: الحصول على النبضات المشترك بها؛
+ 2: الحصول على معلومات حول عنوان IP؛
+ 3: الحصول على معلومات حول نطاق؛
+ 4: الحصول على معلومات حول هاش؛
+ 5: الحصول على معلومات حول عنوان URL.
-N ALIENVAULT_ARGS, --alienvaultargs ALIENVAULT_ARGS
+ يوفر الوسيط لخيار -n من ALIENVAULT. إذا كان "-n 1" فيجب أن يكون -N عدد النبضات المشترك بها لاسترجاعها؛ وإذا كان "-n 2" فيجب أن يكون -N عنوان IP؛ وإذا كان "-n 3" فيجب أن يكون -N نطاقًا؛ وإذا كان "-n 4" فيجب أن يكون -N هاشًا (MD5/SHA256)؛ وإذا كان "-n 5" فيجب أن يكون -N عنوان URL.
-m MALPEDIA, --malpedia MALPEDIA
+ يرتبط هذا الخيار بـ MALPEDIA ويقدم معانٍ مختلفة اعتمادًا على القيمة المختارة. وبالتالي:
+ 1: عرض معلومات وصفية (meta) لجميع العائلات؛
+ 2: عرض جميع معرفات الجهات الفاعلة؛
+ 3: عرض جميع الحمولات المتاحة مرتبة حسب العائلة من Malpedia؛
+ 4: الحصول على معلومات وصفية من جهة فاعلة محددة، لذا من الضروري استخدام الخيار -M. بالإضافة إلى ذلك، حاول تأكيد المعرف الصحيح للجهة الفاعلة بتنفيذ malwoverview مع الخيار -m 3؛
+ 5: عرض جميع معرفات العائلات؛
+ 6: الحصول على معلومات وصفية من عائلة محددة، لذا من الضروري استخدام الخيار -M. بالإضافة إلى ذلك، حاول تأكيد المعرف الصحيح للعائلة بتنفيذ malwoverview مع الخيار -m 5؛
+ 7: الحصول على عينة برمجيات خبيثة من malpedia (بتنسيق zip -- كلمة المرور: infected). من الضروري تحديد الهاش المطلوب باستخدام الخيار -M؛
+ 8: الحصول على ملف zip يحتوي على قواعد Yara لعائلة محددة (احصل على العائلات الممكنة باستخدام -m 5)، ويجب تحديدها باستخدام الخيار -M؛
+ 9: الحصول على ملف zip يحتوي على مجموعة قواعد Yara الكاملة من Malpedia لمستوى TLP، ويجب إعطاؤه مع -M كأحد القيم tlp_white أو tlp_green أو tlp_amber أو auto (الصيغ المختصرة white وgreen وamber مقبولة أيضًا). ادمجه مع --yara للفحص بالقواعد التي تم تنزيلها.
-M MALPEDIAARG, --malpediarg MALPEDIAARG
+ يوفر الوسيط لخيار -m من MALPEDIA. إذا كان "-m 4" فيجب أن يكون -M اسم جهة فاعلة (أكده باستخدام -m 2)؛ وإذا كان "-m 6" فيجب أن يكون -M اسم عائلة (أكده باستخدام -m 5)؛ وإذا كان "-m 7" فيجب أن يكون -M هاشًا لتنزيل العينة؛ وإذا كان "-m 8" فيجب أن يكون -M اسم عائلة للحصول على قواعد YARA.
-b BAZAAR, --bazaar BAZAAR+ يتحقق من معلومات متعددة من MALWARE BAZAAR وTHREATFOX. القيم
الممكنة هي:
+ 1: (Bazaar) الاستعلام عن معلومات حول عيّنة تجزئة (hash) لبرمجية خبيثة؛
+ 2: (Bazaar) الحصول على معلومات وقائمة بعيّنات البرمجيات الخبيثة المرتبطة
بوسم معيّن ووفقًا له؛
+ 3: (Bazaar) الحصول على قائمة بعيّنات البرمجيات الخبيثة وفقًا لـ imphash معطى؛
+ 4: (Bazaar) الاستعلام عن أحدث عيّنات البرمجيات الخبيثة؛
+ 5: (Bazaar) تنزيل عيّنة برمجية خبيثة من Malware Bazaar بتقديم
تجزئة SHA256. تُضغط العيّنة المُنزَّلة باستخدام كلمة المرور
التالية: infected؛
+ 6: (ThreatFox) الحصول على مجموعة بيانات IOC الحالية من آخر x يومًا
تُعطى عبر الخيار -B (بحد أقصى 7 أيام)؛
+ 7: (ThreatFox) البحث عن الـ IOC المحدد على ThreatFox المُعطى عبر الخيار -B؛
+ 8: (ThreatFox) البحث عن IOCs وفقًا للوسم المحدد المُعطى عبر الخيار -B؛
+ 9: (ThreatFox) البحث عن IOCs وفقًا لعائلة البرمجيات الخبيثة المحددة
المُقدَّمة عبر الخيار -B؛
+ 10. (ThreatFox) سرد جميع عائلات البرمجيات الخبيثة المتاحة.
+ 11: (Bazaar) فحص بالدفعات لتجزئات من ملف (تجزئة واحدة في كل سطر)
مقابل Malware Bazaar؛
+ 12: (Bazaar) فحص مجلّد — يحسب SHA256 لكل ملف في
مجلّد ويتحقق منه مقابل Malware Bazaar؛
+ 13: (Bazaar) البحث عن عيّنات تطابق اسم قاعدة YARA المُعطى عبر
الخيار -B. تُدرَج أسماء القواعد في نهاية تقرير التجزئة
(-b 1)، وهي أيضًا أسماء القواعد داخل مجموعة YARAify
المُنزَّلة بـ -b 14 والمستخرجة بـ -b 15؛
+ 14: (YARAify) تنزيل مجموعة قواعد YARAify (abuse.ch)، وهي
مجموعة القواعد التي يعتمد عليها Malware Bazaar؛
+ 15: (YARAify) استخراج مجموعة قواعد YARAify المُنزَّلة إلى مجلّد قواعد
يمكن تمريره إلى --yara.
-B BAZAAR_ARG, --bazaararg BAZAAR_ARG
+ يوفّر وسيطًا للخيار -b الخاص بـ MALWARE BAZAAR وTHREAT FOX:
+ يشير "-b 1" إلى أن وسيط -B يجب أن يكون تجزئة وسيتم استرجاع تقرير حول
العيّنة؛
+ يشير "-b 2" إلى أن وسيط -B يجب أن يكون وسم برمجية خبيثة وستظهر آخر
العيّنات المطابقة لهذا الوسم؛
+ يعني "-b 3" أن الوسيط المُعطى عبر -M يجب أن يكون imphash وستظهر آخر
العيّنات المطابقة لهذا الـ imphash؛
+ يعني "-b 4" أن الوسيط المُعطى عبر -M يجب أن يكون "100 أو time"، حيث
يعرض "100" آخر "100 عيّنة" ويعرض "time" آخر العيّنات المضافة إلى
Malware Bazaar خلال آخر 60 دقيقة؛
+ يعني "-b 5" أنه سيتم تنزيل العيّنة ويجب أن يكون وسيط -B
تجزئة SHA256 للعيّنة التي تريد تنزيلها من Malware Bazaar؛
+ يشير "-b 6" إلى أنه سيتم استرجاع قائمة IOCs وقيمة -B
هي عدد الأيام (DAYS) لتصفية هذه الـ IOCs. الحد الأقصى هو 7 (أيام)؛
+ يشير "-b 7" إلى أن وسيط -B هو الـ IOC الذي تريد البحث عنه؛
+ يشير "-b 8" إلى أن وسيط -B هو وسم (TAG) الـ IOC الذي تريد
البحث عنه؛
+ يشير "-b 9" إلى أن وسيط -B هو عائلة البرمجيات الخبيثة التي تريد
البحث عن IOCs لها؛
-x TRIAGE, --triage TRIAGE
+ يوفّر معلومات من TRIAGE وفقًا للقيمة المحددة:
+ 1: يحصل هذا الخيار على المعلومات العامة للعيّنة بتقديم
وسيط مع الخيار -X في الصيغ الممكنة التالية:
- sha256:<value>
- sha1:<value>
- md5:<value>
- family:<value>
- score:<value>
- tag:<value>
- url:<value>
- wallet:<value>
- ip:<value>;
+ 2: الحصول على تقرير موجز لمعرّف Triage معيّن (يُحصل عليه من الخيار -x 1)؛
+ 3: إرسال عيّنة للتحليل؛
+ 4: إرسال عيّنة عبر URL للتحليل؛
+ 5: تنزيل العيّنة المحددة بواسطة معرّف Triage؛
+ 6: تنزيل ملف pcapng من العيّنة المرتبطة بمعرّف Triage المعطى؛
+ 7: الحصول على تقرير ديناميكي لمعرّف Triage المعطى (يُحصل عليه من الخيار -x 1)؛
+ 8: فحص بالدفعات لتجزئات من ملف (تجزئة واحدة في كل سطر) مقابل Triage؛
+ 9: فحص مجلّد — يحسب SHA256 لكل ملف في مجلّد
ويتحقق منه مقابل Triage.
-X TRIAGE_ARG, --triagearg TRIAGE_ARG
+ يوفّر وسيطًا للخيار -x من TRIAGE. إذا كان "-x 1" فيجب أن يكون -X
استعلام بحث (مثل: sha256:<hash>, family:<name>, tag:<tag>,
ip:<ip>)؛ إذا كان "-x 2" فيجب أن يكون -X معرّف عيّنة Triage (يُحصل عليه من
-x 1)؛ إذا كان "-x 3" فيجب أن يكون -X مسار ملف لإرساله؛ إذا كان "-x 4"
فيجب أن يكون -X عنوان URL لإرساله؛ إذا كان "-x 5" أو "-x 6" فيجب أن يكون -X
معرّف عيّنة Triage لتنزيله؛ إذا كان "-x 7" فيجب أن يكون -X معرّف عيّنة
Triage للتقرير الديناميكي؛ إذا كان "-x 8" فيجب أن يكون -X ملفًا
يحتوي على تجزئات (واحدة في كل سطر)؛ إذا كان "-x 9" فيجب أن يكون -X مسار
مجلّد لفحصه.
-O OUTPUTDIR, --output-dir OUTPUTDIR
+ تعيين مجلّد الإخراج لجميع تنزيلات العيّنات.
-ip IP, --ip IP
+ الحصول على معلومات IP من مصادر متعددة. القيم الممكنة هي:
+ 1: الحصول على تفاصيل عنوان IP المُقدَّم مع -IP من IPInfo؛
+ 2: أُزيل في الإصدار 8.1.0 (تم إغلاق BGPView)؛
+ 3: الحصول على تفاصيل عنوان IP المُقدَّم مع -IP من جميع
خدمات الاستخبارات المتاحة (VirusTotal/Alienvault)؛
+ 4: الحصول على تفاصيل عنوان IP من Shodan؛
+ 5: الحصول على تفاصيل عنوان IP من AbuseIPDB؛
+ 6: الحصول على تفاصيل عنوان IP من GreyNoise؛
+ 7: الحصول على تفاصيل عنوان IP من جميع الخدمات (شامل)؛
+ 8: فحص بالدفعات لعناوين IP من ملف (واحد في كل سطر) مقابل
VirusTotal وإظهار جدول ملخص (عنوان IP، الدولة، مالك AS،
الاكتشاف). استخدم -D للاختيار بين واجهة VT العامة (-D 1)
والمميزة (-D 0، الافتراضية).
-IP IPARG, --iparg IPARG
+ يوفّر وسيطًا للخيار -ip. بالنسبة للخيارات من -ip 1 إلى 7 يجب أن
يكون عنوان IP صالحًا (IPv4 أو IPv6)؛ وبالنسبة لـ -ip 8 يجب أن يكون
ملفًا يحتوي على عناوين IP (واحد في كل سطر).
-s SHODAN, --shodan SHODAN
+ خيارات SHODAN:
+ 1: البحث عن IP؛
+ 2: استعلام بحث.
-S SHODAN_ARG, --shodanarg SHODAN_ARG
+ يوفّر وسيطًا للخيار -s من SHODAN. إذا كان "-s 1" فيجب أن يكون -S
عنوان IP؛ إذا كان "-s 2" فيجب أن يكون -S استعلام بحث (مثل:
"apache", "port:22 country:BR").
-ab ABUSEIPDB, --abuseipdb ABUSEIPDB
+ خيارات ABUSEIPDB:
+ 1: التحقق من سمعة IP.
-AB ABUSEIPDB_ARG, --abuseipdbarg ABUSEIPDB_ARG
+ يوفّر عنوان IP للخيار -ab من ABUSEIPDB.
-gn GREYNOISE, --greynoise GREYNOISE
+ خيارات GREYNOISE:
+ 1: فحص IP سريع (واجهة API للمجتمع).
-GN GREYNOISE_ARG, --greynoisearg GREYNOISE_ARG
+ يوفّر عنوان IP للخيار -gn من GREYNOISE.
-wh WHOIS, --whois WHOIS
+ خيارات WHOIS:
+ 1: البحث في whois لنطاق؛
+ 2: البحث في whois/RDAP لعنوان IP.
-WH WHOIS_ARG, --whoisarg WHOIS_ARG
+ يوفّر وسيطًا للخيار -wh من WHOIS. إذا كان "-wh 1" فيجب أن يكون -WH
اسم نطاق؛ إذا كان "-wh 2" فيجب أن يكون -WH عنوان IP.
-ct CRTSH, --crtsh CRTSH
+ يستعلم سجلات Certificate Transparency عبر crt.sh، والذي لا يتطلب
مفتاح API. القيم الممكنة:
+ 1: يسرد أسماء DNS المميزة الظاهرة في الشهادات الصادرة
للنطاق المُعطى مع -CT، وهي طريقة رخيصة لتعداد
النطاقات الفرعية. الأسماء التابعة لنطاقات أخرى، والتي تظهر لأن
الشهادة قد تغطي عدة كيانات، تُحتسب وتُبلَّغ
بشكل منفصل؛
+ 2: يسرد الشهادات نفسها (المعرّف، المُصدِر، الاسم الشائع
وتواريخ الصلاحية، الأحدث أولاً).
-CT CRTSH_ARG, --crtsharg CRTSH_ARG
+ يوفّر اسم النطاق الذي يستعلم عنه الخيار -ct.
-u URLSCANIO, --urlscanio URLSCANIO
+ خيارات URLSCAN.IO:
+ 1: إرسال URL للفحص؛
+ 2: الحصول على نتيجة الفحص بواسطة UUID؛
+ 3: البحث في عمليات الفحص باستخدام صيغة استعلام Elasticsearch
(مثل: "page.server:nginx", "task.tags:phishing")؛
+ 4: البحث في عمليات الفحص حسب النطاق؛
+ 5: البحث في عمليات الفحص حسب IP.
-U URLSCANIO_ARG, --urlscanioarg URLSCANIO_ARG
+ يوفّر وسيطًا للخيار -u من URLSCAN.IO. إذا كان "-u 1" فيجب أن يكون -U
عنوان URL لإرساله للفحص؛ إذا كان "-u 2" فيجب أن يكون -U معرّف UUID
(يُحصل عليه من -u 1)؛ إذا كان "-u 3" فيجب أن يكون -U استعلام Elasticsearch
(مثل: "page.server:nginx", "task.tags:phishing")؛ إذا كان "-u 4" فيجب
أن يكون -U نطاقًا؛ إذا كان "-u 5" فيجب أن يكون -U عنوان IP.
--correlate-hash HASH
+ ترابط التجزئة عبر الخدمات: يستعلم عن تجزئة عبر VirusTotal
وHybrid Analysis وTriage وAlienVault لإنتاج تقرير موحّد.
--extract-iocs SOURCE
+ استخراج IOCs (تجزئات، عناوين IP، URLs، نطاقات، رسائل بريد إلكتروني، CVEs) من ملف
(.txt, .pdf, .eml) أو URL (http/https).
يتطلب استخراج PDF: pip install malwoverview[pdf]
--yara RULES_FILE
+ ملف قواعد YARA لاستخدامه في الفحص. يجب استخدامه مع --yara-target.
يتطلب: pip install malwoverview[yara]
--yara-target TARGET
+ ملف أو مجلّد لفحصه بقواعد YARA.
--peinfo TARGET
+ فرز محلي أولي (triage) لملف أو مجلّد PE (بدون مفتاح API): نوع الملف، الحجم،
التراكب (overlay)، حجم التراكب والاعتلاج (entropy). تُفحص المجلدات بشكل متكرر.
الاعتلاج هو أعلى اعتلاج لقسم PE، أو اعتلاج شانون (Shannon) للملف بأكمله
للملفات غير PE.
--entropy-threshold VALUE
+ قيمة الاعتلاج التي عندها يُميِّز --peinfo ملفًا على أنه مضغوط (packed) أو
مشفّر. الافتراضي: 7.0
--sigcheck TARGET
+ التحقق من توقيع Authenticode لملف أو مجلّد (بدون مفتاح API):
الحالة، المُوقِّع، المُصدِر، تواريخ الشهادة، خوارزمية الملخص،
بصمة الشهادة والرقم التسلسلي. الحالة هي إحدى القيم: VALID أو TAMPERED أو
UNTRUSTED أو EXPIRED أو MALFORMED أو INVALID أو NONE (لا يوجد توقيع مضمَّن)
أو PRESENT (يوجد توقيع لكنه لم يُتحقَّق منه) أو N/A (ليس ملف
PE). تُقرأ التوقيعات المضمَّنة فقط: الملف الذي يُبلَّغ عنه NONE يمكن
أن يكون موقَّعًا عبر كتالوج Windows.
يتطلب التحقق الكامل: pip install malwoverview[signature]
تعني VALID أن الملف ما يزال مطابقًا للشهادة التي وُقِّع بها.
وهي ليست حكمًا على الملف: شهادات التوقيع تُسرَق وتُساء
استخدامها وتُصدَر عن طريق الخطأ، وقد حملت البرمجيات الخبيثة توقيعات
Microsoft صالحة. يُخزَّن التوقيع المضمَّن في التراكب (overlay)، لذا فإن
الملف الموقَّع يُبلِّغ دائمًا عن واحد، وهذا التراكب ليس حمولة ملحقة.
لا يتم التحقق من إبطال الشهادة (revocation). لا يتم إرسال أي طلب شبكة، لذا
فإن الملف الموقَّع بشهادة أُبطلت لاحقًا ما يزال يُبلِّغ عن
VALID.
يبقى التوقيع VALID بعد انتهاء صلاحية شهادته عندما يحمل
توقيعًا مضادًا (countersignature)، لأن التوقيع المضاد يُثبت أن الملف
وُقِّع بينما كانت الشهادة ما تزال صالحة. هكذا صُمم Authenticode
ليعمل، والتقرير يوضح ذلك عند حدوثه: تاريخ انتهاء صلاحية
في الماضي بجانب VALID ليس تناقضًا.
يمكن أن يحمل الملف أكثر من توقيع مضمَّن واحد، عادةً SHA-1 للتوافق
بالإضافة إلى SHA-256، وغالبًا ما يختلف الموقِّعون. يعرض
عمود Signer أحدها ويُميِّز الباقي كـ (+N)؛ تشغيل
--sigcheck على ملف واحد يسرد كل توقيع بخوارزمية الملخص الخاصة به
وشهادته وبصمته ورقمه التسلسلي.
--no-signature
+ تخطّي التحقق من التوقيع في --peinfo و--sigcheck، مع الإبلاغ
فقط عما إذا كان التوقيع موجودًا. مفيد مع المجلدات الكبيرة.
--sig-verify-mode MODE
+ أي توقيع مضمَّن يحدد حالة الملف متعدد التوقيعات:
any أو first أو all أو best. الافتراضي: best
يتبع best التوقيع المُنشأ بأقوى خوارزمية ملخص، وهي التي
يعتمدها Windows. يتبع first ترتيب الملف، مطابقًا لسلوك sigcheck.exe.
يتطلب all تحقق جميع التوقيعات، بينما يقبل any الملف عند تحقق
توقيع واحد فقط. الاختيار مهم: عبر 517 برنامج تشغيل متعدد التوقيعات،
تغيّرت حالة 37 منها اعتمادًا على هذا الإعداد، ويُبلِّغ any عن
VALID لـ 21 ملفًا يرفضها first.
--attack-map
+ تفعيل رسم خرائط تقنيات MITRE ATT&CK لتقارير السلوك.
GENERAL OPTIONS: خيارات تنسيق الإخراج والوكيل والذاكرة المؤقتة ومستوى التفاصيل
--output-format text|json|csv
+ تنسيق الإخراج: text (الافتراضي، طرفية ملونة)، json أو csv.
--proxy URL
+ عنوان URL لوكيل HTTP/HTTPS/SOCKS5 (مثل: socks5://127.0.0.1:9050).
--quiet
+ إخفاء اللافتة والمخرجات التجميلية.
--verbose
+ إظهار معلومات التصحيح (عناوين URL للطلبات، التوقيت، إلخ).
--no-cache
+ تعطيل التخزين المؤقت للنتائج.
--cache-ttl SECONDS
+ زمن بقاء الذاكرة المؤقتة بالثواني (الافتراضي: 3600).
--cache-stats
+ إظهار موقع ذاكرة النتائج المؤقتة المحلية، وعدد المدخلات التي تحتويها،
وكم منها منتهي الصلاحية في ظل --cache-ttl الحالي، وحجمها على القرص.
ثم الخروج.
--prune-cache
+ حذف المدخلات منتهية الصلاحية فقط من ذاكرة النتائج المؤقتة المحلية (وفقًا
لـ --cache-ttl) ثم الخروج.
--clear-cache
+ حذف كل مدخلات ذاكرة النتائج المؤقتة المحلية ثم الخروج.
--no-resolve
+ عدم حل أو تحديد الموقع الجغرافي لأسماء المضيفين الموجودة في النتائج. عادةً
ما يجعل سرد موجز (مثل قوائم URLHaus للحمولات والوسوم) مضيفك
يبحث عن كل URL يعرضه، مما يُخبر مشغّل تلك
البنية التحتية بأنها قيد التحقيق. مع هذا الخيار يعرض عمود الموقع
"Not Resolved" بدلاً من ذلك.
--defang
+ طباعة الـ IOCs المدرجة بواسطة --extract-iocs بصيغة معطَّلة (defanged)
(hxxp://example[.]com)، بحيث يمكن نسخها في تقرير أو تذكرة
دون أن تصبح قابلة للنقر. ينطبق ذلك على هذه القائمة فقط، ويغيّر
المخرجات فقط: لا تزال الاستعلامات تُنفَّذ بالقيم الحقيقية.
--no-ioc-filter
+ إيقاف تشغيل تصفية الضوضاء التي يطبقها --extract-iocs افتراضيًا.
عادةً يتم تخطي كتل <script> و<style> و<svg> في صفحة HTML،
ويُبلَّغ عن النطاق فقط عندما تكون آخر تسمية فيه نطاقًا أعلى مستوى حقيقيًا،
وتُحذف الروابط العائدة إلى الموقع المصدر أو إلى عناصر الصفحة المعروفة
(التحليلات، الخطوط، أزرار التواصل الاجتماعي). مع هذا الخيار يُبلَّغ عن كل
تطابق regex في المصدر الخام بدلاً من ذلك.
--report html|pdf
+ إنشاء تقرير بالصيغة المحددة.
يتطلب تصدير PDF: pip install malwoverview[pdf]
--report-file PATH
+ مسار الإخراج للتقرير المُنشأ.
--interactive
+ تشغيل وضع REPL التفاعلي.
--tui
+ تشغيل وضع لوحة TUI (واجهة مستخدم نصية) مع محدد خدمة،
وحقل إدخال استعلام، ولوحة نتائج قابلة للتمرير.
يتطلب: pip install malwoverview[tui]
--enrich
+ تفعيل إثراء النتائج بـ LLM. يُلحق تقييم تهديد مُنشأ بالذكاء الاصطناعي
بعد كل نتيجة استعلام. يعمل مع جميع أنواع الاستعلامات بما في ذلك البحث عن
تجزئات البرمجيات الخبيثة، وفحوصات سمعة IP، وبحوث CVE (NIST وVulnCheck)،
والترابط عبر الخدمات. يستخدم المزوّد المُهيأ في قسم [LLM] في ملف
.malwapi.conf أو ما يتم تجاوزه بـ --llm. المزوّدون المدعومون:
- claude: واجهة Anthropic Claude API (أفضل جودة، مدفوعة)
- gemini: واجهة Google Gemini API (تتطلب فوترة)
- openai: واجهة OpenAI API (مدفوعة، نماذج GPT)
- ollama: مثيل Ollama محلي (مجاني، خاص)
--llm PROVIDER
+ تجاوز مزوّد LLM للإثراء (يُستخدم مع --enrich).
أمثلة:
malwoverview -v 8 -V <hash> --enrich --llm claude
malwoverview --nist 2 --NIST CVE-2024-3400 --enrich --llm claude
malwoverview -vc 3 -VC CVE-2024-3400 --enrich --llm ollama
VULNERABILITY OPTIONS: خيارات الاستعلام في قاعدة بيانات الثغرات
NIST CVE Database Query:
خيارات الاستعلام في قاعدة بيانات NIST CVE (نوع الاستعلام وقيمته إلزاميان؛ الخيارات الأخرى اختيارية)
--nist NIST_OPTION, نوع الاستعلام: 1=بحث CPE/المنتج، 2=بحث بمعرّف CVE،
3=شدة CVSS v3، 4=بحث بالكلمات المفتاحية، 5=بحث بمعرّف CWE
--NIST NIST_ARG قيمة البحث (تعتمد الصيغة على نوع الاستعلام)
--time YEARS قصر النتائج على آخر N سنة
--rpp NUM النتائج في كل صفحة (الافتراضي: 100، الحد الأقصى: 2000)
--startindex NUM فهرس بداية ترقيم الصفحات (الافتراضي: 0)
--ncves NUM قصر المخرجات على أول N من CVEs
VulnCheck Database Query:
خيارات الاستعلام في قاعدة بيانات VulnCheck للثغرات (الطبقة المجتمعية/المجانية)
-vc VULNCHECK_OPTION, --vulncheck VULNCHECK_OPTION
+ نوع الاستعلام: 1: سرد الفهارس المتاحة؛
2: الحصول على KEV (الثغرات المعروفة المستغلة — Known Exploited Vulnerabilities)؛
3: البحث عن CVE في KEV؛
4: الحصول على رابط النسخة الاحتياطية لـ KEV؛
5: سرد CVEs من MITRE؛
6: سرد CVEs من NIST NVD2؛
7: البحث عن CVE في MITRE؛
8: البحث عن CVE في NIST NVD2.
-VC VULNCHECK_ARG, --VULNCHECK VULNCHECK_ARG
+ قيمة البحث (معرّف CVE للخيارات 3/7/8، الحد الأقصى للنتائج للخيارات
2/5/6، مثل: 50).
ابتداءً من الإصدار 8.0، يدعم Malwoverview صيغة أوامر فرعية بديلة إلى جانب الصيغة التقليدية القائمة على الخيارات. كلتا الصيغتين مدعومتان بالكامل وتنتجان نتائج متطابقة.
الأوامر الفرعية المتاحة:
vt عمليات VirusTotal (file, av, hash, url, ip, domain, submit, behavior, batch)
ha عمليات Hybrid Analysis (report, submit, download, batch, dir)
bazaar عمليات Malware Bazaar (hash, tag, download, batch, dir)
triage عمليات Triage (search, summary, submit, dynamic, batch, dir)
urlhaus عمليات URLHaus (hash, url, tag, download, batch)
ip عمليات البحث عن عناوين IP (info, shodan, abuse, greynoise, all, batch)
whois عمليات البحث Whois/RDAP (domain, ip)
shodan عمليات Shodan (ip, search)
correlate الترابط عبر الخدمات (hash)
extract استخراج IOCs من ملفات أو URLs
yara فحص قواعد YARA
nist استعلامات قاعدة بيانات NIST CVE
vulncheck استعلامات قاعدة بيانات VulnCheck
أمثلة على الأوامر الفرعية (مكافئة للصيغة القائمة على الخيارات):
# These pairs are equivalent:
malwoverview vt hash <sha256> # same as: malwoverview -v 8 -V <sha256>
malwoverview vt behavior <sha256> # same as: malwoverview -v 12 -V <sha256>
malwoverview ha report <hash> --env 3 # same as: malwoverview -a 3 -A <hash>
malwoverview ha batch <hashfile> # same as: malwoverview -a 12 -A <hashfile>
malwoverview bazaar hash <sha256> # same as: malwoverview -b 1 -B <sha256>
malwoverview bazaar batch <hashfile> # same as: malwoverview -b 11 -B <hashfile>
malwoverview bazaar dir <directory> # same as: malwoverview -b 12 -B <directory>
malwoverview triage search sha256:<value> # same as: malwoverview -x 1 -X sha256:<value>
malwoverview triage batch <hashfile> # same as: malwoverview -x 8 -X <hashfile>
malwoverview ip all <ipaddr> # same as: malwoverview -ip 7 -IP <ipaddr>
malwoverview ip shodan <ipaddr> # same as: malwoverview -ip 4 -IP <ipaddr>
malwoverview ip batch <ipfile> # same as: malwoverview -ip 8 -IP <ipfile>
malwoverview whois domain <domain> # same as: malwoverview -wh 1 -WH <domain>
malwoverview correlate hash <sha256> # same as: malwoverview --correlate-hash <sha256>
malwoverview extract <file|url> # same as: malwoverview --extract-iocs <file|url>
malwoverview yara <rules> <target> # same as: malwoverview --yara <rules> --yara-target <target>
malwoverview nist 2 CVE-2021-44228 # same as: malwoverview --nist 2 --NIST CVE-2021-44228
استخدم --help مع أي أمر فرعي للحصول على التفاصيل:
malwoverview vt --help
malwoverview ip --help
malwoverview ha report --help
malwoverview -v 1 -V 95a8370c36d81ea596d83892115ce6b90717396c8f657b17696c7eeb2dba1d2e.exe
malwoverview -v 2 -V 95a8370c36d81ea596d83892115ce6b90717396c8f657b17696c7eeb2dba1d2e.exe
malwoverview -v 3 -V 95a8370c36d81ea596d83892115ce6b90717396c8f657b17696c7eeb2dba1d2e.exe
malwoverview -v 4 -V 95a8370c36d81ea596d83892115ce6b90717396c8f657b17696c7eeb2dba1d2e.exe,
malwoverview -v 5 -V http://jamogames.com/templates/JLHk/
malwoverview -v 6 -V 185.220.100.243
malwoverview -v 7 -V xurl.es
malwoverview -v 8 -V ab4d6a82cafc92825a0b88183325855f0c44920da970b42c949d5d5ffdcc0585
malwoverview -v 9 -V cc2d791b16063a302e1ebd35c0e84e6cf6519e90bb710c958ac4e4ddceca68f7.exe
malwoverview -v 10 -V /home/remnux/malware/hash_list_3.txt
malwoverview -v 11 -V /home/remnux/malware/hash_list_3.txt
malwoverview -v 12 -V 9d26e19b8fc5819b634397d48183637bacc9e1c62d8b1856b8116141cb8b4000
malwoverview -v 13 -V /largefiles/4b3b46558cffe1c0b651f09c719af2779af3e4e0e43da060468467d8df445e93
malwoverview -v 14 -V /home/remnux/rules/apt_rules.yar
malwoverview -v 14 -V /home/remnux/rules/
malwoverview -v 15
malwoverview -v 16 -V 1712345678-abcdef0123456789
malwoverview -v 17 -V 1712345678-abcdef0123456789
malwoverview -v 18 -V /home/remnux/rules/livehunt.yar
malwoverview -v 19
malwoverview -v 20
malwoverview -a 1 -A 2e1fcadbac81296946930fe3ba580fd0b1aca11bc8ffd7cefa19dea131274ae8
malwoverview -a 1 -A 2e1fcadbac81296946930fe3ba580fd0b1aca11bc8ffd7cefa19dea131274ae8.exe
malwoverview -a 2 -A 2e1fcadbac81296946930fe3ba580fd0b1aca11bc8ffd7cefa19dea131274ae8
malwoverview -a 3 -A 2e1fcadbac81296946930fe3ba580fd0b1aca11bc8ffd7cefa19dea131274ae8
malwoverview -a 4 -A malware1.apk
malwoverview -a 4 -A 82eb6039cdda6598dc23084768e18495d5ebf3bc3137990280bc0d9351a483eb
malwoverview -a 5 -A 2b03806939d1171f063ba8d14c3b10622edb5732e4f78dc4fe3eac98b56e5d46
malwoverview -a 5 -A 2b03806939d1171f063ba8d14c3b10622edb5732e4f78dc4fe3eac98b56e5d46.elf
malwoverview -a 6 -A 47eccaaa672667a9cea23e24fd702f7b3a45cbf8585403586be474585fd80243.exe
malwoverview -a 7 -A 47eccaaa672667a9cea23e24fd702f7b3a45cbf8585403586be474585fd80243.exe
malwoverview -a 8 -A 47eccaaa672667a9cea23e24fd702f7b3a45cbf8585403586be474585fd80243.exe
malwoverview -a 9 -A malware_7.apk
malwoverview -a 10 -A 925f649617743f0640bdfff4b6b664b9e12761b0e24bbb99ca72740545087ad2.elf
malwoverview -a 11 -A cd856b20a5e67a105b220be56c361b21aff65cac00ed666862b6f96dd190775e
malwoverview -a 12 -A /home/remnux/malware/hash_list.txt
malwoverview -a 13 -A /home/remnux/malware/samples/
malwoverview -l 1 -L d3dcc08c9b955cd3f68c198e11d5788869d1b159dc8014d6eaa39e6c258123b0
malwoverview -l 2
malwoverview -l 3
malwoverview -l 4
malwoverview -l 5
malwoverview -l 6
malwoverview -l 8 -L PE32
malwoverview -j 1 -J 7c99d644cf39c14208df6d139313eaf95123d569a9206939df996cfded6924a6
malwoverview -j 2 -J 7c99d644cf39c14208df6d139313eaf95123d569a9206939df996cfded6924a6
malwoverview -j 3 -J https://unada.us/acme-challenge/3NXwcYNCa/
malwoverview -j 4 -J Qakbot
malwoverview -j 5 -J Emotet
malwoverview -j 5 -J Icedid
malwoverview -j 6
malwoverview -j 7
malwoverview -j 8 -J /home/remnux/malware/hash_list.txt
malwoverview -p 1 -P 1999ba265cd51c94e8ae3a6038b3775bf9a49d6fe57d75dbf1726921af8a7ab2
malwoverview -p 2 -P 301524c3f959d2d6db9dffdf267ab16a706d3286c0b912f7dda5eb42b6d89996.exe
malwoverview -p 3 -P 68c11ef39769674123066bcd52e1d687502eb6c4c0788b4f682e8d31c15e5306
malwoverview -p 4 -P 68c11ef39769674123066bcd52e1d687502eb6c4c0788b4f682e8d31c15e5306.exe
malwoverview -p 5 -P 188.40.75.132
malwoverview -p 6 -P covid19tracer.ca
malwoverview -p 7 -P http://ksahosting.net/wp-includes/utf8.php
malwoverview -p 8 -P Qakbot
malwoverview -y 1
malwoverview -y 2
malwoverview -y 3
malwoverview -y 4 -Y com.spaceship.netprotect
malwoverview -y 5 -Y com.mwr.dz
malwoverview -v 1 -V 368afeda7af69f329e896dc86e9e4187a59d2007e0e4b47af30a1c117da0d792.apk
malwoverview -n 1 -N 10
malwoverview -n 2 -N 176.57.215.100
malwoverview -n 3 -N threesmallhills.com
malwoverview -n 4 -N 6d1756aa6b45244764409398305c460368d64ff9 -o 0
malwoverview -n 5 -N http://ksahosting.net/wp-includes/utf8.php
malwoverview -m 1 | more
malwoverview -m 2 | more
malwoverview -m 3 | more
malwoverview -m 4 -M apt41 | more
malwoverview -m 5 | more
malwoverview -m 6 -M win.qakbot
malwoverview -m 7 -M 3d375d0ead2b63168de86ca2649360d9dcff75b3e0ffa2cf1e50816ec92b3b7d
malwoverview -m 8 -M win.qakbot
malwoverview -m 9 -M tlp_white
malwoverview -m 9 -M tlp_green
malwoverview -b 1 -B c9d7b5d06cd8ab1a01bf0c5bf41ef2a388e41b4c66b1728494f86ed255a95d48
malwoverview -b 2 -B Revil | more
malwoverview -b 3 -B f34d5f2d4577ed6d9ceec516c1f5a744
malwoverview -b 4 -B 100
malwoverview -b 4 -B time | more
malwoverview -b 5 -B bda50ff249b947617d9551c717e78131ed32bf77db9dc5b7591d3e1af6cb2f1a
malwoverview -b 6 -B 3 | more
malwoverview -b 7 -B 193.150.103.37:21330
malwoverview -b 8 -B Magecart | more
malwoverview -b 9 -B "Cobalt Strike"
malwoverview -b 10 | more
malwoverview -x 1 -X score:10 | more
malwoverview -x 1 -X 71382e72d8fb3728dc8941798ab1c180493fa978fd7eadc1ab6d21dae0d603e2
malwoverview -x 2 -X 220315-qxzrfsadfl
malwoverview -x 3 -X cd856b20a5e67a105b220be56c361b21aff65cac00ed666862b6f96dd190775e
malwoverview -x 4 -X http://ztechinternational.com/Img/XSD.exe
malwoverview -x 5 -X 220315-xmbp7sdbel
malwoverview -x 6 -X 220315-xmbp7sdbel
malwoverview -x 7 -X 220315-xmbp7sdbel
malwoverview -ip 1 -IP 8.8.8.8
malwoverview -ip 3 -IP 8.8.8.8
malwoverview -b 5 -B <hash> -O <directory>
malwoverview -b 11 -B /home/remnux/malware/hash_list.txt
malwoverview -b 12 -B /home/remnux/malware/samples/
malwoverview -b 13 -B Windows_Trojan_Emotet
malwoverview -b 14
malwoverview -b 15
malwoverview -x 8 -X /home/remnux/malware/hash_list.txt
malwoverview -x 9 -X /home/remnux/malware/samples/
malwoverview -ip 4 -IP 8.8.8.8
malwoverview -ip 5 -IP 8.8.8.8
malwoverview -ip 6 -IP 8.8.8.8
malwoverview -ip 7 -IP 8.8.8.8
malwoverview -ip 8 -IP /home/remnux/malware/ip_list.txt
malwoverview -ip 8 -IP /home/remnux/malware/ip_list.txt -D 1
malwoverview -s 1 -S 8.8.8.8
malwoverview -s 2 -S "apache"
malwoverview -ab 1 -AB 185.220.100.243
malwoverview -gn 1 -GN 185.220.100.243
malwoverview -wh 1 -WH example.com
malwoverview -wh 2 -WH 8.8.8.8
malwoverview -ct 1 -CT iana.org
malwoverview -ct 2 -CT iana.org
malwoverview -u 1 -U https://example.com
malwoverview -u 2 -U 019ce889-ab8d-768b-894e-3e5bf5401f8d
malwoverview -u 3 -U task.tags:phishing
malwoverview -u 4 -U example.com
malwoverview -u 5 -U 8.8.8.8
malwoverview --correlate-hash ab4d6a82cafc92825a0b88183325855f0c44920da970b42c949d5d5ffdcc0585
malwoverview --extract-iocs /home/remnux/malware/report.txt
malwoverview --extract-iocs /home/remnux/malware/report.pdf
malwoverview --extract-iocs https://example.com/threat-report.html
malwoverview --yara /home/remnux/rules/malware.yar --yara-target /home/remnux/malware/samples/
malwoverview --yara /home/remnux/rules/ --yara-target /home/remnux/malware/samples/
malwoverview --peinfo /home/remnux/malware/samples/
malwoverview --peinfo /home/remnux/malware/dropper.exe
malwoverview --peinfo /home/remnux/malware/samples/ --entropy-threshold 7.5
malwoverview --peinfo /home/remnux/malware/samples/ --output-format csv
malwoverview --peinfo /home/remnux/malware/samples/ --no-signature
malwoverview --sigcheck /home/remnux/malware/suspicious.exe
malwoverview --sigcheck /home/remnux/malware/samples/
malwoverview --sigcheck /home/remnux/malware/samples/ --output-format json
malwoverview --sigcheck /home/remnux/malware/samples/ --sig-verify-mode all
malwoverview --interactive
malwoverview --tui
malwoverview -v 8 -V <hash> --output-format json
malwoverview -ip 3 -IP 8.8.8.8 --proxy socks5://127.0.0.1:9050
malwoverview -v 12 -V <hash> --attack-map
malwoverview -a 1 -A <hash> --attack-map
malwoverview --correlate-hash <hash> --attack-map
# Local result cache
malwoverview --cache-stats
malwoverview --prune-cache
malwoverview --clear-cache
# Download the YARAify rule set and scan with it (-b 15 extracts into
# <output directory>/yaraify-rules, so use the same -O for both steps)
malwoverview -b 14 -O /home/remnux/rules
malwoverview -b 15 -O /home/remnux/rules
malwoverview --yara /home/remnux/rules/yaraify-rules --yara-target /home/remnux/malware/samples/
# Malpedia rule set (-m 9 saves malpedia_yara_<level>.zip; extract it first)
malwoverview -m 9 -M tlp_white -O /home/remnux/rules
unzip /home/remnux/rules/malpedia_yara_tlp_white.zip -d /home/remnux/rules/malpedia
malwoverview --yara /home/remnux/rules/malpedia --yara-target /home/remnux/malware/samples/
# LLM enrichment (append AI threat assessment to any query)
malwoverview -v 8 -V <hash> --enrich # uses provider from config
malwoverview -v 8 -V <hash> --enrich --llm claude # override: use Claude
malwoverview -v 8 -V <hash> --enrich --llm ollama # override: use Ollama
malwoverview -v 8 -V <hash> --enrich --llm openai # override: use OpenAI
malwoverview -ip 1 -IP 8.8.8.8 --enrich
malwoverview --correlate-hash <hash> --enrich
malwoverview --nist 2 --NIST CVE-2024-3400 --enrich # CVE enrichment (NIST)
malwoverview -vc 3 -VC CVE-2024-3400 --enrich # CVE enrichment (VulnCheck)
malwoverview --nist 4 --NIST palo alto --enrich # keyword search + enrichment
# VirusTotal
malwoverview vt hash ab4d6a82cafc92825a0b88183325855f0c44920da970b42c949d5d5ffdcc0585
malwoverview vt file 95a8370c36d81ea596d83892115ce6b90717396c8f657b17696c7eeb2dba1d2e.exe
malwoverview vt av 95a8370c36d81ea596d83892115ce6b90717396c8f657b17696c7eeb2dba1d2e.exe
malwoverview vt url http://jamogames.com/templates/JLHk/
malwoverview vt ip 185.220.100.243
malwoverview vt domain xurl.es
malwoverview vt submit cc2d791b16063a302e1ebd35c0e84e6cf6519e90bb710c958ac4e4ddceca68f7.exe
malwoverview vt behavior 9d26e19b8fc5819b634397d48183637bacc9e1c62d8b1856b8116141cb8b4000
malwoverview vt batch /home/remnux/malware/hash_list_3.txt
malwoverview vt batch /home/remnux/malware/hash_list_3.txt --public
# Hybrid Analysis
malwoverview ha report 2e1fcadbac81296946930fe3ba580fd0b1aca11bc8ffd7cefa19dea131274ae8
malwoverview ha report 2e1fcadbac81296946930fe3ba580fd0b1aca11bc8ffd7cefa19dea131274ae8 --env 3
malwoverview ha submit 47eccaaa672667a9cea23e24fd702f7b3a45cbf8585403586be474585fd80243.exe
malwoverview ha download cd856b20a5e67a105b220be56c361b21aff65cac00ed666862b6f96dd190775e
malwoverview ha batch /home/remnux/malware/hash_list.txt
malwoverview ha dir /home/remnux/malware/samples/
# Malware Bazaar
malwoverview bazaar hash c9d7b5d06cd8ab1a01bf0c5bf41ef2a388e41b4c66b1728494f86ed255a95d48
malwoverview bazaar tag Revil | more
malwoverview bazaar download bda50ff249b947617d9551c717e78131ed32bf77db9dc5b7591d3e1af6cb2f1a
malwoverview bazaar batch /home/remnux/malware/hash_list.txt
malwoverview bazaar dir /home/remnux/malware/samples/
# Triage
malwoverview triage search score:10 | more
malwoverview triage search sha256:71382e72d8fb3728dc8941798ab1c180493fa978fd7eadc1ab6d21dae0d603e2
malwoverview triage summary 220315-qxzrfsadfl
malwoverview triage submit cd856b20a5e67a105b220be56c361b21aff65cac00ed666862b6f96dd190775e
malwoverview triage dynamic 220315-xmbp7sdbel
malwoverview triage batch /home/remnux/malware/hash_list.txt
malwoverview triage dir /home/remnux/malware/samples/
# URLHaus
malwoverview urlhaus hash 7c99d644cf39c14208df6d139313eaf95123d569a9206939df996cfded6924a6
malwoverview urlhaus url https://unada.us/acme-challenge/3NXwcYNCa/
malwoverview urlhaus tag Qakbot
malwoverview urlhaus download 7c99d644cf39c14208df6d139313eaf95123d569a9206939df996cfded6924a6
# IP lookups
malwoverview ip info 8.8.8.8
malwoverview ip shodan 8.8.8.8
malwoverview ip abuse 185.220.100.243
malwoverview ip greynoise 185.220.100.243
malwoverview ip all 8.8.8.8
# Shodan (standalone)
malwoverview shodan ip 8.8.8.8
malwoverview shodan search "apache"
# Whois
malwoverview whois domain example.com
malwoverview whois ip 8.8.8.8
# Cross-service correlation
malwoverview correlate hash ab4d6a82cafc92825a0b88183325855f0c44920da970b42c949d5d5ffdcc0585
# IOC extraction (text, PDF, email, or URL)
malwoverview extract /home/remnux/malware/report.txt
malwoverview extract /home/remnux/malware/report.pdf
malwoverview extract https://example.com/threat-report.html
# YARA scanning
malwoverview yara /home/remnux/rules/malware.yar /home/remnux/malware/samples/
# NIST CVE queries
malwoverview nist 1 "windows" --ncves 50
malwoverview nist 2 CVE-2021-44228
malwoverview nist 3 CRITICAL --ncves 50
malwoverview nist 4 "remote code execution" --ncves 50
# VulnCheck queries
malwoverview vulncheck 2 30
malwoverview vulncheck 3 CVE-2021-44228
# Subcommands combined with global options
malwoverview vt hash <sha256> --output-format json
malwoverview ip all 8.8.8.8 --proxy socks5://127.0.0.1:9050
malwoverview vt behavior <sha256> --attack-map
malwoverview --interactive
# Inside the prompt (type "help" for the full list):
vt hash ab4d6a82cafc92825a0b88183325855f0c44920da970b42c949d5d5ffdcc0585
vt file /home/remnux/malware/sample.exe
vt behavior 9d26e19b8fc5819b634397d48183637bacc9e1c62d8b1856b8116141cb8b4000
vt batch /home/remnux/malware/hash_list.txt
vt retrohunt submit /home/remnux/rules/
vt retrohunt list
vt retrohunt status 1712345678-abcdef0123456789
vt livehunt notifications
bazaar yara Windows_Trojan_Emotet
bazaar yaradownload
bazaar yaraextract
bazaar dir /home/remnux/malware/samples/
urlhaus batch /home/remnux/malware/hash_list.txt
urlhaus payloads
triage submit /home/remnux/malware/sample.exe
triage pcap 220315-xmbp7sdbel
malpedia ruleset tlp_white
malpedia meta emotet
malshare types
malshare type PE32
hybrid file /home/remnux/malware/sample.exe
hybrid dir /home/remnux/malware/samples/
threatfox malwarelist
ip batch /home/remnux/malware/ip_list.txt
ip multi 8.8.8.8
ip all 8.8.8.8
crtsh subdomains iana.org
crtsh certs iana.org
android ha
android sendvt com.example.app
yara /home/remnux/rules/ /home/remnux/malware/samples/
iocs /home/remnux/malware/report.pdf
peinfo /home/remnux/malware/samples/
peinfo /home/remnux/malware/samples/ 7.5
sigcheck /home/remnux/malware/suspicious.exe
cache stats
cache prune
set attack on
set enrich claude
export json
export csv results.csv # the export path must be inside the current directory
malwoverview --tui
# Pick a service on the left panel, type the query, press Enter.
# F3 copies the result, F4 picks an ID out of it, F5 exports the
# collected results to json, F6 exports them to csv, Ctrl+L clears.
# Ctrl+V (or Shift+Insert) pastes the clipboard into the query box from
# anywhere in the dashboard, so a hash can be pasted without clicking
# into the box first.
# The key list is printed above the results and is written again every
# time the pane is cleared, which includes the start of every search.
# While the query box has the focus, quitting is Ctrl+Q, because Q itself
# has to remain typeable.
# Search for Windows vulnerabilities
malwoverview --nist 1 --NIST "windows" --ncves 50
# Search for Apache vulnerabilities
malwoverview --nist 1 --NIST "apache" --ncves 30
# Search for Chrome vulnerabilities
malwoverview --nist 1 --NIST "chrome" --ncves 25
# Search for Chromium vulnerabilities
malwoverview --nist 1 --NIST "chromium" --ncves 25
# Search for Linux vulnerabilities
malwoverview --nist 1 --NIST "linux" --ncves 25
# Search for MacOS vulnerabilities
malwoverview --nist 1 --NIST "MacOS" --ncves 25
# Search for Log4Shell vulnerability
malwoverview --nist 2 --NIST "CVE-2021-44228"
# Search for ProxyShell vulnerability
malwoverview --nist 2 --NIST "CVE-2021-34473"
# Search for Spring4Shell vulnerability
malwoverview --nist 2 --NIST "CVE-2022-22965"
# Search for CRITICAL severity vulnerabilities
malwoverview --nist 3 --NIST "CRITICAL" --ncves 50
# Search for HIGH severity vulnerabilities
malwoverview --nist 3 --NIST "HIGH" --ncves 40
# Search for MEDIUM severity vulnerabilities
malwoverview --nist 3 --NIST "MEDIUM" --ncves 30
# Search for Authentication Bypass vulnerabilities
malwoverview --nist 4 --NIST "authentication bypass" --ncves 30
# Search for Remote Code Execution (RCE) vulnerabilities
malwoverview --nist 4 --NIST "remote code execution" --ncves 50
# Search for SQL injection vulnerabilities
malwoverview --nist 4 --NIST "sql injection" --ncves 25
# Search for Path Traversal vulnerabilities (CWE-22)
malwoverview --nist 5 --NIST "CWE-22" --ncves 30
# Search for SQL Injection vulnerabilities (CWE-89)
malwoverview --nist 5 --NIST "CWE-89" ---ncves 40
# Search for Cross-Site Scripting vulnerabilities (CWE-79)
malwoverview --nist 5 --NIST "CWE-79" --ncves 35
# List available VulnCheck indexes (Community/Free tier)
malwoverview -vc 1
# Get Known Exploited Vulnerabilities (KEV) - 30 results
malwoverview -vc 2 -VC 30
# Get Known Exploited Vulnerabilities (KEV) - 100 results
malwoverview -vc 2 -VC 100
# Search for a specific CVE in KEV database
malwoverview -vc 3 -VC CVE-2021-44228
# Search for a specific CVE in KEV database
malwoverview -vc 3 -VC CVE-2022-22965
# Get backup download link for VulnCheck KEV dataset
malwoverview -vc 4
# List recent CVEs from MITRE database
malwoverview -vc 5
# List recent CVEs from MITRE database - 20 results
malwoverview -vc 5 -VC 20
# List recent CVEs from NIST NVD2 database
malwoverview -vc 6
# List recent CVEs from NIST NVD2 database - 50 results
malwoverview -vc 6 -VC 50
# Search for specific CVE in MITRE database (official CVE records)
malwoverview -vc 7 -VC CVE-2024-21412
# Search for specific CVE in NIST NVD2 (CVSS scores, CWE, CISA KEV status)
malwoverview -vc 8 -VC CVE-2024-21412
من القائمة نفسها موجودة في كتلة 8.1.0 تحت سجل التغييرات، أدناه.
التغيير الكاسر الوحيد. كانت خيارات تنزيل Hybrid Analysis الخمسة تفعل الشيء نفسه، لذا دُمجت في خيار واحد وانتقل الخياران اللذان يليانها إلى الأسفل:
# تنزيل عينة من Hybrid Analysis (كان -a 11 أو -a 12 أو -a 13 أو -a 14 أو -a 15)
malwoverview -a 11 -A 495c7e5513fa7766c236e76d8520139139fc4ad7203ddcb2ccdae17bdb691979
# فحص هاش دفعاتي من ملف (كان -a 16)
malwoverview -a 12 -A /home/remnux/malware/hashes.txt
# مسح كل ملف في دليل (كان -a 17)
malwoverview -a 13 -A /home/remnux/malware/samples/
حافظ كل خيار آخر على رقمه. جميع الأرقام الجديدة إضافية.
# فرز أولي لدليل: النوع، الحجم، التراكب، حجم التراكب، الإنتروبيا، التوقيع
malwoverview --peinfo /home/remnux/malware/samples/
# خفض الحد الأدنى لما يُعتبر معبأً أو مشفّراً (الافتراضي 7.0)
malwoverview --peinfo /home/remnux/malware/samples/ --entropy-threshold 6.5
# تخطّي التحقق من التوقيع في مسح واسع النطاق
malwoverview --peinfo /home/remnux/malware/samples/ --no-signature
# YARA يقبل الآن دليلاً كاملاً للقواعد، يُفحص بشكل تكراري
malwoverview --yara /home/remnux/rules/ --yara-target /home/remnux/malware/samples/
# ملف واحد: الحالة، الموقّع، المُصدِر، تواريخ الشهادة، البصمة، الرقم التسلسلي
malwoverview --sigcheck /home/remnux/malware/suspicious.exe
# دليل كامل، صف واحد لكل ملف
malwoverview --sigcheck /home/remnux/malware/samples/
يمكن أن يحمل الملف عدة توقيعات مضمّنة — عادةً SHA-1 للتوافق بالإضافة إلى SHA-256 — وغالباً ما يكون الموقّعون مختلفين. يشير الجدول إلى التوقيعات الإضافية بعلامة (+N)؛ شغّل صيغة الملف الواحد لسردها جميعاً. أي توقيع يحدد الحالة قابل للاختيار:
# أقوى ملخّص هو الفيصل (الافتراضي، وما يعتدّ به Windows)
malwoverview --sigcheck /home/remnux/malware/driver.sys --sig-verify-mode best
# الأول في ترتيب الملف هو الفيصل (ما يبلّغ عنه sigcheck.exe)
malwoverview --sigcheck /home/remnux/malware/driver.sys --sig-verify-mode first
# يجب أن ينجح التحقق من كل توقيع (الأشد)
malwoverview --sigcheck /home/remnux/malware/driver.sys --sig-verify-mode all
# نجاح تحقق أي توقيع واحد يكفي (الأكثر تساهلاً)
malwoverview --sigcheck /home/remnux/malware/driver.sys --sig-verify-mode any
تظهر الآن بيانات توقيع VirusTotal الخاصة أيضاً، لذا فإن البحث بالهاش يبلّغ عن سلسلة الموقّعين وتاريخ التوقيع وبصمة كل شهادة:
# كتلة التوقيع من VirusTotal، بالهاش
malwoverview -v 8 -V 495c7e5513fa7766c236e76d8520139139fc4ad7203ddcb2ccdae17bdb691979
# نفس الكتلة عند فحص ملف محلي
malwoverview -v 1 -V /home/remnux/malware/suspicious.exe
# أسماء DNS المميزة الظاهرة في شهادات صادرة لنطاق
malwoverview -ct 1 -CT example.com
# الشهادات نفسها: المعرّف، المُصدِر، الاسم الشائع، الصلاحية
malwoverview -ct 2 -CT example.com
# إرسال مهمة Retrohunt من ملف قواعد أو دليل قواعد
malwoverview -v 14 -V /home/remnux/rules/hunting.yar
# سرد مهام Retrohunt لديك، مع إمكانية التصفية حسب الحالة
malwoverview -v 15
malwoverview -v 15 -V finished
# حالة مهمة واحدة وتقدمها، ثم الملفات التي طابقتها
malwoverview -v 16 -V 1234abcd-5678-90ef-1234-567890abcdef
malwoverview -v 17 -V 1234abcd-5678-90ef-1234-567890abcdef
# إنشاء مجموعة قواعد Livehunt، وسرد مجموعات القواعد لديك، وسرد الإشعارات
malwoverview -v 18 -V /home/remnux/rules/livehunt.yar
malwoverview -v 19
malwoverview -v 20
يعرض البحث بالهاش الآن قواعد YARA التي طابقت العينة، ومن هنا يأتي اسم القاعدة للأمر التالي:
# 1. ابحث عن عينة: ينتهي التقرير بالقواعد التي طابقتها
malwoverview -b 1 -B 3b89db05cd1e6283a5d23e32eb6a6c17d92953c80c93befa194a0c93a633c1b5
tags: elf Mirai upx-dec
yara rules:
ELF_Mirai
linux_generic_ipv6_catcher
unixredflags3
# 2. خذ أحد تلك الأسماء واسحب كل عينة أخرى طابقها
malwoverview -b 13 -B ELF_Mirai
أسماء القواعد موجودة أيضاً في مجموعات القواعد نفسها، التي يمكن تنزيلها وقراءتها محلياً:
# تنزيل مجموعة قواعد YARAify من abuse.ch، ثم استخراجها.
# كلاهما يستخدم -O لدليل العمل؛ -b 15 يجد الأرشيف هناك.
malwoverview -b 14 -O /home/remnux/rules/
malwoverview -b 15 -O /home/remnux/rules/
يصل الأرشيف باسم /home/remnux/rules/yaraify-rules.zip ويُستخرج إلى /home/remnux/rules/yaraify-rules/، ملف .yar واحد لكل قاعدة. هذا الدليل هو هدف --yara، وأسماء ملفاته هي أسماء القواعد:
malwoverview --yara /home/remnux/rules/yaraify-rules/ --yara-target /home/remnux/malware/samples/
لن تُصرَّف مجموعة قواعد مجمّعة من مؤلفين كثيرين بنظافة مع كل إصدار من YARA. تُسرد الملفات ذات الأخطاء النحوية وتُتخطى، ويُجرى الفحص مع البقية: تشغيل للمجموعة أعلاه صرّف 548 من 557 ملفاً.
# مجموعة قواعد Malpedia YARA الكاملة لمستوى TLP
malwoverview -m 9 -M white
# -m 1 كان يعيد قائمة العائلة؛ يعيد الآن معلومات وصفية للعائلة
malwoverview -m 1
# -l 6 يسرد أنواع الملفات الظاهرة في آخر 24 ساعة، و -l 8 يسرد أحدها
malwoverview -l 6
malwoverview -l 8 -L PE32
# -ip 3 و -ip 7 كانا متطابقين؛ -ip 3 هو VirusTotal + OTX،
# -ip 7 يستعلم كل خدمة مكوّنة (لم يكن يتم الوصول إلى IPInfo أبداً)
malwoverview -ip 3 -IP 8.8.8.8
malwoverview -ip 7 -IP 8.8.8.8
# -j 8 (فحص هاش دفعاتي على URLhaus) كان غير قابل للوصول
malwoverview -j 8 -J /home/remnux/malware/hashes.txt
أصبح json و csv يعملان الآن عبر الأداة كلها بدلاً من ثلثها:
malwoverview -v 8 -V 495c7e5513fa7766c236e76d8520139139fc4ad7203ddcb2ccdae17bdb691979 --output-format json
malwoverview --sigcheck /home/remnux/malware/samples/ --output-format csv
malwoverview -b 6 -B 3 --output-format json
# إثراء LLM يشمل json و csv أيضاً، كسجل بنوع محدد
malwoverview -v 8 -V 495c7e5513fa7766c236e76d8520139139fc4ad7203ddcb2ccdae17bdb691979 --enrich --output-format json
# عدم تحليل أسماء المضيفين التي يتحكم فيها المهاجم إلى عناوين IP
malwoverview -j 2 -J http://malicious.example.com/payload.bin --no-resolve
# تعطيل مؤشرات الاختراق المستخرجة بحيث يمكن لصق القائمة في تذكرة
malwoverview --extract-iocs /home/remnux/malware/report.txt --defang
# يمكن أن يكون المصدر رابطاً أيضاً، لذا يمكن قراءة تقرير منشور
# وتعطيل مؤشرات الاختراق الخاصة به في خطوة واحدة
malwoverview --extract-iocs https://example.com/threat-report.html --defang
# مدونة بائع هي غالباً تنقّل وتحليلات وجافاسكربت مصغّرة، لذا
# يتخطى المستخرج <script> و <style> و <svg>، ويسقط الروابط العائدة إلى
# موقع المصدر وإلى عناصر صفحة معروفة، ولا يبلّغ عن نطاق إلا عندما تكون
# آخر تسمية فيه نطاق أعلى مستوى حقيقي
malwoverview --extract-iocs https://www.fortinet.com/blog/threat-research/dprk-related-campaigns-with-lnk-and-github-c2
# عطّل كل ذلك وبلّغ عن كل تطابق regex في المصدر الخام
malwoverview --extract-iocs https://example.com/threat-report.html --no-ioc-filter
malwoverview --cache-stats
malwoverview --prune-cache
malwoverview --clear-cache
# REPL لسطر الأوامر
malwoverview --interactive
# لوحة تحكم بملء الشاشة: 111 خدمة، Ctrl+V للصق، F5 لتصدير json،
# F6 لتصدير csv
malwoverview --tui
أضاف 8.0.0 الكثير دفعة واحدة، لذا جُمعت الأوامر هنا حسب الغرض منها بدلاً من رقم الخيار. كانت 8.0.1 إلى 8.0.5 إصلاحات في الغالب وهي في النهاية. حيث غيّر 8.1.0 لاحقاً رقماً لخيار، يستخدم الأمر أدناه الرقم الحالي ويذكر ما كان عليه من قبل.
# URLScan.io (-u): إرسال رابط، جلب نتيجة بالمعرّف، بحث،
# ثم البحث عن نطاق أو عنوان IP
malwoverview -u 1 -U https://example.com
malwoverview -u 2 -U 019ce889-ab8d-768b-894e-3e5bf5401f8d
malwoverview -u 3 -U task.tags:phishing
malwoverview -u 4 -U example.com
malwoverview -u 5 -U 8.8.8.8
# Shodan (-s): عنوان IP واحد، أو استعلام بحث
malwoverview -s 1 -S 8.8.8.8
malwoverview -s 2 -S "apache"
# AbuseIPDB (-ab): سمعة عنوان IP
malwoverview -ab 1 -AB 185.220.100.243
# GreyNoise (-gn): ضجيج إنترنت في الخلفية، أم موجّه إليك؟
malwoverview -gn 1 -GN 185.220.100.243
# Whois / RDAP (-wh): نطاق، ثم عنوان IP
malwoverview -wh 1 -WH example.com
malwoverview -wh 2 -WH 8.8.8.8
يمكن الوصول إلى خدمات IP الجديدة أيضاً من -ip، لذا يمكن معالجة عنوان واحد خدمةً خدمة، أو عبر جميعها دفعة واحدة:
malwoverview -ip 4 -IP 8.8.8.8
malwoverview -ip 5 -IP 8.8.8.8
malwoverview -ip 6 -IP 8.8.8.8
malwoverview -ip 7 -IP 8.8.8.8
malwoverview --correlate-hash ab4d6a82cafc92825a0b88183325855f0c44920da970b42c949d5d5ffdcc0585
# Malware Bazaar: ملف بهاشات، ثم دليل عينات
malwoverview -b 11 -B /home/remnux/malware/hash_list.txt
malwoverview -b 12 -B /home/remnux/malware/samples/
# Hybrid Analysis (رقّم 8.0.0 هذه بـ -a 16 و -a 17)
malwoverview -a 12 -A /home/remnux/malware/hash_list.txt
malwoverview -a 13 -A /home/remnux/malware/samples/
# فرز أولي
malwoverview -x 8 -X /home/remnux/malware/hash_list.txt
malwoverview -x 9 -X /home/remnux/malware/samples/
# استخراج الهاشات وعناوين IP والروابط والنطاقات والبريد الإلكتروني و CVEs من تقرير
malwoverview --extract-iocs /home/remnux/malware/report.txt
malwoverview --extract-iocs /home/remnux/malware/report.pdf
malwoverview --extract-iocs https://example.com/threat-report.html
# فحص العينات بقواعد YARA
malwoverview --yara /home/remnux/rules/malware.yar --yara-target /home/remnux/malware/samples/
# المزوّد يؤخذ من قسم [LLM] في .malwapi.conf
malwoverview -v 8 -V <hash> --enrich
# تجاوزه لكل تشغيل: claude أو gemini أو openai أو ollama
malwoverview -v 8 -V <hash> --enrich --llm claude
malwoverview --nist 2 --NIST CVE-2024-3400 --enrich --llm gemini
malwoverview -v 8 -V <hash> --output-format json
malwoverview -ip 1 -IP 8.8.8.8 --output-format csv
malwoverview -v 12 -V <hash> --attack-map
malwoverview -v 8 -V <hash> --report html --report-file /home/remnux/report.html
malwoverview -v 8 -V <hash> --report pdf --report-file /home/remnux/report.pdf
malwoverview -v 8 -V <hash> --no-cache
malwoverview -v 8 -V <hash> --cache-ttl 86400
malwoverview -ip 3 -IP 8.8.8.8 --proxy socks5://127.0.0.1:9050
malwoverview -v 8 -V <hash> --quiet
malwoverview -v 8 -V <hash> --verbose
malwoverview --interactive
malwoverview --tui
# 8.0.1: هذه تقبل مسار ملف مجدداً، وليس هاشاً فقط
malwoverview -v 1 -V /home/remnux/malware/suspicious.exe
malwoverview -a 1 -A /home/remnux/malware/suspicious.exe
malwoverview -l 1 -L ab4d6a82cafc92825a0b88183325855f0c44920da970b42c949d5d5ffdcc0585
# 8.0.2: فحص IP دفعاتي ضد VirusTotal، API الممتاز ثم العام
malwoverview -ip 8 -IP /home/remnux/malware/ip_list.txt
malwoverview -ip 8 -IP /home/remnux/malware/ip_list.txt -D 1
# 8.0.2: فحوصات Android تعمل على الأجهزة الحالية مجدداً، مع التجزئة بـ SHA256
malwoverview -y 1
malwoverview -y 2
# 8.0.3 و 8.0.4: إثراء Claude يعمل مجدداً ويُعرض بالألوان
malwoverview -v 8 -V <hash> --enrich --llm claude
# 8.0.5: التراكب والإنتروبيا في فحص الدليل وتقرير الهاش
malwoverview -d /home/remnux/malware/samples/
malwoverview -v 8 -V <hash>
النسخة 8.1.0:
تضيف هذه النسخة صيد YARA والفرز الأولي المحلي لملفات PE، وتصلح
الخيارات التي لم تكن تفعل ما تعلنه، وتتضمن مجموعة من إصلاحات الأمان.
انتباه: غيّر خياران رقمهما. خيارات تنزيل Hybrid Analysis الخمسة
(-a 11 إلى -a 15) أصبحت الآن خياراً واحداً، -a 11. انتقل فحص الهاش
الدفعاتي إلى -a 12 (كان -a 16) ومسح الدليل إلى -a 13 (كان -a 17).
لم يتغير رقم أي شيء آخر.
خيارات جديدة
* --sigcheck: فحص توقيع Authenticode لملف أو دليل، بدون مفتاح API
وبدون طلب شبكة. يبلّغ عن VALID أو TAMPERED أو UNTRUSTED أو
EXPIRED أو MALFORMED أو INVALID أو NONE أو N/A مع الموقّع
والمُصدِر وتواريخ الشهادة. يُسرد كل توقيع مضمّن، ولكلٍّ خوارزمية
ملخّص وبصمة ورقم تسلسلي خاص به. يتطلب التحقق
pip install malwoverview[signature]; وبدونه تكون الحالة
PRESENT أو NONE.
* --sig-verify-mode any|first|all|best: أي توقيع يحدد
حالة ملف متعدد التوقيعات. الافتراضي best.
* --no-signature: يتخطى التحقق من التوقيع على الأدلة الكبيرة.
* --peinfo و --entropy-threshold: فرز أولي محلي لملف أو دليل،
يسرد نوع الملف وحجمه وتراكبه وحجم التراكب والإنتروبيا وحالة
التوقيع، مع إبراز الملفات عند الحد الأدنى أو فوقه (الافتراضي 7.0).
تكراري، بدون مفتاح API.
* -ct 1|2 و -CT: شفافية الشهادات عبر crt.sh، بدون مفتاح API.
-ct 1 يسرد أسماء DNS الظاهرة في الشهادات الصادرة لنطاق،
و -ct 2 يسرد الشهادات.
* -v 14 إلى -v 20: VirusTotal Retrohunt و Livehunt. إرسال مهمة،
وسرد المهام، ومتابعة مهمة، وسرد الملفات المطابقة، وإنشاء مجموعة
قواعد، وسرد مجموعات القواعد، وسرد الإشعارات. يتطلب مفتاح Premium.
* -b 13 و -b 14 و -b 15: البحث في Malware Bazaar باسم قاعدة YARA،
وتنزيل واستخراج مجموعة قواعد YARAify.
* -m 9: تنزيل مجموعة قواعد Malpedia YARA لمستوى TLP.
* -l 8: يسرد هاشات نوع ملف MalShare المُعطى مع -L.
* -j 8: فحص هاش دفعاتي على URLHaus، لم يكن يصل إليه أي خيار من قبل.
* --cache-stats و --prune-cache و --clear-cache.
* --no-resolve: لا يحلل أسماء المضيفين التي يعرضها -j 2 و -j 3
ولا يحدد موقعها الجغرافي.
* --defang: يطبع مؤشرات الاختراق التي يسردها --extract-iocs بصيغة
hxxp://example[.]com. للإخراج فقط.
* --no-ioc-filter: يطفئ تصفية الضوضاء الخاصة بـ --extract-iocs
ويبلّغ عن كل تطابق regex في المصدر الخام.
* --yara يقبل الآن دليلاً من القواعد، كل ملف يُصرَّف في نطاقه
الخاص. الملف الذي يفشل في التصريف يُبلَّغ عنه ويُتخطى.
خيارات مُصلَحة
* -m 1 كان يستدعي نفس نقطة النهاية مثل -m 5. يسترجع الآن المعلومات
الوصفية للعائلة ويقبل عامل تصفية اختيارياً مع -M.
* -l 6 كان موسوماً بـ "Composite(OLE)" ويسرد عينات PDF. يسرد الآن
أنواع الملفات الظاهرة في آخر 24 ساعة مع عدد.
* -ip 3 و -ip 7 كانا ينتجان مخرجات متطابقة. -ip 3 يستعلم الآن
VirusTotal و AlienVault فقط؛ و -ip 7 يستعلم كل خدمة متبقية، بما
فيها IPInfo.
* -l 1 كان يكتب ملفاً صفري البايت لكل عينة ويبلّغ عن نجاح. تُتّبع
الآن عمليات إعادة التوجيه ويُرفض الجسم الفارغ.
* -a 6 إلى -a 10 و -y 4 كانا يفشلان دائماً مع "Requested URI - Not
Found". لم تعد طلبات Hybrid Analysis تمر عبر مضيف www، الذي كانت
إعادة توجيهه تُسقط الرفع.
* -b 14 كان يرد بالرمز HTTP 301. تُجلب مجموعة القواعد الآن من
العنوان العامل مع abuse.ch Auth-Key.
* -v 20 يقرأ إشعارات Livehunt من نقطة النهاية
hunting_notification_files، التي تحمل sha256.
* -b 6 و -m 4 والخيارات الأخرى التي تستهلك وسيطاً تتطلبه الآن.
ثمانية منها كانت تتوقف مع TypeError خام عند حذفه.
* -A يقبل الآن مسار Windows أصلياً (-a 1 إلى -a 5)، الذي كان
يُرفض باعتباره "Input contains invalid characters".
* --report html و --report pdf و --enrich تعمل الآن مع
--correlate-hash و --extract-iocs و --yara، التي لم تكن تنتج
تقريراً.
* لم تعد تنزيلات عينات وقواعد Malpedia تنهي البرنامج قبل التقرير
وتصدير json/csv.
* الصيغة المُتحقق منها لكل وسيط هي الآن المُستخدمة. كان رابط مكتوب
بهيئة hxxp://example[.]com يُرسل إلى الخدمة وهو ما يزال معطلاً،
ومسارات مثل ~/samples لم تكن تُوسَّع.
* أُزيل -ip 2 (BGPView): لم يعد نطاقه يُحل. الرقم محفوظ ويبلّغ عن
الإزالة، مع الإشارة إلى -ip 1 و -ip 7. لم يتغير أي رقم -ip آخر.
* يُوثَّق --defang بأنه ينطبق على --extract-iocs فقط، وهو الخيار
الوحيد الذي يقرؤه.
سلوك جديد
* -y 1 و -y 2 و -y 3 تحسب هاش كل APK من حزمة بدلاً من APK الأساسي
وحده. على جهاز الاختبار ارتفع الفحص من 35 إلى 79 APK. -y 4 و
-y 5 يبلّغان عندما تكون الحزمة المحددة APK مجزّأ.
* -b 1 يسرد قواعد YARA التي طابقت العينة، لذا يمكن تمرير اسم إلى
-b 13.
* -v 1 و -v 8 يعرضان كتلة التوقيع التي أعادها VirusTotal أصلاً:
هل تم التحقق منها، وسلاسل الموقّع والموقّع المقابل، وتاريخ
التوقيع، وكل شهادة بحالتها وخوارزميتها وتواريخها ورقمها التسلسلي
وبصمتها.
* --sigcheck و --peinfo يبلّغان عن بصمة الشهادة ورقمها التسلسلي
وخوارزمية الملخّص، في التقرير وفي json و csv.
* --extract-iocs لم يعد يبلّغ عن كود صفحة الويب نفسها. على مدونة
بائع أعاد 855 مؤشر اختراق، 743 منها "نطاقات" أنتجتها جافاسكربت
مصغّرة. تُتخطى كتل script و style و svg و noscript، ولا يُبلَّغ
عن نطاق إلا عندما تكون آخر تسمية فيه نطاق أعلى مستوى حقيقي،
وتُسقط الروابط العائدة إلى موقع المصدر وإلى عناصر الصفحة المعروفة:
أصبح 855 مؤشر اختراق 16، مع الاحتفاظ بكل هاش عينة وروابط القيادة
والتحكم. يُحتسب عدد العناصر المستبعدة ويُبلَّغ عنه. لا تُستبعد
خدمات استضافة الأكواد واللصق والمراسلة أبداً.* --extract-iocs يُسمّي المضيف ونوع الفشل عندما تفشل عملية الجلب،
بدلاً من طباعة استثناء urllib3 الخام.
* 404 من GreyNoise Community يُبلَّغ عنه كما هو، أي أن العنوان ليس
ماسحاً للإنترنت، بدلاً من أن يُعامل كخطأ.
* فشل الشبكة لم يعد يصل إلى المستخدم على شكل تتبع بايثون.
43 كتلة try كانت تلتقط ValueError فقط، لذا كان خطأ الاتصال يفلت
دون التقاط. المضيف المُبلَّغ عنه مأخوذ من عنوان URL المُحلَّل، ولا
يُؤخذ أبداً من نص الاستثناء.
* فشل TLS أصبح موضحاً: مصافحة تُكتمل ثم تُغلق، شهادة تفشل في التحقق،
منفذ يجيب دون TLS، ومصافحة مرفوضة — لكل منها سطر خاص. نص
الاستثناء يُقرأ لكن لا يُطبع أبداً.
* crt.sh يستخدم سياسة إعادة محاولة صبورة (5 محاولات، مهلة 2 ثانية)
لأنه يجيب على نفس عنوان URL برموز 200 أو 404 أو 502 بفاصل ثوانٍ.
كل خدمة أخرى تحتفظ بالسياسة السابقة.
* HTTP 429 يُعاد الآن تجريبه، ثلاث مرات كحد أقصى، مع احترام شكلي
Retry-After وعدم الانتظار أكثر من 300 ثانية أبداً. رفعات العينات
لا يُعاد تجريبها.
* حساب الإنتروبيا يقرأ الملف في كتل بدلاً من تحميله كاملاً. القيمة
المُبلَّغة لا تتغير.
* ماسح YARA لم يعد يغيّر دليل العمل الحالي للعملية أثناء تجميع
القواعد.
* مطابقة --attack-map أصبحت دقيقة بدلاً من البحث عن سلسلة فرعية،
وهو ما كان ينسب تقنيات غير ذات صلة (وسم فارغ طابق جميع العناصر
الـ 691). وهي ممتدة الآن إلى تقارير Hybrid Analysis
و --correlate-hash.
* --enrich يُرسَل إليه السجلات المجمّعة بدلاً من النص المستخرج من
الطرفية، ويعمل الآن مع --output-format json و csv، حيث كان
يُتجاهل بصمت.
* كل خيار ينتج الآن سجلات لـ --output-format json و csv. ثلثها فقط
كان يفعل ذلك.
* نتائج MalShare مضمّنة في json و csv.
* قسمَا [INQUEST] و [VIRUSEXCHANGE] أُزيلا من .malwapi.conf ومن
الكود خلفهما.
* أدنى إصدار بايثون هو 3.10، والمصنّفات (classifiers) تعلن
3.10 إلى 3.13.
الأوضاع التفاعلية والرسومية
* --interactive يكتسب كل أمر لم يكن متاحاً إلا لسطر الأوامر فقط:
تقارير VirusTotal، الرفعات، تقرير السلوك، الفحص الجماعي،
Retrohunt و Livehunt؛ imphash لـ Malware Bazaar، التنزيل، الدفعة،
الدليل، بحث قواعد YARA ومجموعة قواعد YARAify؛ تنزيل حمولة URLHaus،
بحث التوقيعات، قائمة الحمولات، الفحص الجماعي والتغذية؛ إرسالات
Triage، التنزيلات، التقرير الديناميكي، الفحص الجماعي والفحوصات
الدليلية؛ بيانات عائلة Malpedia، قائمة الحمولات ومجموعة القواعد؛
قوائم أنواع ملفات MalShare؛ إرسال Hybrid Analysis، الفحص الجماعي
والفحوصات الدليلية؛ قائمة عائلات ThreatFox؛ فحوصات IP الجماعية
واستعلامات الخدمات المتعددة؛ و crtsh و android و yara و iocs
و cache. ATT&CK يُبدَّل بـ "set attack on|off".
* --tui أُعيد بناؤه على كود الوحدة الذي يستخدمه سطر الأوامر بدلاً
من نسخته الخاصة من كل استدعاء خدمة: 3013 سطراً أصبحت 818، وقائمة
الخدمات انتقلت من 37 إلى 111 مدخلاً. النتائج تُصدَّر بـ F5 (json)
و F6 (csv)، وهو ما لم يكن يدعمه إطلاقاً.
* لصق --tui أُصلح. تجزئة تُلصق قبل النقر داخل صندوق الاستعلام كانت
تُهمل دون رسالة، لأن الأداة المركَّزة فقط هي التي تستقبل اللصق
ولوحة التحكم تبدأ على قائمة الخدمات. اللصق يُلتقط الآن للنافذة
كاملة.
* --tui يكتسب Ctrl+V و Shift+Insert، اللذين يقرآن الحافظة مباشرة
للطرفيات التي لا ترسل حدث لصق أبداً. لا حاجة لأي حزمة خارجية.
* قائمة مفاتيح --tui تُكتب من جديد كل مرة تُمسح فيها لوحة النتائج،
وهي مبنية من ارتباطات المفاتيح نفسها. شريط المفاتيح يحتفظ بـ Quit
(بصيغة Ctrl+Q) و Paste بينما يكون صندوق الاستعلام في بؤرة
التركيز، وتسمياته لم تعد تكرر المفتاح.
التقارير
* --peinfo و --sigcheck يضبطان عرض أعمدتهما من الملفات المفحوصة ولا
يختصران اسم الملف أبداً، وهو غالباً SHA256. Type و Signer يبقيان
محدودين؛ القيمة المختصرة تُختصر على الشاشة فقط.
* كل عمود جدول يُقاس بخلايا الطرفية لا بالحروف، لذا لم يعد موضوع
شهادة أو اسم ملف بلغة CJK يزيح الأعمدة عن محاذاتها. الاقتطاع
يتوقف عند حدّ حرف.
* قواعد الجدول تساوي الآن مجموع أعمدته، ورؤوس الأعمدة والقواعد
محايدة اللون، الخلية الفارغة تُقرأ n/a، والختام يفتتح بـ "[+] ".
طُبّق هذا على -j 8، -a 12، -a 13، -b 11، -b 12، -b 13، -x 8،
-x 9، -l 6، -s 2، -u 3، --yara، --peinfo و --sigcheck، التي كانت
قواعدها مخالفة لأعمدتها بما يصل إلى 51 حرفاً.
* المعاملة نفسها أُكملت عبر كل تقرير متبقٍّ. لا قاعدة تُكتب كرقم
ثابت بعد الآن: كل واحدة تُشتق من عرض مُسمّى أو من الرأس الذي تجلس
تحته، لذا لم يعد بإمكان العنوان والقاعدة والأعمدة أن تختلف.
88 قاعدة في 19 ملفاً، تبلغ كل خدمة يستعلم منها الأداة.
* 38 عنوان تقرير كانت مُبطّنة بـ 28 مسافة زائدة، مما وضع سطر
العنوان متجاوزاً القاعدة التي تحته. غير مرئي على الشاشة ومرئي فور
أن يُمرَّر المخرج عبر أنبوب أو يُعاد توجيهه أو يُنسخ.
* -b 6 إلى -b 10: القيم الطويلة تُلتف إلى عرض التقرير. عنوان مرجعي
أو قائمة أسماء مستعارة مفصولة بفواصل وصلت إلى 137 عموداً تحت قاعدة
من 100 عمود؛ في تشغيل واحد لـ -b 6، فعل ذلك 52 من أصل 5936 سطراً.
* -j 2 إلى -j 7: كل تقرير يُرسم بعرض واحد مأخوذ من الأعمدة التي
يطبعها فعلياً، بدلاً من الأرقام الستة المختلفة (100، 104، 126،
130، 136 و 146) المستخدمة سابقاً. -j 2 يضبط أيضاً عرض عمود URL
من الاستجابة ولم يعد يطبع رأسه مرتين.
* -l 1 و -l 8 جدولان. الرأس أعلن ثلاثة أعمدة بعرض 75 و 38 و 8 تحت
قاعدة من 126، بينما الصفوف أدناه طبعت
"sha256: ... md5: ... type: ..."، فاصطفت الرؤوس مع لا شيء.
خطأ MalShare لم يعد يُطبع تحت رأس يعد بنتائج لن تصل أبداً.
* -ct 1 و -ct 2: رأس التقرير يُرسم بعرض الجدول الذي يقدّمه، وسطور
الحالة والخطأ والعدد تُلتف إليه كتنبيهات نقطية بدلاً من تجاوزه.
* -a 12 و -a 13: تجزئة لم ترها Hybrid Analysis قط كانت تنتج صفاً








