Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
sunsetscan — تدقيق أمان الشبكة المحلية مع EOL و CVE وهوية الأجهزة وتقارير HTML | Kitploit
أدوات/GitHubGitHub/nocoderrandom/sunsetscan
الاستطلاعماسحات الثغرات الأمنيةأمان إنترنت الأشياءهجمات كلمات المرورتدقيق التكوينجمع المعلوماتأمن الشبكات
GitHubnocoderrandom/sunsetscan

sunsetscan

تدقيق أمان الشبكة المحلية مع EOL و CVE وهوية الأجهزة وتقارير HTML

عرض المستودع
3منذ 2 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

SunsetScan

تدقيق أمن الشبكات للبشر — مدعوم بـ nmap، مُصمم للجميع.

[إصدار] Python 3.9+ المنصة الترخيص: MIT قاعدة بيانات الأجهزة: CC BY-NC 4.0 يتطلب: nmap بيانات CVE: OSV.dev

الموقع الإلكتروني: sunsetscan.com


SunsetScan هي أداة تدقيق أمني للشبكة المحلية مخصصة لأصحاب الشبكات المنزلية وموظفي تكنولوجيا المعلومات الذين يرغبون في الاستفادة من عمق nmap دون الحاجة لتعلم بناء جملته. وجه الأداة نحو شبكتك وسوف تجد كل جهاز نشط، وتحدد البرامج قيد التشغيل، وتتحقق من قواعد بيانات الثغرات المعروفة وسجلات نهاية العمر الافتراضي، وتستكشف واجهات الويب بحثًا عن نقاط ضعف شائعة، وتقوم اختياريًا بتدقيق كلمات المرور الافتراضية للمصنعين دون خطر قفل الحسابات، وتنتج تقرير HTML نظيفًا مع شروحات بلغة إنجليزية بسيطة وخطوات مرقمة لإصلاح كل اكتشاف. الأداة هي للقراءة فقط تمامًا وغير ضارة — لا يتم تعديل أي شيء على شبكتك أبدًا.


دعم المنصات

لماذا لينكس؟ تعتمد SunsetScan على raw sockets (مسح ARP، التقاط الحزم السلبي)، وواجهات برمجة خاصة بلينكس (/proc، ip route)، وفحوص الصلاحيات (os.geteuid()) غير المتوفرة على ويندوز الأصلي. يوفر WSL2 نواة لينكس كاملة وهو المسار الموصى به لمستخدمي ويندوز.


التثبيت

تأتي SunsetScan مع مثبت يعتني بأدوات النظام (nmap، masscan، git، python3-venv)، ويُنشئ بيئة افتراضية بايثون محلية للمشروع، ويُثبت جميع تبعيات بايثون داخلها. لن يُطلب منك أبدًا تنفيذ pip install كجذر — هذا مهم على Debian/Pi OS الحديثة، انظر لماذا بيئة افتراضية؟ أدناه.

المنصات من المستوى الأول (مُختبرة بالكامل)

Debian، Ubuntu، Raspberry Pi OS (Bookworm والأحدث)، Linux Mint، Pop!_OS.

المنصات من المستوى الثاني (بأقصى جهد، نفس النص البرمجي)

Fedora، RHEL، CentOS، Rocky، Alma، Arch، Manjaro، openSUSE، macOS.

أربع طرق للتثبيت — اختر واحدة

1. حزمة Debian/Ubuntu

موصى بها لـ Debian، Ubuntu، Raspberry Pi OS، Linux Mint، وPop!_OS:```bash curl -LO https://github.com/NoCoderRandom/sunsetscan/releases/download/v2.1.0/sunsetscan_2.1.0-1_all.deb curl -LO https://github.com/NoCoderRandom/sunsetscan/releases/download/v2.1.0/sunsetscan_2.1.0-1_all.deb.sha256 sha256sum -c sunsetscan_2.1.0-1_all.deb.sha256 sudo apt install ./sunsetscan_2.1.0-1_all.deb sunsetscan --version

root@kitploit:~
#### 2. إقلاع من سطر واحد

يستنسخ المستودع إلى `~/sunsetscan` ويشغل المثبت:```bash
curl -fsSL https://raw.githubusercontent.com/NoCoderRandom/sunsetscan/main/bootstrap.sh | bash

هل تريده في مكان آخر؟ عيّن INSTALL_DIR:```bash INSTALL_DIR=/opt/sunsetscan curl -fsSL https://raw.githubusercontent.com/NoCoderRandom/sunsetscan/main/bootstrap.sh | bash

root@kitploit:~
> **ملاحظة حول `curl | bash`**: إنها طريقة مريحة ولكنها تعني تشغيل نص برمجي لم تقرأه. إذا كنت تفضل الفحص أولاً، فاستخدم الخيار 3 أو 4.

#### 3. استنساخ وتثبيت```bash
git clone https://github.com/NoCoderRandom/sunsetscan.git
cd sunsetscan
./install.sh

4. التثبيت اليدوي (تحكم كامل، أربعة أوامر)```bash

sudo apt install -y nmap masscan git python3 python3-venv python3-pip libpcap-dev build-essential avahi-utils git clone https://github.com/NoCoderRandom/sunsetscan.git && cd sunsetscan python3 -m venv venv && ./venv/bin/pip install -r requirements.txt ./sunsetscan --version

root@kitploit:~
(استبدل مدير الحزم الخاص بتوزيعتك بـ `apt` — `dnf`، `pacman`، `zypper`، أو `brew`. حزمة avahi هي `avahi-tools` على Fedora/RHEL، و`avahi` على Arch، و`avahi-utils` على openSUSE، وليست مطلوبة على macOS.)

### بعد التثبيت — التشغيل الأول```bash
./sunsetscan --setup                 # download EOL/CVE/credential databases (once)
sudo ./sunsetscan --instant          # ARP-only inventory of your local subnet
sudo ./sunsetscan --full-assessment --target 192.168.1.0/24

The ./sunsetscan launcher auto-activates the venv — you don't need to source venv/bin/activate ever. Use sudo for scans that need raw sockets, but run --setup, --download, and --update-cache as your normal user so cache files stay writable from the TUI.

علامات المثبت

