
دليل منسّق لتصبح محلل برمجيات خبيثة، يغطي المعرفة الأساسية، والهندسة العكسية، وأدوات التحليل، والتعلم بمساعدة LLM مع تمارين وموارد عملية.
هذا رأي شخصي لـ@PINKSAWTOOTH، وقد لا يكون بالضرورة أفضل طريقة بالنسبة لك. آمل أن يكون مفيدًا كأحد الأمثلة على طرق الدراسة.
قبل قراءة هذا، قام محلل البرمجيات الخبيثة الذي أحترمه، السيد @hasherezade، بتلخيص كيفية البدء في دراسة تحليل البرمجيات الخبيثة في مدونته. قد تكون هناك أجزاء متداخلة، لكنني أوصي بقراءتها. كما أن المدونات التالية تركز بشكل أساسي على المصادر الإنجليزية، لذا أود تقديم مصادر تركز على اللغة اليابانية قدر الإمكان.
[!NOTE]
إضافة 2026: تعلم تحليل البرمجيات الخبيثة في عصر LLM
في الوقت الذي بدأت فيه كتابة هذه الصفحة، لم يكن عصر استخدام LLM وAI Agent بشكل يومي كما هو الحال الآن. في عام 2026 الحالي، إذا كنت تدرس تحليل البرمجيات الخبيثة أو الهندسة العكسية، فإنني أوصي بالاستفادة النشطة من LLM بالإضافة إلى الكتب والمواد على الويب. خاصةً في إنشاء برامج للتعلم، وشرح الأكواد واللغة التجميعية، والتحليل، وإنشاء نصوص التحليل البرمجية، وتنظيم نتائج التحليل، وغيرها.
من ناحية أخرى، تزايدت المواقف التي يتفوق فيها LLM على البشر في العديد من تقنيات التحليل. ومع ذلك، هذا لا يعني أن المعرفة الأساسية أصبحت غير ضرورية. لفهم مخرجات LLM والتحقق بنفسك من أساسها وصحتها، من المهم امتلاك المعرفة المتخصصة (وقد يقترب اليوم الذي تصبح فيه هذه المهمة بلا معنى...). تفترض هذه المقالة استخدام LLM ليس كـ"جهاز لإخراج الإجابات" بل كـ"معلم يتعلم معك، ومساعد أثناء التحليل".
أولاً، سأشرح بإيجاز المعرفة الأساسية لتحليل البرمجيات الخبيثة. قبل تعلم تحليل البرمجيات الخبيثة، هناك حاجة على الأقل إلى معرفة بعلوم الحاسوب.
بالنسبة لهذه، أعتقد أنه يكفي أن تفهم المحتوى الذي يُدرَّس في الجامعات أو المعاهد المتخصصة. (يمكنك معرفة محتوى أكثر تحديدًا من خلال الاطلاع على المناهج الدراسية عبر الإنترنت لبعض الجامعات.) في هذه المقالة، لن نتناول كيفية تعلم لغات البرمجة أو علوم الحاسوب، لكن فيما يلي المواد الموصى بها.
تنقسم المعرفة اللازمة لتحليل البرمجيات الخبيثة بشكل كبير إلى الخمسة أقسام التالية.
أولاً، من الضروري تعلم ما هي البرمجيات الخبيثة، وما هي المهام التي يتضمنها تحليل البرمجيات الخبيثة. سأقدم المواد والكتب الموصى بها لتعلم تحليل البرمجيات الخبيثة بشكل عام.
التدريب عبر الإنترنت على تحليل البرمجيات الخبيثة موصى به أيضًا.
سأقدم صفحات تلخص سلوك البرمجيات الخبيثة والتقنيات المستغلة.
المدونات والتقارير التي تتناول معلومات التهديدات وتحليل البرمجيات الخبيثة التي تُنشر يوميًا هي أيضًا مصادر مهمة. من الملائم إعداد إشعارات التحديث عبر قارئ RSS وغيره. هناك أيضًا مواقع تجمعها، لذا يمكن الاستفادة منها.
من بين هذه، سأقدم تلك التي تتناول تحليلًا تفصيليًا للبرمجيات الخبيثة باللغة اليابانية.
بالإضافة إلى ذلك، يمكن تعلم خصائص البرمجيات الخبيثة من خلال قراءة قواعد YARA.
الهندسة العكسية ليست سوى جزء من تحليل البرمجيات الخبيثة، لكنها طريق لا مفر منه لتصبح محلل برمجيات خبيثة. من الصعب تحديد الصورة الكاملة لوظائف البرمجيات الخبيثة والخوارزميات المستخدمة من خلال التحليل الديناميكي باستخدام صندوق الرمل أو التحليل الديناميكي باستخدام الأدوات (باستثناء التنقيح اليدوي) فقط.
لإجراء الهندسة العكسية، من الضروري فهم الشيفرة المصدرية الأصلية. (بافتراض بيئة Windows الشائعة في تحليل البرمجيات الخبيثة) فإن تحليل البرمجيات الخبيثة دون خبرة في البرمجة باستخدام Windows API سيكون طريقًا طويلًا.
تنشر Microsoft الوثائق الرسمية والعينات لـWindows API. ※ انتبه إلى أن بعض العروض قد تكون غريبة عند الترجمة إلى اليابانية
الكتب التالية موصى بها لتعلم آلية نظام تشغيل Windows.
لا تزال C/C++ مهمة جدًا لتعلم الهندسة العكسية للبرمجيات الخبيثة على Windows، لذا أوصي بها كلغة أولى للتعلم. من ناحية أخرى، ليست C/C++ فقط هي أهداف التحليل الفعلية. في عام 2026 الحالي، من المفيد معرفة خصائص الثنائيات وأوقات التشغيل على الأقل للغات التالية.
ليس من الضروري تعلم جميع اللغات بعمق من البداية. اعلم أن المعرفة المطلوبة تتغير عندما تتغير لغة التطوير أو وقت التشغيل.
بعد إتقان تقنيات البرمجة في اللغة والبيئة المستهدفة للتحليل، لنبدأ في دراسة الهندسة العكسية. عند تحليل ملفات PE الخاصة بـWindows الشائعة في تحليل البرمجيات الخبيثة، لنبدأ أولاً بالهندسة العكسية لبرنامج تمهيدي بلغة C أو C++. كخطوة تالية، لنحلل ملف PE يستخدم Win API قمنا بتصنيعه بأنفسنا (الشيفرة المصدرية موجودة). حتى مع نفس الشيفرة المصدرية، إذا غيرت المشروع المختار أو خيارات التصنيع والربط ولاحظت التغييرات التي تظهر في الملف التنفيذي، أعتقد أن تقنيات الهندسة العكسية ستتحسن كثيرًا.
سابقًا، كنت أوصي بالبحث عن عينات Microsoft أو الأكواد على GitHub وتعديلها أثناء التعلم. لا تزال هذه الطريقة فعالة، لكن في عام 2026 الحالي، فإن جعل LLM أو Coding Agent ينشئ برنامجًا صغيرًا يناسب هدف التعلم الخاص بك هو أيضًا فعال جدًا.
على سبيل المثال، في البداية اجعله ينشئ برنامجًا صغيرًا من حوالي 10 إلى 50 سطرًا.```text CreateFileWとWriteFileを使ってテキストファイルを作成する、 できるだけ小さなWindows Cプログラムを作ってください。 リバースエンジニアリングの教材に使いたいので、 処理を複雑にせず、各Windows APIを使う理由も説明してください。
يتم فحص الكود المُولَّد بمقارنته مع وثائق Microsoft Learn، ثم أقوم بترجمته بنفسي.
بعد ذلك، أقوم بتحليل الملف التنفيذي الذي ترجمته بنفسي باستخدام Ghidra أو IDA أو ما شابه، وأقارن الكود المصدري الأصلي مع نتائج التفكيك وإعادة الترجمة العكسية.
أدرس باستخدام الحلقة التالية.```text
LLMに小さなコードを作らせる
↓
ソースコードを読む・APIを調べる
↓
自分でビルドする
↓
Ghidraなどで解析する
↓
元のソースコードと比較する
↓
分からない部分だけLLMに質問する
↓
別の条件で再ビルドして比較する
على سبيل المثال، من الجيد مقارنة ما يلي بخصوص الشفرة المصدرية لنفس المعالجة.
يُعد تحليل الملفات الثنائية مع معرفة الشفرة المصدرية الأصلية تدريبًا ممتازًا لتعلّم الهندسة العكسية.
ولصقل مهارات الهندسة العكسية بشكل أكبر، من الجيد حل تحديات Rev في مسابقات CTF أو تحديات Crackme. ويُنصح بشكل خاص بتحديات ملفات PE أو تلك الموجّهة لمحللي البرمجيات الخبيثة.
كما أن الهندسة العكسية للبرمجيات الخبيثة تتضمن غالبًا الهندسة العكسية لمعالجة خوارزميات التشفير، لذا يُوصى بتعلّم أساسيات تقنيات التشفير. بعد فهم الخوارزمية، اقرأ الشفرة المصدرية لتطبيقات خوارزميات التشفير مفتوحة المصدر المنشورة على GitHub وغيرها، ثم جرّب إجراء الهندسة العكسية عليها فعليًا.
عند التقدّم في تحليل البرمجيات الخبيثة، قد يساعد استخدام أدوات أفضل أو إتقان استخدام الأدوات في تسهيل التحليل. كما أنه حتى مع امتلاك معرفة متنوعة، فإن التحليل يتم فعليًا عبر الأدوات، لذا من الضروري أيضًا فهم كيفية استخدام الأدوات.
لإدارة تثبيت أدوات التحليل وتحديثها وغير ذلك، يُعد FLARE-VM الذي تنشره Mandiant مفيدًا في بيئة Windows. فهو يتيح تثبيت الأدوات اللازمة لتحليل البرمجيات الخبيثة والهندسة العكسية دفعةً واحدة.
وفي بيئة Linux، يمكن استخدام REMnux. فهو أيضًا يجمع الأدوات اللازمة لتحليل البرمجيات الخبيثة، ويمكن الاطلاع عليها من خلال قائمة الأدوات المضمّنة.
يوفّر كل من FLARE-VM وREMnux طريقة سهلة لبناء بيئة تحليل البرمجيات الخبيثة، لذا يُنصح بهما حتى عند إنشاء بيئة تحليل لأول مرة. ومن خلال الاطلاع على الأدوات المضمّنة في كل منهما وتجربتها فعليًا، يمكن تعلّم أنواع أدوات التحليل الموجودة وفي أي الحالات تُستخدم.
كما يُستحسن تجربة الأدوات المقدَّمة في الروابط التالية.
من الاستخدامات المفيدة لـ LLM استخدامه كمعلّم يمكنك طرح الأسئلة عليه في الحال حول ما لا تفهمه. قبل ظهور LLM، كان عليك أن تبحث بنفسك عن الأمور التي لا تفهمها وأن تفهم محتواها. وخاصة بالنسبة للمبتدئين، كان من الصعب في كثير من الأحيان معرفة ما يجب البحث عنه أصلًا، وكان ذلك يمثل عقبة في طريق التعلّم. أما الآن، فإن LLM ذا مستوى معرفي عالٍ يشرح لك بتأنٍّ وبما يتناسب مع مستوى فهمك، مهما تكرر ذلك. فإن لم تفهم، يمكنك إعادة السؤال، ويمكنك أيضًا استخدامه بأسلوب مثل «اشرح بشكل أبسط»، أو «أعطِ مثالًا ملموسًا»، أو «تحقق مما إذا كان فهمي هذا صحيحًا». أعتقد أننا وصلنا إلى زمن جيد، حيث يمكنك التعلّم بطرح الأسئلة بلا حدود حول ما لا تفهمه، ما دامت لديك الرغبة.
على سبيل المثال، يمكنك طرح الأسئلة التالية حول نتائج التفكيك العكسي أو نتائج فك الترجمة.```text この関数の役割と、そう判断できる理由を教えてください。
## 主な機能
- **自動偵察**: サブドメイン、ライブホスト、URL、JavaScriptファイル、パラメータを検出します。
- **脆弱性スキャン**: XSS、SQLi、LFI、オープンリダイレクト、CRLFインジェクション、CORSの設定ミスなどをチェックします。
- **シークレット検出**: APIキー、トークン、認証情報を検出します。
- **ディレクトリブルートフォース**: 一般的なパスや機密性の高いパスを検出します。
- **レポート生成**: 人間が読める形式と機械が読める形式(JSON)の両方で出力します。
- **モジュール式アーキテクチャ**: 各フェーズは独立して実行できます。
## インストール
```bash
git clone https://github.com/yourusername/autopentestx.git
cd autopentestx
pip install -r requirements.txt
python autopentestx.py -d example.com --all
このツールは、教育目的および許可されたセキュリティテストのみを目的としています。許可なくシステムをスキャンすることは違法です。常に責任を持って使用してください。```text このデコンパイル結果から変数の型を推定したいです。 型を判断するために、どの命令、API、参照先を確認すべきですか?
## الميزات الرئيسية
- **اكتشاف تلقائي للتقنيات**: التعرف على التقنيات المستخدمة في الموقع المستهدف
- **كشف WAF**: تحديد جدران الحماية (WAF) وطبقات الحماية
- **تحليل الأمان**: فحص التكوينات الأمنية الشائعة الخطأ
- **تقييم المخاطر**: تقييم مستوى خطورة النتائج
- **تقارير شاملة**: إنشاء تقارير مفصلة بتنسيقات متعددة
- **واجهة تفاعلية**: واجهة سطر أوامر سهلة الاستخدام
## التثبيت
### المتطلبات الأساسية
- Python 3.8 أو أحدث
- pip (مدير حزم Python)
### التثبيت من المصدر
```bash
# استنساخ المستودع
git clone https://github.com/yourusername/kitploit-tool.git
cd kitploit-tool
# إنشاء بيئة افتراضية
python3 -m venv venv
source venv/bin/activate # على Linux/Mac
# أو
venv\Scripts\activate # على Windows
# تثبيت التبعيات
pip install -r requirements.txt
# تثبيت الأداة
pip install -e .
pip install kitploit-tool
# فحص موقع واحد
kitploit-tool scan https://example.com
# فحص عدة مواقع
kitploit-tool scan https://example.com https://test.com
# فحص من ملف
kitploit-tool scan -f targets.txt
# تحديد مستوى العمق
kitploit-tool scan https://example.com --depth 3
# تفعيل الوضع المفصل
kitploit-tool scan https://example.com --verbose
# حفظ النتائج في ملف
kitploit-tool scan https://example.com --output results.json
# تحديد تنسيق الإخراج
kitploit-tool scan https://example.com --format json
kitploit-tool scan https://example.com
kitploit-tool scan https://example.com --verbose --output report.html --format html
kitploit-tool scan -f targets.txt --output results.json --format json
يمكنك إنشاء ملف تكوين config.yaml لتخصيص سلوك الأداة:
# config.yaml
scan:
timeout: 30
threads: 10
depth: 2
user_agent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64)"
output:
format: json
verbose: false
save_path: "./results"
detection:
waf_detection: true
tech_detection: true
security_headers: true
# تعيين مهلة الفحص
export KITPLOIT_TIMEOUT=60
# تعيين عدد الخيوط
export KITPLOIT_THREADS=20
# تعيين مفتاح API
export KITPLOIT_API_KEY=your_api_key_here
تتعرف الأداة على التقنيات التالية:
تكتشف الأداة جدران الحماية التالية:
تفحص الأداة رؤوس HTTP الأمنية التالية:
Strict-Transport-SecurityContent-Security-PolicyX-Frame-OptionsX-Content-Type-OptionsReferrer-PolicyPermissions-PolicyX-XSS-Protectionkitploit-tool --help
kitploit-tool scan [OPTIONS] TARGETS...
الخيارات:
-f, --file FILE: قراءة الأهداف من ملف-d, --depth INTEGER: عمق الفحص (الافتراضي: 2)-t, --threads INTEGER: عدد الخيوط (الافتراضي: 10)--timeout INTEGER: المهلة بالثواني (الافتراضي: 30)-o, --output FILE: حفظ النتائج في ملف--format [json|html|csv|txt]: تنسيق الإخراج-v, --verbose: تفعيل الوضع المفصل--no-waf: تعطيل كشف WAF--no-tech: تعطيل كشف التقنياتkitploit-tool report [OPTIONS] INPUT_FILE
الخيارات:
-o, --output FILE: حفظ التقرير في ملف--format [json|html|csv|txt]: تنسيق التقرير--template TEMPLATE: قالب التقرير المخصصfrom kitploit_tool import Scanner
# إنشاء مثيل الماسح الضوئي
scanner = Scanner(
timeout=30,
threads=10,
depth=2
)
# فحص هدف
results = scanner.scan("https://example.com")
# الوصول إلى النتائج
print(results.technologies)
print(results.waf)
print(results.security_headers)
# تشغيل خادم API
kitploit-tool server --port 8080
# إرسال طلب فحص
curl -X POST http://localhost:8080/api/scan \
-H "Content-Type: application/json" \
-d '{"target": "https://example.com"}'
{
"target": "https://example.com",
"timestamp": "2024-01-15T10:30:00Z",
"technologies": [
{
"name": "Nginx",
"version": "1.18.0",
"category": "web-server"
},
{
"name": "PHP",
"version": "7.4",
"category": "programming-language"
}
],
"waf": {
"detected": true,
"name": "Cloudflare",
"confidence": 95
},
"security_headers": {
"strict-transport-security": {
"present": true,
"value": "max-age=31536000"
},
"content-security-policy": {
"present": false,
"value": null
}
}
}
يتم إنشاء تقارير HTML بتنسيق احترافي تتضمن:
المشكلة: فشل الاتصال بالهدف
الحل:
# التحقق من الاتصال
ping example.com
# زيادة المهلة
kitploit-tool scan https://example.com --timeout 60
المشكلة: عدم اكتشاف التقنيات
الحل:
# تفعيل الوضع المفصل
kitploit-tool scan https://example.com --verbose
# التحقق من رؤوس HTTP
curl -I https://example.com
المشكلة: خطأ في الصلاحيات
الحل:
# تشغيل بصلاحيات المسؤول (إذا لزم الأمر)
sudo kitploit-tool scan https://example.com
# تفعيل تسجيل التصحيح
export KITPLOIT_DEBUG=1
kitploit-tool scan https://example.com
نعم، الأداة قانونية للاستخدام في:
تحذير: الاستخدام غير المصرح به قد يكون غير قانوني.
نعم، الأداة محسّنة للأداء:
نعم، الأداة مرخصة تحت MIT License، مما يسمح بالاستخدام التجاري.
نعم، الأداة تدعم IPv4 و IPv6.
راجع CONTRIBUTING.md للحصول على إرشادات المساهمة.
إذا اكتشفت ثغرة أمنية، يرجى الإبلاغ عنها بشكل مسؤول:
هذا المشروع مرخص تحت MIT License - راجع ملف LICENSE للتفاصيل.
ملاحظة: هذه الأداة مخصصة للاستخدام الأخلاقي والقانوني فقط. المطورون غير مسؤولين عن أي استخدام غير مصرح به.```text このWindows API呼び出しの前後で使われている構造体について説明してください。 各フィールドを確認するためにGhidra上でどこを見るべきかも教えてください。
## 検出ルール
### ルール1: 不審な親プロセス
```yaml
id: proc_parent_anomaly
description: 不審な親プロセスからの実行を検出
severity: high
conditions:
- field: parent_process
operator: in
values: [winword.exe, excel.exe, outlook.exe, chrome.exe]
- field: process_name
operator: in
values: [powershell.exe, cmd.exe, wscript.exe, cscript.exe, mshta.exe]
action: alert
id: cmdline_obfuscation
description: 難読化されたコマンドライン引数を検出
severity: critical
conditions:
- field: command_line
operator: regex
values:
- "(?i)(-enc|-encodedcommand|frombase64string)"
- "(?i)(iex|invoke-expression|downloadstring)"
- "(?i)(bypass|hidden|noprofile)"
action: block
id: persistence_attempt
description: 永続化メカニズムの確立を検出
severity: high
conditions:
- field: registry_key
operator: contains
values:
- "CurrentVersion\\Run"
- "CurrentVersion\\RunOnce"
- "Winlogon\\Shell"
- field: file_path
operator: contains
values:
- "\\Startup\\"
- "\\Tasks\\"
action: alert
id: credential_access
description: 認証情報のダンプや窃取を検出
severity: critical
conditions:
- field: command_line
operator: regex
values:
- "(?i)(lsass|sam|ntds|sekurlsa)"
- "(?i)(mimikatz|procdump|comsvcs)"
- field: target_process
operator: in
values: [lsass.exe, sam, ntds.dit]
action: block
id: lateral_movement
description: リモート実行や横展開を検出
severity: high
conditions:
- field: network_connection
operator: regex
values:
- "(?i)(445|135|139|5985|5986)"
- field: command_line
operator: regex
values:
- "(?i)(psexec|wmic|winrs|invoke-command)"
action: alert
検出ルールに一致した場合、以下の形式でアラートが出力されます:
{
"timestamp": "2024-01-15T10:30:45.123Z",
"rule_id": "cmdline_obfuscation",
"rule_name": "難読化されたコマンドライン",
"severity": "critical",
"action": "block",
"event": {
"process_name": "powershell.exe",
"process_id": 4567,
"parent_process": "winword.exe",
"parent_process_id": 1234,
"command_line": "powershell.exe -enc SQBFAFgA...",
"user": "DOMAIN\\user",
"hostname": "WORKSTATION01"
},
"mitre_attack": {
"technique_id": "T1027",
"technique_name": "Obfuscated Files or Information",
"tactic": "Defense Evasion"
}
}
すべての検出イベントは JSON Lines 形式でログに記録されます:
{"timestamp":"2024-01-15T10:30:45.123Z","level":"ALERT","rule_id":"cmdline_obfuscation","severity":"critical","process":"powershell.exe","pid":4567,"user":"DOMAIN\\user","hostname":"WORKSTATION01","action":"block"}
{"timestamp":"2024-01-15T10:30:46.456Z","level":"INFO","rule_id":"proc_parent_anomaly","severity":"high","process":"cmd.exe","pid":4568,"user":"DOMAIN\\user","hostname":"WORKSTATION01","action":"alert"}
# config.yaml
engine:
max_events: 10000
buffer_size: 1000
worker_threads: 4
log_level: info
rules:
directory: ./rules
auto_reload: true
reload_interval: 30s
output:
format: json
destination: stdout
file: ./logs/alerts.jsonl
rotation:
enabled: true
max_size: 100MB
max_files: 10
integrations:
syslog:
enabled: false
address: "localhost:514"
protocol: udp
webhook:
enabled: true
url: "https://example.com/webhook"
timeout: 5s
| 項目 | 値 |
|---|---|
| イベント処理速度 | 100,000 events/sec |
| レイテンシ | < 1ms |
| メモリ使用量 | 50MB (アイドル時) |
| CPU使用率 | 2-5% (1コア) |
| 起動時間 |
MIT License
プルリクエストやIssueは歓迎します。貢献する前に、以下のガイドラインをお読みください:
このプロジェクトは以下のオープンソースプロジェクトに依存しています:
このツールは教育および研究目的で提供されています。適切な許可なく使用することは違法となる場合があります。ユーザーは適用されるすべての法律および規制を遵守する責任を負います。```text このアセンブリを1命令ずつ説明するのではなく、 まずbasic blockごとの役割を整理して、私が自分で処理を推定できるようにヒントをください。
## 検出ルールの追加
`rules/` ディレクトリに新しい YAML ファイルを作成します:
```yaml
# rules/my-detection.yml
title: 不審な PowerShell 実行
id: 12345678-1234-1234-1234-123456789abc
status: experimental
description: エンコードされた PowerShell コマンドの実行を検出します
author: Your Name
date: 2024/01/01
logsource:
product: windows
service: powershell
detection:
selection:
EventID: 4104
ScriptBlockText|contains:
- 'FromBase64String'
- 'EncodedCommand'
condition: selection
level: high
tags:
- attack.execution
- attack.t1059.001
# ルールの構文を検証
python -m sigma validate rules/my-detection.yml
# ルールをバックエンド形式に変換
python -m sigma convert -t splunk rules/my-detection.yml
# すべてのルールをテスト
python -m pytest tests/
git checkout -b feature/new-rule)git commit -am 'Add new detection rule')git push origin feature/new-rule)このプロジェクトは MIT ライセンスの下で提供されています - 詳細については LICENSE ファイルを参照してください。
بدلاً من طلب الإجابة مباشرةً، يُوصى باستخدامه لطلب التلميحات ونقاط التحقق وطرق التحقق.
### Agentic Reverse Engineering
اعتبارًا من عام 2026، لم يعد استخدام LLM التفاعلي مثل ChatGPT متاحًا فحسب، بل أصبح من الممكن أيضًا استخدام Coding Agent القادر على قراءة وكتابة الملفات وبناء البرامج وتنفيذ الأوامر.
علاوة على ذلك، من خلال استخدام MCP (Model Context Protocol) وما شابه، ينتشر أيضًا أسلوب تشغيل أدوات التحليل مباشرةً من AI Agent.
على سبيل المثال، يوفر REMnux خادم MCP Server لاستخدام أدوات تحليل البرمجيات الخبيثة على REMnux من AI Agent.
- [Using AI with REMnux](https://docs.remnux.org/tips/using-ai)
- [REMnux MCP Server](https://github.com/REMnux/remnux-mcp-server)
بالنسبة لـ Ghidra أيضًا، ظهرت عدة تطبيقات MCP لتشغيلها من AI Agent. أنا أيضًا أطوّر Mecha Ghidra لاستخدام Ghidra في وضع Headless وإجراء التحليل من AI Agent عبر MCP.
- [Mecha Ghidra](https://github.com/ghidra-user-jp/mecha_ghidra)
بالنسبة لـ IDA وأدوات الهندسة العكسية الأخرى أيضًا، ظهرت عدة تطبيقات للتكامل مع MCP وAgent، وأصبح من الممكن ترك مهام التحليل التي كان البشر يقومون بها يدويًا للـ Agent.
من ناحية أخرى، لا يُوصى بترك كل التحليل للـ Agent منذ مرحلة المبتدئ. لأن ذلك يجعل من الصعب اكتساب القدرة على الحكم بنفسك على أشياء مثل «لماذا أجريت ذلك التحليل» و«ما الذي تفعله الأداة داخليًا» و«هل النتيجة المُخرجة صحيحة».
من الأفضل أن تبدأ بالتحليل بنفسك، ثم طرح الأسئلة على LLM في الأجزاء التي لا تفهمها. وعندما تكتسب الخبرة، يُوصى بالتقدم تدريجيًا نحو إنشاء نصوص دعم التحليل، وربط الأدوات عبر MCP، وأتمتة التحليل باستخدام Agent.
### تنبيهات عند إدخال المعلومات إلى LLM
يجب الحذر عند إدخال البرمجيات الخبيثة التي تتعامل معها في العمل، أو الملفات المقدمة من العملاء، أو مؤشرات الاختراق IoC غير المنشورة، أو معلومات الحوادث، أو المعلومات الداخلية للشركة، إلى خدمات LLM الخارجية.
تحقق من شروط عقد الخدمة التي تستخدمها، ومدة الاحتفاظ بالبيانات، ووجود استخدام للتدريب أم لا، وقواعد المؤسسة التي تنتمي إليها، قبل الاستخدام.
حسب الحاجة، فكّر في التدابير التالية.
- إخفاء المعلومات الحساسة
- استخدام خدمات LLM المسموح بها في المؤسسة
- التحقق من طريقة تعامل API والخدمات الموجهة للمؤسسات مع البيانات
- استخدام LLM محلي عند الحاجة
كما أن جسم البرمجية الخبيثة أو الملفات المستهدفة بالتحليل أو نتائج التحليل قد تحتوي على سلاسل نصية توجّه AI Agent إلى سلوك غير مقصود.
خاصةً عندما يكون AI Agent قادرًا على عمليات الملفات وتنفيذ الأوامر وتشغيل أدوات التحليل، فإنه يمتلك صلاحيات أقوى من LLM العادي. لذلك، عند استخدام AI Agent في تحليل البرمجيات الخبيثة، يُوصى بتشغيله في بيئة معزولة مثل VM لضمان السلامة.
أصبح الذكاء الاصطناعي ذكيًا جدًا، لكنه مع ذلك قد ينفذ أوامر غير مقصودة.
استخدمه مع الالتزام بالأساسيات المتمثلة في عزل بيئة التحليل، تمامًا كما في تحليل البرمجيات الخبيثة التقليدي.
# التعلم دون استخدام برمجيات خبيثة حقيقية
اعتبارًا من عام 2026، لا حاجة للحصول على برمجيات خبيثة حقيقية منذ البداية لدراسة تحليل البرمجيات الخبيثة.
بل يُوصى للمبتدئين بالترتيب التالي.
1. برامج صغيرة من حوالي 10 إلى 50 سطرًا من إنشاء LLM أو من إنشائك الخاص
2. نماذج Windows API قمت بتجميعها بنفسك
3. نماذج تدريبية لتحليل البرمجيات الخبيثة / CTF / Crackme
4. تطبيقات OSS مفتوحة المصدر مثل البرمجيات الخبيثة وأطر C2
5. البرمجيات الخبيثة الحقيقية فقط عند الضرورة وعند القدرة على تجهيز بيئة تحليل آمنة
في البداية، يُوصى باستخدام برامج تعرف شيفرتها المصدرية الأصلية كمواد تعليمية.
لأنه يمكنك مقارنة نتائج تحليلك مع الشيفرة المصدرية الفعلية، فيمكنك التحقق بنفسك من «إلى أي مدى حللت بشكل صحيح» و«أين أخطأت في القراءة».
أعتقد أن استخدام مواد تعليمية يمكن التحقق من إجاباتها أولاً للتعود على قراءة نتائج التفكيك وإلغاء التجميع، أكثر كفاءة في التعلم من تحليل برمجيات خبيثة حقيقية فجأة.
# الحصول على البرمجيات الخبيثة
## مقدمة
سنتناول هنا طرق الحصول على البرمجيات الخبيثة، لكن عند استخدام الخدمات المذكورة، تأكد من قراءة شروط الاستخدام قبل الاستخدام.
كما أن المحتوى التالي لا يهدف إلى الترويج للحصول على البرمجيات الخبيثة.
في جريمة السجلات الإلكترونية المغناطيسية ذات الأوامر غير المشروعة، تُعد الغاية أو وجود سبب مشروع من المتطلبات فيما يتعلق بإنشاء البرمجيات الخبيثة وتوفيرها والحصول عليها وحيازتها.
بما أنني لست خبيرًا قانونيًا، فلا أعرف ما هو السبب الذي يُعتبر `سببًا مشروعًا` قانونيًا.
قد لا يُعتبر إجراء تحليل البرمجيات الخبيثة كهواية شخصية `سببًا مشروعًا`.
بالنسبة للأشخاص الذين يريدون بالتأكيد عيش حياة هادئة، مثل من يجدون حرجًا إذا تم التحقيق معهم، أو يجدون حرجًا إذا وصل الأمر إلى المحكمة، أو ليس لديهم سجل أنشطة يمكن تقديمه كسبب مشروع، أو ليس لديهم ميزانية لأتعاب المحاماة، أعتقد أنه من الأفضل عدم القيام بذلك كهواية شخصية.
مع ذلك، لا أعتقد أن هناك حاجة للخوف المفرط والتردد.
كحد أدنى، اطّلع على الصفحة المتعلقة بجريمة السجلات الإلكترونية المغناطيسية ذات الأوامر غير المشروعة التي تنشرها شرطة العاصمة طوكيو، وتحقق من محتواها.
- https://www.keishicho.metro.tokyo.jp/kurashi/cyber/law/virus.html
الأمور التي يجب الانتباه إليها عند التعامل مع البرمجيات الخبيثة ليست قانونية فقط.
عند تنفيذ برمجية خبيثة (سواء عن قصد أم لا)، في معظم الحالات سيتم الوصول إلى خادم أعده المهاجم.
سيُترك سجل عنوان IP الذي تستخدمه على خادم المهاجم، وقد تُرسل معلومات النظام المستخدم عند الاتصال أيضًا.
حسب البرمجية الخبيثة، قد يُنفذ المهاجم أوامر، وقد يتم فحص الشبكة الداخلية أو (وهو ما يجب تجنبه بأقصى قدر) أنشطة إصابة خارجية.
المعلومات المسجلة على خادم المهاجم قد تُقدَّم ليس للمهاجم نفسه فقط بل لأطراف ثالثة. كما يمكن لجهات التحقيق مصادرة الخادم وتحليل السجلات ثم تقديم طلب الكشف عن المعلومات إلى مزود خدمة الإنترنت ISP.
إذا انطبق عليك أيٌّ مما يلي، فامتنع عن التعلم باستخدام برمجيات خبيثة حقيقية.
- لديك قلق بشأن التعامل مع البرمجيات الخبيثة.
- لا يمكنك تجهيز بيئة معزولة مثل جهاز كمبيوتر مخصص لتحليل البرمجيات الخبيثة أو شبكة مستقلة.
- أنت قاصر أو طالب، ولكن لا يوجد مسؤول عن التحليل أو البحث الذي يتعامل مع البرمجيات الخبيثة (إذا كنت موظفًا، فلا يمكنك تحمل المسؤولية الكاملة على أنها مسؤوليتك الشخصية).
حتى لو لم تحصل على برمجيات خبيثة حقيقية بشكل شخصي، فقد ذكرنا سابقًا طرق التعلم.
أخيرًا، سأختم المقدمة بالاقتباسات الشهيرة التالية التي يحبها جميع المهووسين.
- `With great power comes great responsibility`
- `The abyss gazes also into you.`
## خدمات مشاركة البرمجيات الخبيثة / خدمات مشاركة IoC
هناك عدة خدمات لمشاركة عينات البرمجيات الخبيثة ومؤشرات الاختراق IoC. الخدمة الأكثر تسجيلًا وشهرة هي VirusTotal، لكن التحميل متاح فقط للحسابات المدفوعة، لذا سنقدم هنا الخدمات المتاحة مجانًا.
هاتان الخدمتان هما الأبرز كمصدر للحصول على العينات.
- [MalwareBazaar](https://bazaar.abuse.ch/)
- [Vx Underground](https://www.vx-underground.org/)
كمرجع، نذكر أيضًا الخدمات التالية.
- [URLhaus](https://urlhaus.abuse.ch/)
- [ThreatFox](https://threatfox.abuse.ch/)
- [MalShare](https://www.malshare.com/)
- [VirusShare](https://virusshare.com/)
- [VirusBay](https://beta.virusbay.io/)
- [Vx Vaul](http://vxvault.net//ViriList.php)
- [theZoo](https://thezoo.morirt.com/)
- [malpedia](https://malpedia.caad.fkie.fraunhofer.de/)
## صناديق الرمل عبر الإنترنت
خدمات صناديق الرمل عبر الإنترنت المتاحة مجانًا هي في الأصل خدمات لتحليل سلوك البرمجيات الخبيثة، لكن يمكن تحميل البرمجيات الخبيثة التي نشرها آخرون.
- [Hybrid Analysis](https://www.hybrid-analysis.com/)
- [Any Run](https://app.any.run/)
- [Triage](https://tria.ge/)
- [Joe Sandbox](https://www.joesandbox.com/)
- [cape](https://capesandbox.com/)
## OSS RAT
فيما يلي مستودعات مفيدة لفهم تطبيقات RAT (حصان طروادة للوصول عن بُعد).
من خلال مقارنة الشيفرة المصدرية مع الملفات الثنائية الفعلية، يمكنك تعلم تطبيقات معالجة الاتصالات وتنفيذ الأوامر وعمليات الملفات وغيرها.
- [Lilith RAT](https://github.com/werkamsus/Lilith)
- [Quasar RAT](https://github.com/quasar/Quasar)
- [NGLite](https://github.com/Maka8ka/NGLite)
- [AsyncRAT](https://github.com/NYAN-x-CAT/AsyncRAT-C-Sharp)
- [trochilus RAT](https://github.com/5loyd/trochilus)
- [gh0st RAT](https://github.com/sin5678/gh0st)
- [Poison-Ivy-Reload](https://github.com/killeven/Poison-Ivy-Reload)
- [GitHub Topics rat](https://github.com/topics/rat)
## أطر C2
لفهم اتصالات C2 للبرمجيات الخبيثة وتطبيقات Agent، فإن قراءة الشيفرة المصدرية لأطر C2 مفتوحة المصدر مفيدة أيضًا.
تحتوي أطر C2 على وظائف شائعة في البرمجيات الخبيثة، مثل الاتصال بين Agent وC2 Server، واستقبال الأوامر وتنفيذها، وعمليات الملفات، وعمليات العمليات، وتشفير بيانات الاتصال.
تختلف لغة التطبيق وبنية Agent وطريقة الاتصال في كل منها، لذا قد يكون من الجيد إجراء هندسة عكسية بمقارنة الشيفرة المصدرية مع Agent المُولَّد.
- [Sliver](https://github.com/BishopFox/sliver)
- [Mythic](https://github.com/its-a-feature/Mythic)
- [Mythic Agents](https://github.com/MythicAgents)
- [AdaptixC2](https://github.com/Adaptix-Framework/AdaptixC2)
- [Empire](https://github.com/BC-SECURITY/Empire)
- [PoshC2](https://github.com/nettitude/PoshC2)
- [Merlin](https://github.com/Ne0nd0g/merlin)
- [MITRE CALDERA](https://github.com/mitre/caldera)
- [Havoc](https://github.com/HavocFramework/Havoc)
- [The C2 Matrix](https://www.sans.org/tools/the-c2-matrix)
- قائمة لمقارنة وظائف وخصائص أطر C2 المختلفة
| オプション | 説明 |
|---|
-d, --domain | 対象ドメイン |
--recon | 偵察フェーズのみを実行 |
--scan | 脆弱性スキャンのみを実行 |
--secrets | シークレット検出のみを実行 |
--brute | ディレクトリブルートフォースのみを実行 |
--all | すべてのフェーズを実行 |
-o, --output | 出力ファイル(JSON) |
| < 100ms |