
وحدة NetExec: تشغيل جميع فحوصات الثغرات الأمنية القياسية في Windows دفعة واحدة (فحص فقط، دون استغلال)
وحدة NetExec واحدة. كل فحوصات ثغرات Windows.
مثل coerce_plus، لمجموعة الفحوصات القياسية بأكملها — ولا شيء يستغل الثغرات.
vulnscan هي وحدة مستخدم لـ NetExec (nxc). تقوم بتحميل وحدات فحص ثغرات Windows القياسية وتشغيلها في تمريرة واحدة ضد كل مضيف.
وهي لا تعيد تنفيذ الفحوصات. وهي لا تستغل الثغرات.
| ستقوم بـ | لن تقوم بـ |
|---|---|
استدعاء zerologon، ms17-010، smbghost، nopac، printnightmare، coerce_plus، … | إعادة تعيين كلمة مرور جهاز DC |
استدعاء coerce_plus بدون مستمع | إجبار PetitPotam / PrinterBug إلى عنوان IP الخاص بك |
استدعاء wdigest مع ACTION=check | تمكين WDigest أو RDP أو UAC عن بُعد |
طباعة ملخص [HIT] / [----] | استخراج NTDS أو lsass أو إسقاط ملفات |
يتم تخطي وحدات NetExec المحذوفة (petitpotam، printerbug، dfscoerce، shadowcoerce) — فـ coerce_plus يغطي هذا النطاق بالفعل.
يجب أن يكون اسم الملف vulnscan.py. يرفض NetExec أي وحدة لا يتطابق اسمها مع اسم الملف.
mkdir -p ~/.nxc/modules
curl -fsSL https://raw.githubusercontent.com/rvsh3ll/nxc-vulnscan/main/vulnscan.py \
-o ~/.nxc/modules/vulnscan.py
nxc smb -L | grep vulnscan
أو استنسخ:
git clone https://github.com/rvsh3ll/nxc-vulnscan.git
cp nxc-vulnscan/vulnscan.py ~/.nxc/modules/vulnscan.py
يحتاج إلى تثبيت NetExec عامل. يستورد الغلاف وحدات من nxc/modules/ المرفقة مع نسختك.
# unauthenticated / null session
nxc smb 10.0.0.10 -M vulnscan
# domain user
nxc smb 10.0.0.10 -u jdoe -p 'Password' -d corp.local -M vulnscan
# SOCKS pivot
proxychains -q nxc smb 10.0.0.10 -u jdoe -p 'Password' -M vulnscan
# subset
nxc smb 10.0.0.10 -M vulnscan -o CHECKS=ms17-010,smbghost,zerologon,coerce_plus
# skip the slow Zerologon brute
nxc smb 10.0.0.10 -M vulnscan -o SKIP=zerologon
# list checks, do not scan
nxc smb 10.0.0.10 -M vulnscan -o LIST=1
تُنفَّذ فحوصات المسؤول فقط عندما يمتلك NetExec بالفعل جلسة ذات امتيازات (Pwn3d!).
| الخيار | المعنى |
|---|---|
CHECKS | أسماء وحدات جاهزة مفصولة بفواصل. الافتراضي: كل الوحدات المنطبقة |
SKIP | أسماء مفصولة بفواصل لتخطيها |
LIST | طباعة جدول الفحوصات المدمج والتوقف |
LISTENER | يُتجاهل. هذه الوحدة للفحص فقط |
المضيفون والنطاقات والحسابات أدناه هي عناصر نائبة.
SMB 10.0.0.10 445 DC01 [*] Windows Server 2016 Standard (name:DC01) (domain:CORP.LOCAL) (signing:True)
SMB 10.0.0.10 445 DC01 [+] CORP.LOCAL\jdoe:Password
VULNSCAN 10.0.0.10 445 DC01 [*] Running 14 stock check modules (no exploit)
VULNSCAN 10.0.0.10 445 DC01 [*] --- ms17-010 ---
VULNSCAN 10.0.0.10 445 DC01 [*] --- smbghost ---
VULNSCAN 10.0.0.10 445 DC01 [*] --- zerologon ---
ZEROLOGON 10.0.0.10 445 DC01 VULNERABLE
ZEROLOGON 10.0.0.10 445 DC01 Next step: https://github.com/dirkjanm/CVE-2020-1472
VULNSCAN 10.0.0.10 445 DC01 [*] --- coerce_plus ---
COERCE_PLUS 10.0.0.10 445 DC01 VULNERABLE, DFSCoerce
COERCE_PLUS 10.0.0.10 445 DC01 VULNERABLE, PetitPotam
COERCE_PLUS 10.0.0.10 445 DC01 VULNERABLE, Printerbug
VULNSCAN 10.0.0.10 445 DC01 [*] --- spooler ---
SPOOLER 10.0.0.10 445 DC01 Spooler service enabled
VULNSCAN 10.0.0.10 445 DC01 ======== vulnscan summary ========
VULNSCAN 10.0.0.10 445 DC01 [HIT] zerologon VULNERABLE
VULNSCAN 10.0.0.10 445 DC01 [HIT] coerce_plus VULNERABLE, DFSCoerce | VULNERABLE, PetitPotam
VULNSCAN 10.0.0.10 445 DC01 [HIT] spooler Spooler service enabled
VULNSCAN 10.0.0.10 445 DC01 [*] [----] ms17-010 no highlight (not vulnerable / no signal)
VULNSCAN 10.0.0.10 445 DC01 [*] [----] smbghost no highlight (not vulnerable / no signal)
VULNSCAN 10.0.0.10 445 DC01 =================================
الوحدات الفرعية تحتفظ بأسمائها في العمود الأول. يطبع vulnscan ملخصًا مجمعًا في النهاية.
| الوحدة | الفحص |
|---|---|
ms17-010 | EternalBlue |
smbghost | SMBGhost (CVE-2020-0796) |
zerologon | Zerologon (CVE-2020-1472) — فحص فقط، لا يعيّن كلمة مرور فارغة |
ntlm_reflection | انعكاس NTLM (CVE-2025-33073) |
remove-mic | Drop-the-MIC (CVE-2019-1040) |
printnightmare | PrintNightmare |
spooler | إمكانية الوصول إلى Print Spooler |
webdav | WebClient / DAV RPC (استدراج WebDAV) |
coerce_plus | PetitPotam، PrinterBug، DFSCoerce، ShadowCoerce، MS-EVEN — دون مستمع |
nopac | noPac (CVE-2021-42278 / 42287) — يتطلب مستخدم نطاق |
enum_av | حماية نقطة النهاية |
enum_ca | ADCS CA عبر RPC |
sccm-recon6 | موقع SCCM / نقطة التوزيع |
ioxidresolver | واجهات شبكة إضافية |
Pwn3d!)| الوحدة | الفحص |
|---|---|
ntlmv1 | LmCompatibilityLevel (السماح بـ NTLMv1) |
runasppl | LSA RunAsPPL |
uac | UAC EnableLUA |
install_elevated | AlwaysInstallElevated |
bitlocker | حالة BitLocker |
wdigest | WDigest UseLogonCredential — ACTION=check فقط |
wcc | تكوين أمان Windows |
presence | جلسات Domain / Enterprise Admin |
غير مضمنة عن قصد: استخراج بيانات الاعتماد (lsassy، ntdsutil، …)، التنفيذ (web_delivery، met_inject)، إسقاط الملفات (slinky، scuffy)، ووحدات التمكين/التعطيل (rdp، remote-uac).
nxc smb TARGET -M vulnscan
│
▼
~/.nxc/modules/vulnscan.py
│ importlib-load each stock module
▼
nxc/modules/ms17-010.py
nxc/modules/zerologon.py
nxc/modules/coerce_plus.py
...
│ on_login / on_admin_login
▼
per-check output + [HIT] summary
يتم إنشاء كل عنصر فرعي من شجرة NetExec الخاصة به باستخدام مواصفة importlib فريدة (حتى لا تتعارض مع بعضها البعض). لا يتم تمرير LISTENER أبدًا. يحصل wdigest دائمًا على ACTION=check.
-o SKIP=zerologon عندما تريد باقي الحزمة أولاً.wcc صاخب ويتواصل مع RemoteRegistry. تخطَّه باستخدام -o SKIP=wcc إذا كنت تريد فحوصات CVE فقط.-M coerce_plus -o LISTENER=<your-ip> بنفسك. لن يقوم vulnscan بذلك.MIT © rvsh3ll