المقدمة
يصف هذا المستند استعلامات البحث المداري الأساسية لتحليل التهديدات.
المتطلبات الأساسية
المتطلبات
توصي Cisco بأن تكون لديك معرفة بمصلحة فهم التهديدات والبرامج الضارة وفهم أساسي لجداول لغة الاستعلام المنظمة (SQL).
المكونات المستخدمة
تستند المعلومات الواردة في هذا المستند إلى إصدارات البرامج والمكونات المادية التالية:
- Secure Endpoint Connector الإصدار 7.1.5 أو إصدار أحدث ل Windows
- Secure Endpoint Connector الإصدار 1.16 أو إصدار أحدث ل Mac
- Secure Endpoint Connector، الإصدار 1.17 أو إصدار أحدث لنظام التشغيل Linux
- يجب تعيين دور المسؤول إلى مستخدم نقطة النهاية الآمنة لنشر المدار
تم إنشاء المعلومات الواردة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المُستخدمة في هذا المستند بتكوين ممسوح (افتراضي). إذا كانت شبكتك قيد التشغيل، فتأكد من فهمك للتأثير المحتمل لأي أمر.
معلومات أساسية
يتم الاستفادة من "الاستعلامات المخصصة" التي يجب أن تساعدك على التعرف بسرعة على قوة Orbital و osquery لاصطياد التهديدات.
يستخدم المدار جداول أسهم الوسكويرس بالإضافة إلى جداول مدارية محددة. يمكن إرسال النتائج التي تم إرجاعها من خلال Orbital إلى تطبيقات أخرى، مثل Secure Endpoint، وتحليلات البرامج الضارة الآمنة، والاستجابة لتهديد SecureX، ويمكن تخزينها في مخازن البيانات البعيدة (RDS)، مثل Amazon S3، و Microsofts Azure، و Splunk.
أستخدم صفحة "التحري المداري" لإنشاء وتنفيذ إستفسارات حية على نقاط النهاية من أجل جمع المزيد من المعلومات منها. يستخدم Orbital osquery، والذي يسمح لك بالاستعلام عن أجهزتك مثل قاعدة بيانات باستخدام أوامر SQL الأساسية.
فيما يلي مثال بسيط: حدد العمود 1، العمود 2 من الجدول 1، الجدول 2 حيث العمود 2='القيمة'.
في هذا المثال، العمود 1 والعامود 2 هما أسماء حقول الجدول الذي تريد إختيار البيانات منه. لاختيار كافة الحقول المتوفرة في الجدول، أستخدم هذه الصياغة: تحديد * من الجدول 1.
وصول
فتح المدار مباشرة في هذه المواقع:
أمريكا الشمالية - https://orbital.amp.cisco.com
أوروبا - https://orbital.eu.amp.cisco.com
آسيا والمحيط الهادئ - https://orbital.apjc.amp.cisco.com
أو
على وحدة تحكم النقطة الطرفية الآمنة، أختر نظام المضيف المتأثر وانقر فوق Investigate في Orbital.

هناك خيارات لاستخدام الكتالوج المداري (انقر فوق إستعراض) أو أدخل الاستعلامات المخصصة تحت قسم SQL المخصص كما هو مذكور:

الاستعلامات المخصصة
ملاحظة: نظام المضيف موجود في شبكة المختبر، وقد حاول الحفاظ على النظام/الشبكة دون أي أذى.
1. عناصر بدء التشغيل
يمكن للمهاجمين إستغلال عناصر بدء التشغيل للحفاظ على إستمرارية النظام الذي تم إختراقه، مما يعني أن البرامج الضارة ستظل قيد التشغيل أو سيتم إعادة تشغيلها تلقائيا مع كل عملية إعادة تشغيل للنظام. في المثال التالي، يتم تشغيل Qakbot.exe في النظام المضيف.
SELECT name, path, args, source, type, status, username
FROM startup_items;

2. تجزئة SHA256 للعمليات قيد التشغيل
لا ترتبط تجزئة SHA256 بطبيعتها مع تشغيل العمليات في حالتها الطبيعية. ومع ذلك، يمكن لبرامج الأمان وأدوات مراقبة النظام حساب تجزئة SHA256 لعملية جارية للملف القابل للتنفيذ للمساعدة في التحقق من سلامته وأصالته.
SELECT
p.pid, p.name, p.path, p.cmdline, p.state, h.sha256
FROM processes p
INNER JOIN hash h
ON p.path=h.path;


