Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
tailsnitch — مدقق أمان لتكوينات Tailscale. يمسح شبكة tailnet الخاصة بك بحثًا عن التكوينات الخاطئة، وضوابط الوصول المفرطة في السماح، وانتهاكات أفضل الممارسات الأمنية. | Kitploit
أدوات/GitHubGitHub/adversis/tailsnitch
ماسحات الثغرات الأمنيةتدقيق التكوينأمن الشبكاتأمن السحابةDevSecOpsسوء التكوينالاستجابة للحوادث
GitHubadversis/tailsnitch

tailsnitch

مدقق أمان لتكوينات Tailscale. يمسح شبكة tailnet الخاصة بك بحثًا عن التكوينات الخاطئة، وضوابط الوصول المفرطة في السماح، وانتهاكات أفضل الممارسات الأمنية.

عرض المستودع
1.1k2920منذ 26 أيامتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

Tailsnitch

أداة تدقيق أمني لإعدادات Tailscale. يقوم Tailsnitch بفحص شبكة tailnet الخاصة بك بحثًا عن 57 حالة إعداد خاطئ، وضوابط وصول متساهلة بشكل مفرط، وانتهاكات أفضل الممارسات الأمنية.

بدء سريع

# 1. قم بتعيين بيانات اعتماد Tailscale API الخاصة بك
export TS_API_KEY="tskey-api-..."

# 2. تشغيل التدقيق
tailsnitch

# 3. عرض النتائج عالية الخطورة فقط
tailsnitch --severity high

# 4. إصلاح بعض المشكلات  ~بشكل تفاعلي~ وضع yolo
tailsnitch --fix

التثبيت

تنزيل الملف الثنائي المُجمّع مسبقًا

قم بتنزيل أحدث إصدار من GitHub Releases.

مستخدمو macOS: قم بإزالة سمة quarantine بعد التنزيل:

sudo xattr -rd com.apple.quarantine tailsnitch

التثبيت عبر Go

go install github.com/Adversis/tailsnitch@latest

البناء من المصدر

git clone https://github.com/Adversis/tailsnitch.git
cd tailsnitch
go build -o tailsnitch .

المصادقة

يدعم Tailsnitch طريقتين للمصادقة. يُفضَّل استخدام OAuth عند تكوين كلتيهما.

الخيار 1: عميل OAuth (موصى به)

توفر عملاء OAuth وصولًا محدد النطاق وقابلًا للتدقيق ولا تنتهي صلاحيته عند مغادرة الموظفين.

export TS_OAUTH_CLIENT_ID="..."
export TS_OAUTH_CLIENT_SECRET="tskey-client-..."

أنشئ عميل OAuth على: https://login.tailscale.com/admin/settings/oauth

النطاقات المطلوبة للتدقيق للقراءة فقط:

يغطي all:read كل شيء. منح النطاقات بشكل فردي:

النطاقالاستخدام
policy_file:readملف سياسة tailnet — ACL-، NET-، SSH-*
devices:core:readقائمة الأجهزة — DEV-، NET-، ACL-011
dns:readإعدادات DNS — DNS-001، DEV-007
auth_keys:readمفاتيح مصادقة الأجهزة — AUTH-*، ACL-011
feature_settings:readإعدادات tailnet — DEV-008، DEV-009، DEV-014
logs:network:readإعداد تسجيل تدفق الشبكة — LOG-001
networking_settings:readإعداد شهادة HTTPS — NET-004
log_streaming:readوجهات بث السجلات — LOG-002
webhooks:readنقاط نهاية webhook — LOG-005، LOG-012
oauth_keys:readعملاء OAuth — LOG-006
users:readأدوار المستخدمين وحالتهم — USER-001، LOG-006
account_settings:readجهة الاتصال الأمنية — LOG-011
devices:posture_attributes:readتكاملات الوضعية — DEV-014

أي نطاق تستبعده يؤثر فقط على الفحوصات التي تحتاجه: تلك الفحوصات تُبلغ بأنها لم تستطع قراءة الإعداد بدلاً من اعتبارها ناجحة.

