
مجموعة أدوات لتحليل آثار Windows تربط اكتشافات مكافحة الفيروسات بإزاحات PE والأقسام وRVA/VA والسلاسل النصية، مع فحص YARA وAMSI وcapa ومحركات متعددة بالإضافة إلى تقارير JSON/HTML.
أنشأه St0rn / CybersecurIT
تحليل PE الساكن، وربط YARA، وWindows AMSI، والفحص متعدد المحركات لمكافحة الفيروسات، وربط PDB/المصدر، وتضييق حدود الكشف المعتمد على البادئة، والتحليل البنيوي للسكربتات، وإعداد التقارير الجنائية.
SigLens هي مجموعة أدوات تحليل أمني محلية لنظام Windows، مبنية لفرز الآثار، وتشخيص التوقيعات، والتحقيق في الإيجابيات الكاذبة، وسير عمل الفريق الأحمر / هندسة الكشف. وهي تربط النتائج من التحليل الساكن ومحركات الأمان المثبتة محليًا إلى تخطيط الملف الأصلي دون تعديل الأثر الذي تم تحليله.
بالنسبة للآثار الثنائية، يمكن لـ SigLens فحص مناطق PE الثابتة، كما يمكنه إجراء تضييق حدود الكشف المعتمد على البادئة لمكافحة الفيروسات. يتم فحص الملف الكامل أولاً، ثم يتم اختبار بادئات أقصر أو أطول تدريجيًا لتحديد انتقال CLEAN -> DETECTED قابل للتكرار. يُستنتج الحد الناتج من أحكام المحرك المتكررة؛ ولا يُقدَّم كإزاحة أصلية يُرجعها محرك مكافحة الفيروسات. بالنسبة لتنسيقات السكربتات، يستخدم SigLens نموذجًا مختلفًا: يقوم AMSI بفحص مخزن الملف الكامل، بينما يبني SigLens بشكل منفصل خريطة بنيوية للدوال وكتل السكربت حتى يتمكن المحلل من تحديد المناطق التي تستحق المراجعة.
Artifact
|
+-- hashes / entropy / strings / IOCs
+-- PE sections / resources / overlay
+-- YARA -> exact native match offsets
+-- offset -> section -> RVA -> VA
| +-- x64 .pdata function boundary
| `-- PDB symbol / source line
+-- Microsoft Defender / ClamAV / configurable AV CLIs
+-- AMSI full-buffer scan
+-- structural script analysis (PowerShell / JS / VBS / WSF / text)
+-- fixed PE-region scan
+-- prefix-based AV detection-boundary narrowing
`-- JSON / HTML reports
SigLens من إنشاء St0rn / CybersecurIT.
.\dist\SigLens.exe about
SigLens
Created by St0rn / CybersecurIT
Windows Artifact Analysis and Multi-Engine Scanner
السماح بالسكربتات في عملية PowerShell الحالية فقط:
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
تثبيت SigLens وتبعيات التطوير:
.\scripts\Install.ps1 -Dev -AddToUserPath
يقوم المثبّت بما يلي:
.venv معزول؛siglens؛-SkipAVInstall؛منتجات الأمان التجارية التي تتطلب ترخيصًا لا يتم تثبيتها بصمت.
.\scripts\Build.ps1
الناتج:
dist\SigLens.exe
ينسخ البناء أيضًا engines.json وengines.example.json إلى dist\.
.\scripts\Test.ps1
.\dist\SigLens.exe scan C:\Samples\sample.exe
تحليل ساكن/محرك كامل:
.\dist\SigLens.exe scan C:\Samples\sample.exe `
--yara .\rules `
--capa `
--iocs `
--dissect `
--amsi `
--engines .\dist\engines.json
scan - تحليل موحّد للآثارscan هو أمر التنسيق الرئيسي. اعتمادًا على الخيارات المحددة، يمكنه جمع:
مثال:
.\dist\SigLens.exe scan C:\Samples\sample.exe `
--yara .\rules `
--symbol-path .\symbols `
--iocs `
--dissect
تُكتب التقارير إلى reports\ بصيغتي JSON وHTML.
multi-scan - محركات أمان محلية متعددة.\dist\SigLens.exe multi-scan C:\Samples\sample.exe --engines .\dist\engines.json
تغطي المحولات/القوالب Microsoft Defender وClamAV وESET Endpoint Security وSophos Endpoint / Intercept X وAvast Business وMalwarebytes Toolset والماسحات العامة عبر سطر الأوامر المحلية.
قد يُرجع الماسح DETECTED أو CLEAN أو UNKNOWN أو UNAVAILABLE أو ERROR. تُعرض إزاحات البايت الدقيقة فقط عندما يكشفها المحرك الأساسي أصلاً.
amsi-scan - AMSI للمخزن الكامل.\dist\SigLens.exe amsi-scan C:\Samples\sample.ps1
يُرسل SigLens مخزن الملف الكامل عبر Windows AmsiScanBuffer ويعرض كلاً من الحالة المعيارية ومعلومات نتيجة AMSI الخام:
AMSI_RESULT_CLEAN
AMSI_RESULT_NOT_DETECTED
AMSI_RESULT_BLOCKED_BY_ADMIN
AMSI_RESULT_DETECTED
لا يقوم amsi-scan بتقسيم المحتوى أو إعادة كتابته أو ترقيعه أو تشويشه.
script-analyze - تشخيص بنيوي للسكربتات مع AMSIبالنسبة لـ PowerShell وJavaScript وVBScript وWSF والآثار النصية:
.\dist\SigLens.exe script-analyze C:\Samples\sample.ps1
مخرجات نموذجية:
SigLens - AMSI Analysis
File : sample.ps1
Encoding : UTF-8
Size : 18432 bytes
AMSI : DETECTED
Structural regions
-------------------------------------------------------------
Lines 1-34 module/imports
Lines 36-81 function Invoke-Example
Lines 83-117 function Resolve-Target
Lines 119-143 main script block
Candidate context
Lines : 83-117
Byte offsets : 0x000018F0 - 0x000024A8
AST type : FunctionDefinitionAst
Classification : CANDIDATE_REGION
كيف يعمل:
لا يُدَّعى أن المنطقة المرشحة هي توقيع AMSI مستقل. قد يعتمد الكشف على السياق أو شظايا متعددة أو نوع المحتوى أو مستهلك AMSI أو مزود مكافحة البرمجيات الخبيثة المرتبط.
إذا اكتشف AMSI المخزن الكامل ولكن لا يمكن نسب أي منطقة بثقة، يُبلغ SigLens عن:
CONTEXT_DEPENDENT
الخيارات:
.\dist\SigLens.exe script-analyze sample.ps1 --context-lines 5
.\dist\SigLens.exe script-analyze sample.ps1 --max-file-size 20
.\dist\SigLens.exe script-analyze sample.ps1 --json
الامتدادات المعروفة:
.ps1 .psm1 .psd1 .js .jse .vbs .vbe .wsf .txt
اكتشاف الترميز:
narrow - تضييق حدود الكشف المعتمد على البادئة لمكافحة الفيروسات.\dist\SigLens.exe narrow C:\Samples\sample.exe --engines .\dist\engines.json
يقوم narrow أولاً بفحص الملف الكامل باستخدام محركات مكافحة الفيروسات المُهيأة. إذا تم اكتشاف الملف، يُجري SigLens تضييقًا معتمدًا على البادئة عبر اختبار بادئات بأطوال مختلفة حتى يحدد انتقال CLEAN -> DETECTED قابل للتكرار.
تتبع نموذجي:
Prefix end Status
0x0230B000 DETECTED
0x01185800 CLEAN
0x01A47C00 DETECTED
0x015E6A00 CLEAN
...
يُبلغ المرشح النهائي عن:
CLEAN معروف؛DETECTED معروف؛الحد المُبلَّغ عنه مستنتج من فحص البادئة. ولا يُدَّعى أنه إزاحة بايت أصلية يوفرها Microsoft Defender أو أي محرك مكافحة فيروسات آخر. إذا كشف محرك عن إزاحة أصلية، يحتفظ SigLens بتلك القيمة بشكل منفصل ويحدد مصدرها.
سياق العرض مخصص لفحص المحلل فقط؛ وهو منفصل عن حكم المحرك نفسه.
component-scan - أقسام PE والطبقة العلوية