
strelka v1.0.2
مسح الملفات في الوقت الفعلي، القائم على الحاويات، على نطاق المؤسسات
الإصدارات | التوثيق | طلبات السحب | المشكلات
Strelka هو نظام فحص ملفات في الوقت الفعلي يعتمد على الحاويات، يُستخدم في البحث عن التهديدات واكتشافها والاستجابة للحوادث. يعتمد التصميم الأصلي على ما أسسته شركة Lockheed Martin في مشروع Laika BOSS ومشاريع مشابهة (انظر: المشاريع ذات الصلة). الهدف من Strelka هو استخراج الملفات وجمع البيانات الوصفية على نطاق المؤسسات.
يختلف Strelka عن المشاريع الشقيقة بعدة طرق مهمة:
- قاعدة الكود الأساسية هي Go وPython3.10+
- تعمل مكونات الخادم داخل حاويات لسهولة ومرونة النشر
- تطبيقات عميل أصلية لأنظمة Windows وMac وLinux
- مبني على مكتبات وصيغ تدعم عبر المنصات واللغات
الميزات
Strelka هو منصة مسح بيانات معيارية، تتيح للمستخدمين أو الأنظمة إرسال الملفات بغرض تحليلها واستخراج محتواها وبياناتها الوصفية والإبلاغ عنها. عند إقرانه بنظام SIEM، يصبح Strelka قادرًا على التجميع والتنبيه وتزويد المحللين بالقدرة على فهم بيئتهم بشكل أفضل دون الحاجة إلى جمع البيانات يدويًا أو تحليل الملفات المستغرق للوقت.

بداية سريعة
تشغيل ملف عبر Strelka أمر بسيط. في هذا القسم، سيتم عرض إمكانيات الاستخراج والتحليل في Strelka لتحليل لمرة واحدة.
يُرجى مراجعة التوثيق للحصول على تفاصيل حول كيفية بناء ونشر Strelka بشكل صحيح في بيئة مؤسسية.
الخطوة 1: تثبيت المتطلبات الأساسية
# Ubuntu 23.04
sudo apt install -y wget git docker docker-compose golang jq && \
sudo usermod -aG docker $USER && \
newgrp docker
الخطوة 2: تنزيل Strelka
git clone https://github.com/target/strelka.git && \
cd strelka
الخطوة 3: تنزيل وتثبيت قواعد yara المفضلة (اختياري)
rm configs/python/backend/yara/rules.yara && \
git clone https://github.com/Yara-Rules/rules.git configs/python/backend/yara/rules/ && \
echo 'include "./rules/index.yar"' > configs/python/backend/yara/rules.yara
الخطوة 4أ: سحب الصور المجمعة مسبقًا وبدء Strelka
ملاحظة: يمكنك تخطي عملية go build واستخدام واجهة Strelka على http://0.0.0.0:9980 لتحليل الملفات.
docker compose -f build/docker-compose-no-build.yaml up -d && \
go build github.com/target/strelka/src/go/cmd/strelka-oneshot
الخطوة 4ب: بناء وبدء Strelka
ملاحظة: يمكنك تخطي عملية go build واستخدام واجهة Strelka على http://0.0.0.0:9980 لتحليل الملفات.
docker compose -f build/docker-compose.yaml build && \
docker compose -f build/docker-compose.yaml up -d && \
go build github.com/target/strelka/src/go/cmd/strelka-oneshot
الخطوة 5: تحضير ملف للتحليل
استخدم أي عينة برمجيات ضارة أو أي ملف آخر تريد تحليله بواسطة Strelka.
wget https://github.com/ytisf/theZoo/raw/master/malware/Binaries/Win32.Emotet/Win32.Emotet.zip -P samples/
الخطوة 6: تحليل الملف باستخدام Strelka من خلال الأداة الأحادية في الحاوية
./strelka-oneshot -f samples/Win32.Emotet.zip -l - | jq
ماذا يحدث هنا؟
- يحدد Strelka أن الملف المرسل هو ملف ZIP مشفر (انظر: taste.yara وbackend.yaml)
- يستخدم ScanEncryptedZip قاموسًا لفك تشفير كلمة مرور ملف ZIP واستخراج الملف المضغوط
- يتم إعادة الملف المستخرج إلى مسار معالجة Strelka بواسطة الماسح الضوئي، ويحدد Strelka أن الملف المستخرج هو ملف EXE
- يقوم ScanPe بتفكيك ملف EXE وإضافة بيانات وصفية مفيدة إلى المخرجات
- يقوم ScanYara بتحليل ملف EXE باستخدام القواعد المقدمة، ويضيف العديد من التطابقات إلى المخرجات، بعضها يشير إلى أن الملف قد يكون ضارًا
تم تعديل المخرجات التالية للاختصار.
{
"file": {
"depth": 0,
"flavors": {
"mime": ["application/zip"],
"yara": ["encrypted_zip", "zip_file"]
},
"scanners": [
"ScanEncryptedZip",
"ScanEntropy",
"ScanFooter",
"ScanHash",
"ScanHeader",
"ScanYara",
"ScanZip"
]
},
"scan": {
"encrypted_zip": {
"cracked_password": "infected",
"elapsed": 0.114269,
"total": {"extracted": 1, "files": 1}
}
}
}
{
"file": {
"depth": 1,
"flavors": {
"mime": ["application/x-dosexec"],
"yara": ["mz_file"]
},
"name": "29D6161522C7F7F21B35401907C702BDDB05ED47.bin",
"scanners": [
"ScanEntropy",
"ScanFooter",
"ScanHash",
"ScanHeader",
"ScanPe",
"ScanYara"
]
},
"scan": {
"pe": {
"address_of_entry_point": 5168,
"base_of_code": 4096,
"base_of_data": 32768,
"checksum": 47465,
"compile_time": "2015-03-31T08:53:51",
"elapsed": 0.013076,
"file_alignment": 4096,
"file_info": {
"company_name": "In CSS3",
"file_description": "Note: In CSS3, the text-decoration property is a shorthand property for text-decoration-line, text-decoration-color, and text-decoration-style, but this is currently.",
"file_version": "1.00.0065",
"fixed": {"operating_systems": ["WINDOWS32"]},
"internal_name": "Callstb",
"original_filename": "NOFAstb.exe",
"product_name": "Goodreads",
"product_version": "1.00.0065",
"var": {"character_set": "Unicode", "language": "U.S. English"}
}
},
"yara": {
"elapsed": 0.068918,
"matches": [
"SEH__vba",
"SEH_Init",
"Big_Numbers1",
"IsPE32",
"IsWindowsGUI",
"HasOverlay",
"HasRichSignature",
"Microsoft_Visual_Basic_v50v60",
"Microsoft_Visual_Basic_v50",
"Microsoft_Visual_Basic_v50_v60",
"Microsoft_Visual_Basic_v50_additional",
"Microsoft_Visual_Basic_v50v60_additional"
],
"tags": [
"AntiDebug",
"SEH",
"Tactic_DefensiveEvasion",
"Technique_AntiDebugging",
"SubTechnique_SEH",
"PECheck",
"PEiD"
]
}
}
}
ما التالي؟
إذا تم نشر Strelka وكان يبتلع الملفات في بيئتك، فقد تجمع هذه الأحداث في نظام SIEM الخاص بك. باستخدام هذا التحليل، يمكنك كتابة قاعدة تبحث عن الأحداث التي تطابق علامات yara المشبوهة، لتنبيهك إلى وجود ملف قد يكون ضارًا.
scan.yara.tags:("Technique_AntiDebugging" && "SubTechnique_SEH")
واجهة Fileshot UI
واجهة Strelka متاحة عند بناء الحاويات المقدمة. تتيح لك هذه الواجهة الويب رفع الملفات إلى Strelka والتقاط الأحداث، والتي يتم تخزينها محليًا.
انتقل إلى http://localhost:9980/ واستخدم بيانات الدخول strelka/strelka.