تقرأ AUTH-005 و AUTH-006 الهويات الموحدة لشبكة tailnet، والتي تسميها وحدة التحكم الإدارية trust credentials. تصل من نفس قائمة المفاتيح مثل مفاتيح المصادقة، لذا يُتوقع أن يغطيها auth_keys:read. لم يتم تأكيد ذلك مقابل شبكة tailnet حية. إذا تعذرت قراءة قائمة المفاتيح، يُبلغ كلا الفحصين بأنهما لم يُقيَّما بدلاً من اعتبارهما ناجحين. ما إذا كان النطاق المفقود يُرجع خطأً أو يُرجع القائمة مع تصفية الهويات غير مؤكد؛ إذا قام بالتصفية بصمت، فسيُبلغ AUTH-005 بعدم وجود trust credentials وسيجد AUTH-006 شيئًا لفحصه.

نطاقات إضافية لوضع الإصلاح:

  • devices:core - حذف الأجهزة، تعديل العلامات (يتطلب اختيار العلامة)
  • auth_keys - حذف مفاتيح المصادقة

Tailnet Lock

يُبلغ DEV-010 و DEV-012 عن Tailnet Lock، والذي لا يعرضه Tailscale API كإعداد لشبكة tailnet. الأجهزة المقفلة بواسطته مرئية عبر API، لكن تحديد ما إذا كان القفل مفعلًا يتطلب واجهة tailscale المحلية، والتي تقرأ الخفي على الجهاز الذي يشغل tailsnitch. عند تدقيق شبكة tailnet أخرى باستخدام --tailnet، تعامل مع ذلك الجزء من النتيجة وفقًا لذلك. استخدم --tailscale-path إذا كان الملف الثنائي في موقع غير قياسي.

الخيار 2: مفتاح API

تعمل مفاتيح API كمستخدم قام بإنشائها وترث صلاحيات ذلك المستخدم.

export TS_API_KEY="tskey-api-..."

أنشئ مفتاح API على: https://login.tailscale.com/admin/settings/keys

أمثلة الاستخدام

تدقيق أساسي

# تشغيل تدقيق كامل
tailsnitch

# عرض الفحوصات الناجحة أيضًا (مفصّل)
tailsnitch --verbose

# الإخراج بصيغة JSON للمعالجة
tailsnitch --json

# تدقيق شبكة tailnet محددة (عندما يكون لعميل OAuth وصول إلى عدة شبكات)
tailsnitch --tailnet mycompany.com

تصفية النتائج

# عرض المشكلات الحرجة وعالية الخطورة فقط
tailsnitch --severity high

# التصفية حسب الفئة
tailsnitch --category access    # مشكلات ACL
tailsnitch --category auth      # المصادقة والمفاتيح
tailsnitch --category device    # أمان الأجهزة
tailsnitch --category network   # التعرض الشبكي
tailsnitch --category ssh       # قواعد SSH
tailsnitch --category log       # التسجيل والإدارة

# تشغيل فحوصات محددة فقط
tailsnitch --checks ACL-001,AUTH-001,DEV-010
tailsnitch --checks stale-devices,tailnet-lock-not-enabled

# قائمة جميع الفحوصات المتاحة
tailsnitch --list-checks

وضع الإصلاح التفاعلي

يتيح لك وضع الإصلاح معالجة المشكلات مباشرة عبر Tailscale API:

# وضع الإصلاح التفاعلي
tailsnitch --fix

# معاينة ما سيتم إصلاحه (تشغيل تجريبي)
tailsnitch --fix --dry-run

# التحديد التلقائي للإصلاحات الآمنة (لا يزال يتطلب تأكيدًا)
tailsnitch --fix --auto

# تعطيل تسجيل تدقيق إجراءات الإصلاح
tailsnitch --fix --no-audit-log

العناصر القابلة للإصلاح عبر API:

الفحصالإجراء
AUTH-001، AUTH-002، AUTH-003حذف مفاتيح المصادقة
DEV-002إزالة العلامات من أجهزة المستخدمين
DEV-004حذف الأجهزة القديمة
DEV-005تفويض الأجهزة المعلقة

يوفر وضع الإصلاح أيضًا روابط مباشرة لوحدة التحكم الإدارية للمشكلات التي تتطلب تدخلًا يدويًا.

تصدير أدلة SOC 2

