إنتقل إلى المحتوى الرئيسي

تحليل البرمجيات الخبيثة

دليل متعمق لاستخدام باطن في سير عمل تحليل البرمجيات الخبيثة.

سير عمل الفرز

كشف الملفات التنفيذية المضغوطة

ما هو الضغط (Packing)؟

الضغط (Packing) عملية ضغط/تشفير ملف تنفيذي تُفك عند التشغيل.

لماذا تستخدم البرمجيات الخبيثة الضغط:

  • تجنب كشف التوقيعات
  • تقليل حجم الملف
  • إخفاء الكود

الكشف باستخدام باطن

# إيجاد الملفات التنفيذية المضغوطة
batin scan /samples -r --json | \
jq '.[] | select(.file_type.entropy_profile.is_packed == true) | .path'

مؤشرات الإنتروبيا

نطاق الإنتروبياالتفسير
5.0 - 6.5تنفيذي عادي (غير مضغوط)
6.5 - 7.2ضغط خفيف أو تحسين
7.2 - 7.5على الأرجح مضغوط
7.5 - 8.0بالتأكيد مضغوط أو مشفر

كشف متعددي الصيغ (Polyglot)

الهجمات الشائعة

التركيبةالهجوم
PDF + EXEيبدو كمستند، ينفذ كتنفيذي
DOC + EXEمستند Office مع تنفيذي مضمن
JPG + ZIPإخفاء البيانات في صور

الكشف

# إيجاد الملفات متعددة الصيغ
batin scan /suspicious -r --json | \
jq '.[] | select(.file_type.detected_formats | length > 1) |
{path: .path, formats: .file_type.detected_formats}'

كشف الماكرو

تصنيف الخطورة

الماكروالمستوىالسبب
AutoOpenحرجينفذ تلقائياً عند الفتح
AutoExecحرجينفذ عند بدء التطبيق
Document_Openحرجحدث فتح المستند
Workbook_Openحرجحدث فتح مصنف Excel
VBA عاديخطيريتطلب إجراء المستخدم

الفحص

# إيجاد المستندات مع ماكروات التنفيذ التلقائي
batin scan /documents -r --json | \
jq '.[] | select(.file_type.embedded_threats |
any(.severity == "Critical" and .threat_type == "Macro"))'

سكربت أتمتة الفرز

#!/bin/bash
# malware-triage.sh

INPUT_DIR="$1"
OUTPUT_DIR="$2"

mkdir -p "$OUTPUT_DIR"/{critical,dangerous,suspicious,safe}

batin scan "$INPUT_DIR" -r --json | jq -c '.[]' | while read -r result; do
path=$(echo "$result" | jq -r '.path')
threat=$(echo "$result" | jq -r '.file_type.threat_level')
filename=$(basename "$path")

case "$threat" in
Critical)
cp "$path" "$OUTPUT_DIR/critical/$filename"
echo "[!] حرج: $filename"
;;
Dangerous)
cp "$path" "$OUTPUT_DIR/dangerous/$filename"
echo "[!] خطير: $filename"
;;
Suspicious)
cp "$path" "$OUTPUT_DIR/suspicious/$filename"
echo "[?] مشبوه: $filename"
;;
Safe)
cp "$path" "$OUTPUT_DIR/safe/$filename"
;;
esac
done

echo "=== الملخص ==="
echo "حرج: $(ls -1 "$OUTPUT_DIR/critical" | wc -l)"
echo "خطير: $(ls -1 "$OUTPUT_DIR/dangerous" | wc -l)"
echo "مشبوه: $(ls -1 "$OUTPUT_DIR/suspicious" | wc -l)"
echo "آمن: $(ls -1 "$OUTPUT_DIR/safe" | wc -l)"

تحذير أمان

عند تحليل البرمجيات الخبيثة:

  • استخدم دائماً بيئة معزولة (VM/sandbox)
  • لا تنفذ العينات خارج بيئة التحليل
  • احتفظ بنسخ احتياطية من العينات
  • وثق سلسلة الحراسة