إعادة تشغيل ./install.sh آمنة ومتكررة النتائج — فهي تكتشف المكونات الموجودة وتعيد استخدامها.

لماذا بيئة افتراضية؟

تأتي توزيعات دبيان الحديثة (Debian Bookworm, Raspberry Pi OS Bookworm, Ubuntu 23.04+) مع تطبيق PEP 668. وهذا يجعل pip install يفشل عند تشغيله كجذر (root) ضد بايثون النظام:``` error: externally-managed-environment × This environment is externally managed

root@kitploit:~
اعتمادان من اعتماديات SunsetScan (خاصة `pysnmp` v6) يحتاجان إصدارات أحدث مما توفره مستودعات apt، لذا فإن التثبيت الخالص عبر apt غير ممكن. حل المثبِّت هو الحل القياسي: تثبيت أدوات النظام (nmap, masscan, libpcap, avahi-utils) عبر apt، ووضع اعتماديات Python الخاصة بـ SunsetScan في دليل `./venv` محلي للمشروع. لا يتم المساس بأي شيء على مستوى النظام، لذا فإن PEP 668 لا ينطبق، وإلغاء تثبيت SunsetScan يتم فقط عبر `rm -rf ~/sunsetscan`.

### اختياري: إبقاء SunsetScan قيد التشغيل في الخلفية

يمكن أن يستغرق التقييم الكامل لشبكة فرعية بحجم /24 على Raspberry Pi من 10 إلى 30 دقيقة. استخدم `tmux` أو `screen` ليظل المسح قائماً عند انقطاع اتصال SSH:```bash
sudo apt install -y tmux
tmux new -s sunsetscan
sudo ./sunsetscan --full-assessment --target 192.168.1.0/24
# Ctrl+B then D to detach. "tmux attach -t sunsetscan" to come back later.

تحديث SunsetScan```bash

cd ~/sunsetscan git pull ./install.sh # idempotent — picks up any new dependencies

root@kitploit:~
### إلغاء التثبيت```bash
rm -rf ~/sunsetscan
sudo rm -f /usr/local/bin/sunsetscan    # only if you used --symlink

WSL2 على ويندوز

ويندوز غير مدعومة مباشرة (يحتاج SunsetScan إلى مقابس خام (raw sockets)، /proc، وos.geteuid)، لكن WSL2 يعمل بشكل جيد:```powershell wsl --install -d Ubuntu # in PowerShell, as Administrator

root@kitploit:~
أعد التشغيل، ثم افتح **Ubuntu** من قائمة "ابدأ"، واتبع عملية التثبيت القياسية أعلاه. يستخدم WSL2 محول شبكة افتراضي — مرر شبكتك الحقيقية باستخدام `--target` إذا كان الاكتشاف التلقائي يختار الخطأ.

---

## المتطلبات

| المتطلب | الحد الأدنى | ملاحظات |
|---|---|---|
| **Python** | 3.9+ | يوصى بـ 3.12 |
| **nmap** | أي إصدار حديث | يجب أن يكون في مسار PATH للنظام |
| **OS** | لينكس (أصلي أو WSL2) | انظر [دعم المنصة](#platform-support) |
| **masscan** | أي | اختياري — اكتشاف منافذ أسرع |
| **avahi-utils** | أي | اختياري — يوفر `avahi-browse`، يُستخدم لاكتشاف موثوق لأجهزة Apple / Bonjour / Sleep-Proxy عبر mDNS. يتراجع إلى `zeroconf` بايثون إذا كان غائبًا. |
| **git** | أي | اختياري — يُستخدم مع `--setup` و `--update` |
| **الصلاحيات** | مستخدم عادي | صلاحية الجذر/سودو مطلوبة لملفات تعريف FULL، STEALTH، SMB، اكتشاف ARP، والالتقاط السلبي |

---

## بداية سريعة```bash
# Interactive mode (recommended for first-time users)
sudo python3 sunsetscan.py -i

# Full security assessment with HTML report
sudo python3 sunsetscan.py --full-assessment --target 192.168.1.0/24

# Quick scan of your network
python3 sunsetscan.py --target 192.168.1.0/24

# IoT device scan (cameras, routers, smart devices)
python3 sunsetscan.py --target 192.168.1.0/24 --profile IOT

# Quick device inventory (no security checks)
python3 sunsetscan.py --identify --target 192.168.1.0/24

# Download all data modules for extended detection
python3 sunsetscan.py --download all

الميزات

اكتشاف الشبكة

  • يكتشف جميع المضيفين النشطين عبر مسح ping سريع
  • يحل أسماء المضيفين ويكشف عن عناوين MAC مع البحث عن البائع/الصانع
  • إدخال هدف مرن: CIDR، حرف بدل، نطاق IP، مفصول بفاصلة، أو اسم مضيف
  • تكامل اختياري مع masscan لاكتشاف أسرع للمنافذ على الشبكات الكبيرة
  • مسح هجين: التقاط خلفي سلبي (mDNS/SSDP/DHCP) مقترن بالمسح النشط

مسح المنافذ والخدمات

  • ستة ملفات تعريف للمسح: QUICK، FULL، STEALTH، PING، IOT، SMB
  • التقييمات الكاملة تكتشف المضيفين النشطين أولاً، ثم تفحص الخدمات فقط على تلك المضيفات المكتشفة بدلاً من مسح كل عنوان في CIDR الهدف بشكل أعمى
  • التقاط شعارات متزامن عبر جميع المنافذ المفتوحة (مجموعة من 50 خيطًا)
  • بصمة نظام التشغيل بنسبة ثقة
  • تكامل NSE (محرك كتابة النصوص لـ Nmap) لتحسين اكتشاف الأجهزة
  • بصمة HTTP لتحديد أجهزة التوجيه والكاميرات وأجهزة NAS والطابعات وإنترنت الأشياء
  • الرجوع التلقائي لامتيازات الجذر: ملفات التعريف FULL/STEALTH تتدهور برشاقة عند تشغيلها بدون sudo
  • الوضع الآمن للمضيفين منخفضي الطاقة وشبكة Wi-Fi و WSL/NAT وعمليات التحقق: يحدد العمال، ويتجاوز مسوحات masscan الشاملة لجميع المنافذ، ويحدد مجموعات منافذ nmap، ويطبق مهلات المسح لكل أمر
  • تحليل أمني متوازي — جميع الفحوصات الخاصة بكل مضيف (SSL, SSH, FTP, SMB, SNMP, Web) تعمل بشكل متزامن عبر المضيفين وداخل كل مضيف باستخدام مجموعات الخيوط
  • يكتمل تحليل الأمن في المرحلة 7 في أقل من 10 ثوانٍ بغض النظر عن حجم الشبكة
  • فحص الجاهزية قبل المسح — يحذر إذا كان nmap مفقودًا، أو قواعد بيانات CVE/EOL فارغة، أو أن الوحدات الافتراضية غير مثبتة. يعمل قبل كل مسح، لا يمنع المسح.