الاستخدامات المحتملة
مع أكثر من 50 ماسحًا ضوئيًا لأكثر أنواع الملفات شيوعًا (مثل: exe, docx, js, zip)، يوفر Strelka للمستخدمين القدرة على اكتساب رؤى جديدة حول الملفات الموجودة على مضيفهم أو شبكتهم أو مؤسستهم. على الرغم من أن Strelka ليس محرك كشف بحد ذاته (على الرغم من أنه يستخدم YARA)، إلا أنه يمكنه توفير بيانات وصفية كافية لتحديد الملفات المشبوهة أو الضارة. بعض الاستخدامات المحتملة لـ Strelka تشمل:

توثيق إضافي
يمكن العثور على المزيد من التوثيق حول Strelka في README، بما في ذلك:
المساهمة
يمكن العثور على إرشادات المساهمة هنا.
المشكلات المعروفة
مشكلات تحميل قواعد YARA
يُنصح المستخدمون بتجميع قواعد YARA مسبقًا لتحقيق الأداء الأمثل وتجنب المشكلات المحتملة أثناء وقت التشغيل. يساعد استخدام ملفات YARA المُجمّعة مسبقًا في تقليل وقت التحميل واستخدام الموارد، خاصة في البيئات التي تحتوي على مجموعة كبيرة من القواعد. تأكد من استخدام خيار compiled في إعدادات Strelka للإشارة إلى ملف القواعد المُجمّع مسبقًا.
مشكلات أخرى
انظر إلى المشكلات الموسومة بـbug في المتتبع لأي مشكلات إضافية.
المشاريع ذات الصلة
الترخيص
Strelka ورمزها المرتبط به يتم إصدارهما بموجب شروط رخصة Apache 2.0.