
أداة مساعدة لوضع SSH لـ CVE-2026-31431 (فشل النسخ): جرد kernel وalgif_aead
أداة Bash مساعدة: اكتشاف المضيفين (اختياريًا عبر CIDR باستخدام nmap)، ثم فحوصات SSH للقراءة فقط للكشف عن CVE-2026-31431 (فشل النسخ / algif_aead)، CVE-2026-31677 / CVE-2026-43077 (AF_ALG RX heuristic)، CVE-2026-23111 (nftables + مساحات أسماء المستخدمين)، CVE-2026-23102 (arm64 SVE/SME). استدلالات فقط — ليست أداة استغلال؛ تأكد من موزعك.
تعامل معها كحساسة: ملف كلمات المرور على القرص؛ المخرجات تسرد المضيفين وحالة النواة.
| المكون | متى |
|---|---|
bash، ssh، sshpass | دائمًا |
nmap | أهداف CIDR: مطلوبة لـ nmap -sn -PS22. مع COPYFAIL_PREAUTH_NMAP=1 (افتراضي)، أيضًا nmap -p22 -sV لكل مضيف بعد ترحيب SSH — أبطأ، لكنه يساعد في اكتشاف macOS/Windows. عيّن COPYFAIL_PREAUTH_NMAP=0 لتخطي nmap لكل مضيف (ما زلت بحاجة إلى nmap لمسح CIDR). |
sudo cp copyfail-creds.example /etc/copyfail-creds && sudo nano /etc/copyfail-credsuser:password لكل سطر (فقط أول : يفصل المستخدم عن كلمة المرور).600 مطلوبة: sudo chmod 600 /etc/copyfail-credssudo (أو chown لمستخدمك، مع بقاء 600).CREDS_FILE=/path/to/creds ./copyfail_scan.sh [TARGET]
TARGET: CIDR، عنوان IP واحد/اسم مضيف، أو مسار إلى قائمة مضيفين (التعليقات بـ # مسموحة). إذا تم حذف الهدف، يستخدم السكريبت الهدف الافتراضي (انظر TARGET= في copyfail_scan.sh).
chmod +x copyfail_scan.sh
sudo CREDS_FILE=/etc/copyfail-creds ./copyfail_scan.sh
sudo CREDS_FILE=/etc/copyfail-creds ./copyfail_scan.sh 192.168.1.0/24
CREDS_FILE=~/creds ./copyfail_scan.sh ./hosts.txt
المخرجات: stdout فقط (بدون ملف تقرير). استخدم tee للحفظ. بعد أسطر كل مضيف: === Summary report === (إلا إذا كان COPYFAIL_SUMMARY=0) — مؤكد جيد مقابل بحاجة إلى مراجعة؛ المضيفون الذين يشاركون نفس سطر الملخص يتم دمجهم (تسميات مفصولة بفواصل).
# مثال: بدون nmap لكل مضيف، تسلسلي
COPYFAIL_PREAUTH_NMAP=0 COPYFAIL_PARALLEL=1 sudo ./copyfail_scan.sh 192.168.54.93
31431 PATCHED، 31431 VULN - MITIGATED، 31431 NO algif_aead - VERIFY، [SKIP] / [SKIP - PRE-AUTH] هي استدلالات السكريبت؛ 23111= / 23102= حقول ذيل تلخص فحوصات nftables/مساحة اسم المستخدم و arm64 SVE.*-pve / أنوية الموزعين: قد لا يتطابق uname -r مع أزواج NVD الرئيسية — استخدم إشعارات أمان الموزع/Proxmox وحزم النواة المثبتة، وليس هذا السكريبت وحده.echo 'install algif_aead /bin/false' | sudo tee /etc/modprobe.d/disable-algif.conf && sudo rmmod algif_aead 2>/dev/nullMIT — انظر LICENSE.
| المتغير | الافتراضي | الدور |
|---|
CREDS_FILE | /etc/copyfail-creds | ملف user:password |
COPYFAIL_PREAUTH | 1 | ترحيب TCP/22 SSH؛ تخطي الأنظمة غير اللينكسية الواضحة قبل تسجيل الدخول |
COPYFAIL_PREAUTH_NMAP | 1 | nmap -p22 -sV إضافي عندما يكون الترحيب غير حاسم (أبطأ) |
COPYFAIL_PREAUTH_VERBOSE | 0 | 1 = عرض الترحيب المقتطع عند تخطي ما قبل المصادقة |
COPYFAIL_PARALLEL | 24 | أقصى عدد من الفتحات المتزامنة (1 = تسلسلي) |
COPYFAIL_ORDERED_OUTPUT | 1 | عند التوازي، تخزين الأسطر مؤقتًا بترتيب الفتح (0 = متداخل) |
COPYFAIL_PTR_LOOKUP | 1 | تحليل DNS عكسي لـ IPv4 عبر getent عندما لا يحتوي nmap/القائمة على اسم |
COPYFAIL_SUMMARY | 1 | طباعة ملخص نهاية مجمع (0 = تخطي) |
COPYFAIL_BANNER_TIMEOUT | 3 | ثوانٍ لانتظار تعريف SSH على المنفذ 22 |
COPYFAIL_SSH_CONNECT_TIMEOUT | 3 | ssh ConnectTimeout (ثوانٍ) |
COPYFAIL_NO_BANNER_SKIP_SSH | 1 | إذا لم يرَ ما قبل المصادقة ترحيبًا، تخطي محاولة SSH (0 إذا كانت الترحيبات بطيئة جدًا) |