فحوصات الأمان

يقوم SunsetScan بتشغيل 12 وحدة فحص أماني أثناء التقييم الكامل:

استخبارات الثغرات

  • ربط CVE — يربط إصدارات الخدمات المكتشفة بـ CVEs المعروفة باستخدام OSV.dev
  • فحص نهاية عمر البرنامج — بيانات دورة حياة مخزنة محليًا لأكثر من 150 منتج برمجي
  • فحص دورة حياة الأجهزة — قاعدة بيانات SunsetScan الموسعة لنهاية عمر الأجهزة تحتوي على 64,245 سجل دورة حياة، و51,452 ملخص نموذج، و122 بائعًا ممثلًا. تقوم بتحديد أجهزة التوجيه والمحولات وأجهزة NAS والكاميرات والطابعات ونقاط الوصول والمعدات الصناعية/OT ومعدات مزود الخدمة ذات الحالة غير المدعومة المؤكدة أو إشارات دورة حياة البائع التي تحتاج إلى مراجعة.
  • ملفات تعريف ذكية لنهاية عمر الأجهزة — يحصل المستخدمون المنزليون على ملف التعريف الافتراضي الأصغر hardware-eol-home، بينما تتوفر ملفات تعريف المكتب والمؤسسات والصناعية ومزود الخدمة والكامل لمسوحات أوسع.
  • بصمة JA3S TLS — يحدد برنامج الخادم من توقيعات مصافحة TLS
  • بدون اتصال بالإنترنت تمامًا أثناء المسوحات — لا يتم إجراء أي استدعاءات API خارجية أثناء المسح. يتم الاتصال بمصادر نهاية عمر البرنامج و CVE ووحدات GitHub فقط بواسطة --setup و --update-cache و --download. تعمل المسوحات دون أي اتصال بالإنترنت طالما أن المخابئ ممتلئة.
  • تحديث أسبوعي لـ CVE، تحديث شهري لنهاية العمر — يتم التحكم فيه من قبلك

تعريف الجهاز

  • 14 مستخرج أدلة يدمج MAC OUI ونظام تشغيل nmap وبصمة HTTP وشهادات TLS وشعارات SSH و UPnP و SNMP sysDescr و Wappalyzer و mDNS وبصمات JA3S TLS وشعارات FTP واستدلالات المنافذ وحقول خدمة nmap في هوية جهاز موحدة لكل مضيف
  • يحدد البائع والنموذج وإصدار البرنامج الثابت ونوع الجهاز مع تسجيل الثقة (مكافآت التوافق عندما تؤكد مصادر متعددة)
  • يدعم أكثر من 130 اسمًا مستعارًا للبائع لتوحيد الأسماء
  • تُعرض النتائج في جدول طرفية ومخزون جهاز تقرير HTML
  • وضع مخزون الأصول السريع: علامة --identify تتجاوز فحوصات الأمان
  • تعيين MAC إلى هوية مستمر عبر المسوحات

نظام البيانات المعياري

يتضمن SunsetScan وحدات بيانات قابلة للتنزيل وملفات تعريف نهاية عمر الأجهزة التي توسع قدرات الكشف:

تم الآن تقسيم قاعدة بيانات دورة حياة الأجهزة إلى ملفات تعريف ذكية قابلة للتنزيل: hardware-eol-home هو التثبيت الافتراضي، بينما يوفر hardware-eol-full تغطية كاملة. تحتوي النسخة الكاملة الأساسية حاليًا على 64,245 سجلاً عبر 122 بائعًا، لكن المستخدمين المنزليين يحتاجون فقط إلى ملف التعريف المنزلي الأصغر.

root@kitploit:~
### الكشف عن الأجهزة المارقة
- احفظ لقطة لشبكتك كخط أساس موثوق
- الفحوصات المستقبلية تضع علامة تلقائيًا على عناوين MAC غير المعروفة غير الموجودة في خط الأساس
- يكتشف الأجهزة المعروفة على عناوين IP غير متوقعة

### تسجيل المخاطر
كل جهاز يحصل على درجة مخاطرة (0-100) بناءً على شدة وعدد النتائج:

| النتيجة | النطاق |
|---|---|
| 0-10 | مخاطرة ضئيلة |
| 11-30 | مخاطرة منخفضة |
| 31-60 | مخاطرة متوسطة |
| 61-80 | مخاطرة عالية |
| 81-100 | مخاطرة حرجة |

### التقارير
- **تقرير HTML احترافي** — لوحة تحكم بالشدة، أقسام لكل مضيف، بطاقات نتائج مع شروحات باللغة الإنجليزية المبسطة، توصيات ذات أولوية
- **تصدير JSON** — مخرجات منظمة قابلة للقراءة آليًا
- التقارير مكتفية ذاتيًا بالكامل — ملف HTML واحد، لا تبعيات خارجية
- الملفات الضيقة مثل SMB تظل تبقي المضيفات المكتشفة مرئية في التقرير حتى عند عدم فتح منافذ خدمة مطابقة
- يتم فصل الفحوصات على مستوى الشبكة مثل DNS و UPnP وملاحظات وقت التشغيل عن نتائج كل جهاز؛ يتم عرض درجات مخاطرة الأجهزة فقط للمضيفات الفعلية
- جميع النتائج ملونة حسب الكود: حرجة، عالية، متوسطة، منخفضة، معلومات