إنشاء تقارير أدلة لعمليات تدقيق SOC 2 مع تعيينات معايير Common Criteria (CC):

# التصدير بصيغة JSON
tailsnitch --soc2 json > soc2-evidence.json

# التصدير بصيغة CSV (لجداول البيانات)
tailsnitch --soc2 csv > soc2-evidence.csv

يتضمن تقرير SOC 2:

  • نتائج الاختبار لكل مورد (كل جهاز، مفتاح، قاعدة ACL تُختبر بشكل فردي)
  • تعيينات رموز CC (CC6.1، CC6.2، CC6.3، CC6.6، CC7.1، CC7.2، إلخ)
  • حالة نجاح/فشل/غير قابل للتطبيق لكل اختبار تحكم
  • طابع زمني لمسار التدقيق

مثال على إخراج CSV:

resource_type,resource_id,resource_name,check_id,check_title,cc_codes,status,details,tested_at
device,node123,prod-server,DEV-001,Tagged devices with key expiry disabled,CC6.1;CC6.3,PASS,Tags: [tag:server] key expiry enabled,2025-01-05T10:30:00Z
key,tskey-auth-xxx,tskey-auth-xxx,AUTH-001,Reusable auth keys exist,CC6.1;CC6.2;CC6.3,FAIL,Reusable key expires in 45 days,2025-01-05T10:30:00Z

تجاهل المخاطر المعروفة

أنشئ ملف .tailsnitch-ignore لكتم النتائج المتعلقة بالمخاطر المقبولة المعروفة:

# .tailsnitch-ignore
# تجاهل الفحوصات المعلوماتية
ACL-008  # لا نستخدم المجموعات عمدًا
ACL-009  # قواعد ACL القديمة مناسبة لحالة استخدامنا

# تجاهل فحوصات محددة متوسطة الخطورة مع مبرر
DEV-006  # الأجهزة الخارجية مقاولون معتمدون
LOG-001  # سجلات التدفق تتطلب خطة Enterprise

# تجاهل عنصر واحد ضمن فحص، بدلاً من كتم الفحص بأكمله
ACL-011:tag:monitoring  # واسع التصميم؛ كل علامة أخرى لا تزال تُفحص
AUTH-001:tskey-auth-xxxx  # يُدار تلقائيًا عبر CI، متتبع في TICKET-123

يسمي السطر إما فحصًا كاملاً (ACL-011) أو عنصرًا واحدًا ضمنه (CHECK-ID:item، مقسومًا على أول نقطتين - قد يحتوي العنصر نفسه على نقطتين). قاعدة لكل عنصر تكتم ذلك العنصر فقط: لا يزال الفحص يعمل ويُبلغ عن كل شيء آخر يجده. كتم كل عنصر مُشار إليه لا يحول أبدًا فحصًا فاشلاً إلى فحص ناجح - تبقى النتيجة، مخفضة إلى معلوماتية، لذا لا تُقرأ النتيجة المكتومة أبدًا كتحكم مُرضى.

مواقع ملفات التجاهل (تُفحص بالترتيب):

  1. .tailsnitch-ignore في الدليل الحالي
  2. ~/.tailsnitch-ignore في الدليل الرئيسي

نظرًا لأن الموقع الأول هو دليل العمل، يمكن أن يأتي ملف التجاهل من مستودع بدلاً منك. يُبلغ كل تشغيل عن الملف الذي استخدمه وعن عدد النتائج والعناصر التي كتمها، ويسجل --json ذلك في حقول ignore_file و ignored (CHECK-ID لفحص كامل، CHECK-ID:item لعنصر واحد مكتوم). استخدم --no-ignore لتخطي الملف.

# استخدام ملف تجاهل محدد
tailsnitch --ignore-file /path/to/ignore

# تعطيل معالجة ملف التجاهل تمامًا
tailsnitch --no-ignore

تصدير JSON ومعالجته

# تصدير تقرير كامل
tailsnitch --json > audit.json

# استخراج الفحوصات الفاشلة بصيغة TSV
tailsnitch --json | jq -r '
  .suggestions
  | map(select(.pass == false))
  | .[]
  | [.id, .title, .severity, .remediation]
  | @tsv
' > findings.tsv
تنزيل الأداة