إذا كانت التجزئة المقترنة بالملف ضارة، ستتمكن من التعرف عليها باستخدام هذا الاستعلام.
3. المعالجة باستخدام إتصالات الشبكة
العمليات ذات إتصالات الشبكة هي برامج أو خدمات نظام تستخدم واجهة الشبكة بشكل نشط للاتصال بالأجهزة الأخرى على الشبكة أو عبر الإنترنت.
SELECT
DISTINCT pos.pid, p.name, p.cmdline, pos.local_address, pos.local_port, pos.remote_address, pos.remote_port
FROM processes p
JOIN process_open_sockets pos USING (pid)
WHERE
pos.remote_address NOT IN ("", "0.0.0.0", "127.0.0.1", "::", "::1", “0");

4. العملية ذات الامتيازات مع اتصال الشبكة غير المحلي المضيف
تشغيل برنامج أو خدمة لها أذونات مرتفعة (مثل تلك الخاصة بالمسؤول أو حساب النظام) وتتواصل عبر الشبكة مع جهاز أو خدمة خارجية - بمعنى أي عنوان IP آخر غير 127.0.0.1 (المضيف المحلي) أو ::1 (مضيف IPv6 المحلي).
SELECT DISTINCT p.name, p.cmdline, pos.pid, pos.local_address, pos.local_port, pos.remote_address, pos.remote_port
FROM processes p JOIN process_open_sockets pos USING (pid)
WHERE pos.remote_address NOT IN ("", "0.0.0.0", "127.0.0.1", "::", "::1")

بمجرد حصولك على قائمة معرف الحزمة (PID)، يمكنك إضافتها وفقا لذلك في الاستعلامات المخصصة.
SELECT DISTINCT p.name, p.cmdline, pos.pid, pos.local_address, pos.local_port, pos.remote_address, pos.remote_port
FROM processes p JOIN process_open_sockets pos USING (pid)
WHERE pos.remote_address NOT IN ("", "0.0.0.0", "127.0.0.1", "::", "::1") and p.uid=1436
5. مراقبة سجل النسخ الاحتياطي/الاستعادة
تعقب الأحداث التي يتم فيها إجراء تغييرات على "سجل Windows" من خلال عمليات النسخ الاحتياطي أو الاستعادة. "تسجيل Windows" عبارة عن قاعدة بيانات هرمية تخزن إعدادات التكوين والخيارات على أنظمة تشغيل Microsoft Windows.
SELECT key AS reg_key, path, name, data, DATETIME(mtime, "unixepoch") as last_modified
FROM registry
WHERE key LIKE "HKEY_LOCAL_MACHINE\system\currentcontrolset\control\backuprestore\filesnottosnapshot";
SELECT data, path FROM registry
WHERE key LIKE 'HKEY_USERS\%\Control Panel\Accessibility\StickyKeys’;

SELECT username, data, split(path, '\', 1) AS sid
FROM
(SELECT data, path FROM registry
WHERE key LIKE 'HKEY_USERS\%\Control Panel\Accessibility\StickyKeys’)
JOIN users ON users.uuid = sid;

6. البحث في الملفات
يسمح للمستخدمين بتحديد موقع الملفات والمجلدات على جهاز الكمبيوتر الخاص بهم باستخدام معايير مختلفة مثل اسم الملف أو المحتوى أو الخصائص أو البيانات الأولية.
SELECT
f.directory, f.filename, f.uid, f.gid,
f.mode, f.device, f.size,
f.atime,
f.mtime,
f.ctime,
f.btime,
f.hard_links, f.symlink, f.file_id, h.sha256
FROM file f
LEFT JOIN hash h on f.path=h.path
WHERE
f.path LIKE (SELECT v from __vars WHERE n="file_path") AND
f.path NOT LIKE (SELECT v from __vars WHERE n=“not_file_path");
انتقل إلى المعلمات > مسار الملف وانقر فوق ٪.dll أو ٪.exe أو ٪.png.

7. مراقبة محفوظات PowerShell
ممارسة تعقب الأوامر التي تم تنفيذها في جلسات عمل PowerShell. يمكن أن تكون مراقبة محفوظات PowerShell مهمة بشكل خاص لأسباب الأمان والتوافق.
SELECT time, datetime, script_block_id, script_block_count, script_text, script_name, script_path
FROM orbital_powershell_events
ORDER BY datetime DESC
LIMIT 500;

8. استعلام الإحضار المسبق
ميزة الأداء التي تسرع من تحميل التطبيقات. يتضمن الإحضار المسبق تحليل طريقة تحميل البرنامج وتشغيله على نظام ثم تخزين معلومات حول ذلك في ملفات معينة.
select datetime(last_run_time, "unixepoch", "UTC") as last_access_time,*
from prefetch
ORDER BY last_access_time DESC;
Prefetch هي آلية يمكن من خلالها ل SQL Server إطلاق العديد من طلبات الإدخال/الإخراج بالتوازي للانضمام إلى حلقة متداخلة.
9. فحص ذاكرة التخزين المؤقت لبروتوكول تحليل العنوان (ARP)
يتضمن فحص محتويات ذاكرة تخزين ARP المؤقت على جهاز كمبيوتر أو جهاز شبكة. ذاكرة التخزين المؤقت ل ARP هي جدول يقوم بتخزين التخطيطات بين عناوين IP وعناوين MAC المطابقة لها.
SELECT address, mac, count(*) as count
FROM arp_cache GROUP BY mac,address;

يوضح المثال التالي عنوان MAC المريب وعده من ذاكرة ARP المؤقتة.
SELECT address, mac, count(*) as count
FROM arp_cache GROUP BY mac,address
HAVING COUNT(mac) >= (SELECT count FROM arp_cache WHERE count>=1)
AND mac LIKE (SELECT mac FROM arp_cache WHERE mac=“52:54:00:12:35:02");