### سجل الفحص والمقارنة
- كل فحص يتم حفظه تلقائيًا كصورة JSON مضغوطة بصيغة gzip
- عرض الفحوصات السابقة باستخدام `--history`
- مقارنة أي فحصين باستخدام `--diff` لرؤية المضيفات الجديدة، المنافذ المغلقة، النتائج الجديدة/المحلولة
- مقارنة مع فحص من N يومًا مضت باستخدام `--diff --since N`
- يحتفظ بالسجل لمدة 90 يومًا افتراضيًا

### واجهة المستخدم
- **الوضع التفاعلي الموجه** (`-i`) — قوائم متعددة المستويات للفحص، التحليل، التصدير، الوحدات
- **القائمة على الطراز القديم** — تبدأ عند التشغيل بدون وسائط
- وضع CLI المباشر — قابل للبرمجة وصديق للأتمتة
- إخراج طرفية غني بالألوان مع أشرطة تقدم، مؤشرات دوارة، ولوحات ملخص

---

## جميع علامات CLI

| العلامة | الوصف | الجذر |
|---|---|---|
| `--target TARGET` | IP، نطاق CIDR، اسم مضيف، أو نطاق للفحص | لا |
| `--profile PROFILE` | ملف تعريف الفحص: QUICK، FULL، STEALTH، PING، IOT، SMB (الافتراضي: QUICK) | متغير |
| `-i`, `--interactive` | تشغيل الوضع التفاعلي الموجه | لا |
| `--full-assessment` | تقييم كامل + تصدير HTML تلقائي؛ يبقى تدقيق بيانات الاعتماد اختياريًا | لا |
| `--identify` | تشغيل تحديد الجهاز فقط (تخطي فحوصات الأمان) | لا |
| `--nse` | تمكين محرك نصوص Nmap للكشف المحسن | لا |
| `--check-defaults` | الموافقة على تدقيق بيانات الاعتماد الافتراضية الآمنة من الإغلاق (الأجهزة المملوكة فقط) | لا |
| `--save-baseline` | حفظ الفحص كخط أساس موثوق للكشف عن الأجهزة المارقة | لا |
| `--setup` | معالج الإعداد الأولي (التبعيات + تنزيل ذاكرة التخزين المؤقت) | لا |
| `--update-cache` | تحديث ذاكرات التخزين المؤقت لبيانات CVE و EOL يدويًا | لا |
| `--cache-status` | عرض عمر ذاكرة التخزين المؤقت وعدد الإدخالات، ثم الخروج | لا |
| `--modules` | عرض حالة جميع وحدات البيانات القابلة للتنزيل | لا |
| `--download MODULE` | تنزيل وحدة بيانات (أو "all") | لا |
| `--db SIZE` | حجم قاعدة بيانات EOL لـ `--setup`: mini، normal، large (الافتراضي: normal) | لا |
| `--history` | عرض جدول سجل الفحص والخروج | لا |
| `--diff` | مقارنة آخر فحصين محفوظين والخروج | لا |
| `--since DAYS` | مع `--diff`: مقارنة مع فحص عمره على الأقل N يومًا | لا |
| `--check-version` | التحقق من وجود إصدار أحدث من SunsetScan على GitHub | لا |
| `--update` | سحب أحدث كود من GitHub وإعادة تثبيت المتطلبات | لا |
| `--verbose` | تمكين تسجيل التصحيح | لا |
| `--no-color` | تعطيل الإخراج الملون (مفيد لملفات السجل) | لا |
| `--quiet` | كتم أشرطة التقدم (تظل النتائج معروضة) | لا |
| `--safe-mode` | فرض فحص أكثر لطفًا: nmap محدود، استخدام أقل لـ masscan، عدد أقل من العمال، تخطي الفحوصات الثقيلة | لا |
| `--no-safe-mode` | تعطيل الوضع الآمن التلقائي | لا |
| `--version` | عرض رقم الإصدار والخروج | لا |

---

## ملفات الفحص الشخصية

| الملف الشخصي | علامات nmap | السرعة | الجذر | الأفضل لـ |
|---|---|---|---|---|
| **PING** | `-sn` | ~30s | لا | العثور بسرعة على الأجهزة النشطة |
| **QUICK** | `-T4 -F -sV --version-intensity 2` | 1-3 min | لا | نظرة أولى على الشبكة (مع اكتشاف إصدار خفيف) |
| **FULL** | `-T4 -A -sV -O --osscan-guess` | 5-15 min | نعم | تحليل عميق للمضيفات المحددة |
| **STEALTH** | `-sS -T2 -sV` | 10-30 min | نعم | فحص منخفض الضوضاء |
| **IOT** | `-T4 -sV -p 23,80,443,8080,8443,554,1900,5000,5001,7547,49152 --open` | 1-3 min | لا | الكاميرات، أجهزة التوجيه، الأجهزة الذكية |
| **SMB** | `-T4 -sV -p 135,139,445,137,138 --script smb-security-mode,smb2-security-mode,smb-vuln-ms17-010 --open` | 1-3 min | نعم | مشاركات Windows، فحص EternalBlue |

> **نصيحة:** يتراجع FULL و STEALTH تلقائيًا إلى علامات غير جذرية عند تشغيلهما بدون sudo. سيكون اكتشاف نظام التشغيل غير متاح لكن فحص المنافذ واكتشاف الخدمة لا يزالان يعملان.

### سلامة تدقيق كلمة المرور الافتراضية

اختبار كلمات المرور الافتراضية لا يتم تمكينه تلقائيًا أبدًا. في وضع CLI، أضف
`--check-defaults`؛ في الوضع التفاعلي `-i`، اختر تدقيق كلمة المرور الافتراضية عند
الطلب. ثم يطبق SunsetScan سياسة متحفظة:

- لا يوجد رش عام لاسم المستخدم/كلمة المرور افتراضيًا
- يختبر فقط بيانات الاعتماد المطابقة للبائع والموديل/العائلة المكتشفة
- يتخطى الأجهزة ذات افتراضيات ملصق/رقم تعريف فريد، مثل العديد من طابعات HP
- يحد المحاولات إلى 2 لكل مضيف و 1 لكل خدمة افتراضيًا
- ينتظر ثانيتين بين المحاولات الحاملة لبيانات الاعتماد
- يتوقف فورًا إذا أعاد الجهاز إشارات إغلاق أو حد معدل

قاعدة البيانات المدمجة صغيرة عمدًا ومدعومة بمصادر. وحدات بيانات الاعتماد الكبيرة
التي تم تنزيلها يتم الاحتفاظ بها كبيانات مرجعية، لكن التدقيق الآمن لا يستخدمها
إلا إذا تم تمكين `Settings.auth_allow_module_credentials` صراحةً
من قبل مطور.

### الوضع الآمن وعمليات التحقق من الصحة

يتم التوصية بالوضع الآمن تلقائيًا على المضيفات منخفضة الطاقة، المضيفات التي تشبه
أجهزة Pi-hole/البوابة، وخروج Wi-Fi. يمكن أيضًا فرضه باستخدام:```bash
python3 sunsetscan.py --full-assessment --target 192.168.1.0/24 --safe-mode

في وضع الأمان SunsetScan:

  • يكتشف الأجهزة النشطة أولاً ويقوم بمسح تلك الأجهزة فقط أثناء التقييمات الكاملة
  • يطبق نفس سلوك الماسح الآمن من CLI والقائمة القديمة والوضع الموجه -i
  • يزيل استبصار نظام التشغيل من المسوح الواسعة
  • يحافظ على مسوح STEALTH/FULL الواسعة محدودة بحدود السرعة/المنافذ العليا
  • يتجاوز مسوح masscan لجميع المنافذ للبروفايلات الواسعة
  • يخفض عدد العمال ويتجاوز فحوص TLS الثقيلة
  • يطبق حد زمني لكل nmap بحيث لا يمكن لبروفايل واحد أن يتوقف إلى أجل غير مسمى

لاختبار الانحدار بمساعدة الجذر عبر جميع الأوضاع، استخدم أداة جمع التحقق:```bash sudo bash scripts/sudo_network_validation.sh

root@kitploit:~
بشكل افتراضي، يقوم باختبار `192.168.1.0/24` عبر PING و QUICK و SMB و STEALTH و FULL، وينسخ تقارير HTML المُنشأة إلى دليل التحقق، ويكتب أرشيفًا مضغوطًا تحت `reports/`. يتم تجاهل التقارير والسجلات وملفات pcap والأرشيفات بواسطة git ولا ينبغي إرسالها.

تجاوزات مفيدة:```bash
sudo SUNSETSCAN_TARGETS="192.168.1.0/24" bash scripts/sudo_network_validation.sh
sudo SUNSETSCAN_PROFILES="PING QUICK FULL" bash scripts/sudo_network_validation.sh
sudo SUNSETSCAN_COMMAND_TIMEOUT=1200 bash scripts/sudo_network_validation.sh

إدارة التخزين المؤقت

لا يقوم SunsetScan أبدًا باستدعاء واجهات برمجة تطبيقات خارجية أثناء الفحص. تتم قراءة جميع البيانات من ملفات التخزين المؤقت المحلية في data/cache/.

root@kitploit:~
تعمل عمليات الفحص بشكل طبيعي مع وجود ذاكرة تخزين مؤقت قديمة أو مفقودة — قد يكون لديك ببساطة بيانات CVE قديمة.

---

## كشف الأجهزة المارقة```bash
# Step 1: Save baseline when all known devices are present
sudo python3 sunsetscan.py --target 192.168.1.0/24 --save-baseline

# Step 2: Future scans automatically compare against baseline
sudo python3 sunsetscan.py --target 192.168.1.0/24

| النتيجة | الخطورة | المعنى | |---|---|---|---| | تم اكتشاف جهاز غير معروف | متوسط | عنوان MAC غير موجود في القاعدة الأساسية — جهاز جديد أو غير مصرح به | | تغير عنوان IP للجهاز | منخفض | عنوان MAC معروف على عنوان IP مختلف (عادةً DHCP عادي) | | جهاز شوهد سابقاً غير متصل | معلومات | جهاز القاعدة الأساسية لا يستجيب |

ملاحظة: تتطلب القاعدة الأساسية صلاحيات root/sudo لكشف عنوان MAC عبر nmap.


تقرير HTML

كل --full-assessment يُنتج تقرير HTML مكتفي ذاتياً يتضمن:

  • لوحة الخطورة — تعداد الشارات (حرج/عالي/متوسط/منخفض/معلومات), شريط الألوان, إحصائيات ملخصة
  • درجات المخاطر — درجة لكل جهاز من 0-100 مع تسمية نطاق المخاطرة
  • جدول جميع النتائج — كل نتيجة عبر جميع المضيفين، مرتبة حسب الخطورة
  • أقسام لكل مضيف — قسم قابل للطي لكل جهاز مع بطاقات النتائج، جدول المنافذ المفتوحة، حالة انتهاء الدعم
  • بطاقات النتائج — شارة الخطورة, العنوان, "ما تم العثور عليه", "ما يعنيه هذا" (باللغة الإنجليزية البسيطة), "ما يجب فعله" (خطوات مرقمة), الأدلة, معرفات CVE
  • التوصيات — قائمة إجراءات حسب الأولوية

يتم فتح التقارير في أي متصفح دون الحاجة إلى إنترنت.


تعريف الجهاز

يقوم SunsetScan تلقائياً بتعريف أجهزة الشبكة من خلال دمج الأدلة من 14 مصدراً مختلفاً. يساهم كل مصدر ببائع، نموذج، إصدار، أو نوع جهاز مع درجة ثقة. تقوم خوارزمية الدمج بجمع المصادر المتوافقة (مع مكافآت للتوافق متعدد المصادر) وتعاقب الأدلة المتضاربة.

جرد الأصول السريع

لمعرفة ما هو موجود على شبكتك دون تشغيل فحوصات أمنية:```bash python3 sunsetscan.py --identify --target 192.168.1.0/24

root@kitploit:~
يقوم هذا بتشغيل فحص منافذ مع سحب اللافتات وطباعة جدول تعريف الأجهزة. لا تحليل أمني، لا تقرير — مجرد جرد سريع.

### مصادر الأدلة

| المصدر | ما يقرأه | الثقة |
|--------|--------------|------------|
| MAC OUI | بادئة البائع IEEE من عنوان MAC | 0.40-0.45 |
| nmap OS | تخمين بصمة نظام التشغيل | متغير |
| HTTP fingerprint | نوع الجهاز، الطراز، البرنامج الثابت من واجهة الويب | 0.50+ |
| HTTP headers | الخادم، رؤوس الاستجابة X-Powered-By | 0.20-0.50 |
| TLS certificate | حقول CN، المُصدر، المؤسسة | 0.35 |
| SSH banner | سلسلة تعريف خفيض SSH | 0.10-0.70 |
| UPnP | SSDP الشركة المصنعة، الطراز، نوع الجهاز | 0.75 |
| SNMP sysDescr | وصف النظام من MIB SNMP | 0.85 |
| Wappalyzer | سلاسل CPE وفئات التقنية | 0.30-0.45 |
| mDNS/Zeroconf | إعلانات نوع الخدمة | 0.55 |
| JA3S | قاعدة بيانات بصمة المصافحة TLS | 0.50 |
| FTP banner | تعريف برنامج خادم FTP | 0.25-0.35 |
| Port heuristics | أنماط مجموعات المنافذ المفتوحة | 0.10-0.70 |
| nmap services | حقول منتج وإصدار الخدمة | 0.45 |

تظهر نتائج التحديد في:
- جدول جرد الأجهزة الطرفية (أثناء الفحص وعبر `--identify`)
- بطاقات طوبولوجيا تقرير HTML وقسم جرد الأجهزة
- قسم `device_identities` في تصدير JSON
- خيار القائمة [8] جرد الأجهزة في الوضع التفاعلي

---

## مستويات الخطورة

| المستوى | اللون | نطاق CVSS | المعنى | موعد التصرف |
|---|---|---|---|---|
| **حرج** | أحمر | >= 9.0 | بيانات اعتماد افتراضية، CVE قابل للاستغلال، SSL 2.0 | اليوم |
| **عالٍ** | برتقالي | 7.0-8.9 | Telnet/FTP مفتوح، شهادة منتهية الصلاحية، TLS 1.0، برنامج منتهي الدعم | هذا الأسبوع |
| **متوسط** | أصفر | 4.0-6.9 | شهادة ذاتية التوقيع، تعرض UPnP، جهاز غير مصرح به، نقص HSTS | جدولة الإصلاح |
| **منخفض** | أزرق | < 4.0 | اقتراب نهاية الدعم، نقص X-Frame-Options، تغيير IP الجهاز | تتبع والتخطيط |
| **معلومات** | رمادي | - | تم تحديد الجهاز، تفاصيل الشهادة، تم اجتياز فحص DNS | لا إجراء |

---

## هيكل المشروع```
sunsetscan/
├── sunsetscan.py                    # Entry point — CLI, scan pipeline, setup wizard
├── requirements.txt               # Python dependencies
├── install.sh                     # Automated installer for Linux/macOS
├── install.bat                    # Automated installer for Windows (basic)
├── README.md                      # This file
│
├── config/
│   └── settings.py                # All constants, timeouts, scan profiles, menu options
│
├── core/
│   ├── scanner.py                 # nmap wrapper (ScanResult, HostInfo, PortInfo)
│   ├── port_scanner.py            # Masscan pipeline + PortScanOrchestrator
│   ├── banner_grabber.py          # Concurrent raw socket banner grabbing
│   ├── http_fingerprinter.py      # HTTP device/firmware fingerprinting
│   ├── nse_scanner.py             # Nmap Scripting Engine integration
│   ├── auth_tester.py             # Default credential testing (HTTP, device-specific)
│   ├── input_parser.py            # Flexible target format parsing
│   ├── network_utils.py           # Subnet detection, IP helpers, WSL detection
│   ├── findings.py                # Finding dataclass, Severity enum, FindingRegistry
│   ├── risk_scorer.py             # Per-device risk scoring (0-100)
│   ├── cache_manager.py           # Unified CVE + EOL cache (data/cache/)
│   ├── cve_checker.py             # CVE lookup + CVECacheBuilder (OSV.dev)
│   ├── ssl_checker.py             # TLS certificate, cipher suite, JA3S fingerprinting
│   ├── ssh_checker.py             # SSH version, algorithms, KEXINIT analysis
│   ├── smb_checker.py             # SMBv1, EternalBlue, shares, NTLM disclosure
│   ├── ftp_checker.py             # Anonymous FTP, STARTTLS
│   ├── snmp_checker.py            # SNMP community strings, sysDescr (pysnmp v4+v7)
│   ├── web_checker.py             # HTTP headers, admin panels, Wappalyzer
│   ├── dns_checker.py             # DNS hijack and rebinding detection
│   ├── upnp_checker.py            # SSDP discovery, UPnP risk assessment
│   ├── mdns_checker.py            # mDNS/Zeroconf device discovery
│   ├── arp_checker.py             # ARP spoofing detection
│   ├── device_identifier.py       # 14-source device identification engine
│   ├── identity_fusion.py         # Multi-source identity fusion and scoring
│   ├── oui_lookup.py              # IEEE OUI MAC vendor resolution
│   ├── device_map.py              # Persistent MAC→identity mapping
│   ├── passive_sniffer.py         # Background mDNS/SSDP/DHCP packet capture
│   ├── packet_parsers.py          # Protocol-specific packet parsing
│   ├── instant_scan.py            # ARP sweep + passive capture quick scan
│   ├── hybrid_scanner.py          # Passive+active scan orchestrator
│   ├── baseline.py                # Rogue device baseline comparison
│   ├── hardware_eol.py            # Downloaded hardware lifecycle database lookup
│   ├── scan_history.py            # Scan snapshot persistence and diffing
│   ├── module_manager.py          # Downloadable data module system
│   └── update_manager.py          # Version check and self-update
│
├── eol/
│   ├── checker.py                 # EOL API queries and version comparison
│   ├── cache.py                   # Per-product JSON cache
│   └── product_map.py             # 150+ software name -> lifecycle cache slug mappings
│
├── ui/
│   ├── menu.py                    # Old-style numbered menu (no-args mode)
│   ├── display.py                 # Rich terminal tables, progress bars, banners
│   ├── export.py                  # JSON and HTML report generation
│   ├── interactive_controller.py  # Interactive mode (-i) with multi-level menus
│   └── templates/
│       └── report.html.j2         # Jinja2 HTML report template
│
└── data/
    ├── default_credentials.json   # Factory-default credentials database
    ├── device_map.json            # Persistent MAC→identity map
    ├── baseline.json              # Saved device baseline (--save-baseline)
    ├── cache/
    │   ├── cve_cache.json         # CVE data keyed by product:version
    │   ├── <product>.json         # EOL data keyed by product slug
    │   ├── hardware_eol/          # Downloaded hardware lifecycle database
    │   └── cache_meta.json        # Cache update timestamps
    ├── history/                   # Gzip scan snapshots (auto-saved)
    └── modules/                   # Downloaded data modules

استكشاف الأخطاء وإصلاحها

nmap غير موجود```bash

Debian/Ubuntu

sudo apt install nmap

Fedora

sudo dnf install nmap

Arch

sudo pacman -S nmap

macOS

brew install nmap

root@kitploit:~
**Permission denied / OS detection not working**

تتطلب ملفات التعريف FULL وSTEALTH وSMB صلاحيات مرتفعة. بدون صلاحية الجذر (root)، تعود هذه الملفات التعريفية تلقائيًا إلى الخيارات غير الجذرية (يتم تعطيل اكتشاف نظام التشغيل والفحص باستخدام SYN، لكن فحص المنافذ/الإصدارات لا يزال يعمل).```bash
# For full capabilities:
sudo python3 sunsetscan.py --target 192.168.1.0/24 --profile FULL

WSL2 تقترح شبكة خاطئة (172.x.x.x)

في WSL2، يكتشف SunsetScan المحول الافتراضي ويعود إلى 192.168.1.0/24. إذا كانت شبكة منزلك تستخدم شبكة فرعية مختلفة، فحددها باستخدام --target:```bash python3 sunsetscan.py --target 192.168.0.0/24

root@kitploit:~
**تحذيرات التخزين المؤقت عند بدء الفحص**```
WARNING: CVE data is 12 days old — run: python sunsetscan.py --update-cache

تعمل عمليات الفحص بشكل جيد مع البيانات القديمة. قم بتشغيل --update-cache للتحديث.

Permission denied أثناء تنزيل الوحدات

إذا فشل تنزيل الوحدات بسبب Permission denied: .../data/cache/...، فمن المحتمل أن ذاكرة التخزين المؤقت قد تم إنشاؤها باستخدام sudo. قم بإصلاح الملكية مرة واحدة، ثم قم بتشغيل الإعداد وتنزيل الوحدات كمستخدمك العادي:```bash cd ~/sunsetscan sudo chown -R "$USER:$USER" data/cache ./sunsetscan --download all

root@kitploit:~
**فحوصات SNMP لا تعمل**

يدعم SunsetScan كلاً من pysnmp v4 (متزامن) و v7 (غير متزامن). إذا رأيت أخطاء استيراد، قم بتحديث pysnmp:```bash
pip install --upgrade pysnmp

إخلاء مسؤولية — للاستخدام المصرح به فقط

SunsetScan هي أداة تدقيق أمني مخصصة للاستخدام على الشبكات والأجهزة التي تمتلكها أو لديك إذن كتابي صريح لاختبارها.

قد يكون تشغيل عمليات فحص الشبكة ضد أنظمة لا تمتلكها أو ليس لديك إذن لاختبارها غير قانوني بغض النظر عن النية. المؤلفون لا يتحملون أي مسؤولية عن سوء الاستخدام.

SunsetScan غير مدمر تمامًا وللقراءة فقط. لا يستغل الثغرات الأمنية، ولا يسلم حمولات، ولا يعدل أي تكوين على أي جهاز تم مسحه. اختبار بيانات الاعتماد --check-defaults هو اختياري، محدود، مؤجل، موجه للنموذج الدقيق، ويتوقف عند إشارات القفل/تحديد المعدل؛ إنه ليس ميزة هجوم القوة العمياء.


الترخيص

مستودع SunsetScan ورمز التطبيق مرخصان بموجب رخصة MIT — حقوق الطبع والنشر 2024 مساهمو SunsetScan.

فقط قطع أثرية قاعدة بيانات نهاية عمر الأجهزة (EOL) الخاصة بـ SunsetScan تحت data/hardware_eol/ مرخصة بشكل منفصل: هذه القاعدة مرخصة بموجب رخصة المشاع الإبداعي نسب المصنف – غير تجاري 4.0 الدولية (CC BY-NC 4.0). انظر data/hardware_eol/LICENSE.md.


شكر وتقدير

  • nmap — محرك المسح الضوئي
  • python-nmap — واجهة nmap بايثون
  • OSV.dev — قاعدة بيانات الثغرات الأمنية
  • Rich — تنسيق الطرفية
  • Jinja2 — قوالب تقارير HTML
  • cryptography — فحص شهادات TLS
  • scapy — التقاط الحزم الخام ومسح ARP
  • danielmiessler/SecLists — قوائم بيانات الاعتماد وSNMP
  • ihebski/DefaultCreds-cheat-sheet — بيانات اعتماد البائعين
  • enthec/webappanalyzer — كشف تقنيات الويب
  • salesforce/ja3 — بصمة TLS
  • many-passwords — بيانات اعتماد الكاميرات/مسجلات DVR
تنزيل الأداة
المنصةمستوى الدعمملاحظات
لينكس (Debian, Ubuntu, Fedora, Arch, إلخ)دعم كاملأفضل تجربة — جميع الميزات تعمل بشكل أصلي
WSL2 (نظام ويندوز الفرعي للينكس)دعم كاملالطريقة الموصى بها للتشغيل على أجهزة ويندوز
macOSجزئيالمسح الأساسي يعمل؛ بعض الميزات (ARP، الالتقاط السلبي) قد تتطلب إعدادًا إضافيًا
ويندوز (CMD/PowerShell الأصلي)غير مدعوميفتقر إلى raw sockets وos.geteuid() و/proc وip route وtermios — استخدم WSL2 بدلاً من ذلك
العلمالتأثير
(بدون علامات)التثبيت الافتراضي: حزم النظام + البيئة الافتراضية + تبعيات بايثون + اختبار ذاتي
--forceحذف البيئة الافتراضية وإعادة بنائها من الصفر (استخدم بعد ترقية بايثون)
--symlinkكذلك تثبيت /usr/local/bin/sunsetscan لتتمكن من تشغيل sunsetscan من أي مكان
--no-systemتخطي خطوة apt/dnf/etc (استخدم إذا كانت أدوات النظام مثبتة مسبقًا)
--helpعرض جميع الخيارات
المدققما يكتشفه
SSL/TLSشهادات منتهية الصلاحية/موقعة ذاتيًا، تشفيرات ضعيفة، TLS 1.0/1.1، SSL 2.0/3.0، مفاتيح RSA صغيرة
SSHتبادل مفاتيح ضعيف، تشفيرات/MACs ضعيفة، SSHv1، مفاتيح مضيف صغيرة، تحليل KEXINIT الخام
SMBSMBv1، EternalBlue (MS17-010)، مشاركات مجهولة، توقيع SMB معطل، كشف NTLM
FTPتسجيل دخول مجهول، بيانات اعتماد نص واضح، عدم وجود STARTTLS
SNMPسلاسل مجتمع افتراضية (public/private)، SNMPv1، استخراج sysDescr
Webرؤوس أمنية مفقودة، نماذج تسجيل دخول عبر HTTP، قائمة الدليل، لوحات إدارة مكشوفة
DNSاكتشاف اختطاف DNS (يقارن مع Cloudflare 1.1.1.1)
UPnPاكتشاف SSDP، تعرض تعيين منفذ WAN على أجهزة التوجيه
mDNSاكتشاف أجهزة Zeroconf/Bonjour، يجد المضيفين الذين يتجنبون مسوحات المنافذ
ARPاكتشاف انتحال ARP، تتبع تغيير عنوان MAC (يتطلب صلاحيات الجذر)
بيانات الاعتماد الافتراضيةتدقيق مسبق للاختيار لافتراضيات المصنع باستخدام مطابقات دقيقة للجهاز/النموذج، ومحاولات محدودة، وتأخيرات
البروتوكولات غير الآمنةTelnet، FTP، TFTP، rsh، rlogin، rexec موسومة حسب الخطورة
الوحدةالمصدرما تضيفه
credentials-minidanielmiessler/SecListsأفضل 50 بيانات اعتماد افتراضية (بيانات مرجعية قابلة للتنزيل؛ لا تستخدمها التدقيق الآمن إلا إذا تم تمكينها صراحة في الإعدادات)
credentials-fullihebski/DefaultCreds-cheat-sheetأكثر من 2860 بيانات اعتماد خاصة بالبائع (بيانات مرجعية قابلة للتنزيل؛ لا تستخدمها التدقيق الآمن إلا إذا تم تمكينها صراحة في الإعدادات)
wappalyzer-minienthec/webappanalyzerأفضل 500 تقنية ويب (افتراضي)
wappalyzer-fullenthec/webappanalyzerجميع تقنيات الويب البالغ عددها 7515
ja3-signaturessalesforce/ja3قاعدة بيانات بصمات TLS
snmp-communitydanielmiessler/SecListsسلاسل مجتمع SNMP موسعة
camera-credentialsmany-passwords/many-passwordsإعدادات افتراضية لكاميرات IP/ DVR/ NVR (بيانات مرجعية قابلة للتنزيل؛ لا تستخدمها التدقيق الآمن إلا إذا تم تمكينها صراحة في الإعدادات)
mac-ouiIEEE Standards Associationقاعدة بيانات بائعي بادئات MAC (افتراضي)
hardware-eol-homeNoCoderRandom/sunsetscanملف تعريف دورة حياة الأجهزة المنزلية/المكاتب الصغيرة ونهاية العمر (افتراضي؛ ترخيص قاعدة البيانات: CC BY-NC 4.0)
hardware-eol-officeNoCoderRandom/sunsetscanملف تعريف دورة حياة الأجهزة المنزلية والمكاتب الصغيرة ونهاية العمر
hardware-eol-enterpriseNoCoderRandom/sunsetscanملف تعريف دورة حياة الأجهزة المنزلية والمكتبية والمؤسسية/الحرم الجامعي/مركز البيانات ونهاية العمر
hardware-eol-industrialNoCoderRandom/sunsetscanملف تعريف دورة حياة الأجهزة المنزلية والمكتبية والصناعية/OT ونهاية العمر
hardware-eol-service-providerNoCoderRandom/sunsetscanملف تعريف دورة حياة الأجهزة المنزلية والمكتبية والمؤسسية ومزود الخدمة ونهاية العمر
hardware-eol-fullNoCoderRandom/sunsetscanملف تعريف دورة حياة الأجهزة الذكية الكامل ونهاية العمر
hardware-eolNoCoderRandom/sunsetscanوحدة توافق دورة حياة الأجهزة المجزأة القديمة الكاملة ونهاية العمر
sunsetscan --modules # Show module status
sunsetscan --download all # Download all modules, using the full hardware EOL smart profile
sunsetscan --download ja3-signatures # Download one data module
sunsetscan --download hardware-eol-home # Download a smaller hardware EOL profile
sunsetscan --download hardware-eol-full # Download every hardware EOL smart pack
الملفالمحتوىفترة التحديث
data/cache/cve_cache.jsonبيانات CVE مقيدة بالمنتج:الإصداركل 7 أيام
data/cache/*.jsonتواريخ انتهاء الدعم لأكثر من 150 منتجًا، مخزنة لكل منتجكل 30 يومًا
data/cache/hardware_eol/sunsetscan_hardware_eol_index.json بالإضافة إلى records/*.jsonقاعدة بيانات دورة حياة الأجهزة / انتهاء الدعمكل 30 يومًا
data/cache/hardware_eol/manifest.json و indexes/*.json و records/<pack>/*.jsonملفات تعريف دورة حياة الأجهزة / انتهاء الدعم (الحزمة الذكية)كل 30 يومًا
data/cache/cache_meta.jsonالطوابع الزمنية لآخر التحديثاتتلقائيًا
sunsetscan --cache-status # See current cache state
sunsetscan --update-cache # Refresh stale caches