Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Submit
ToolsExploitsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

FeedsContactPrivacy© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
nxc-vulnscan — NetExec module: run every stock Windows vuln-check in one pass (check-only, no exploit) | Kitploit
Tools/GitHubGitHub/rvsh3ll/nxc-vulnscan
Defensive ToolsVulnerability ScannersVulnerability AnalysisExploitationScripting & AutomationNetwork SecurityPenetration TestingRed Teaming
GitHubrvsh3ll/nxc-vulnscan

nxc-vulnscan

NetExec module: run every stock Windows vuln-check in one pass (check-only, no exploit)

View Repository
1711h 53m agoNot yet reviewed

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

vulnscan

One NetExec module. Every Windows vuln check.
Like coerce_plus, for the whole stock check set — and nothing that exploits.

NetExec Python License Opsec

vulnscan is a user module for NetExec (nxc). It loads the stock Windows vulnerability-check modules and runs them in one pass against each host.

It does not reimplement the checks. It does not exploit.

It willIt will not
Call zerologon, ms17-010, smbghost, nopac, printnightmare, coerce_plus, …Reset a DC machine password
Call coerce_plus without a listenerPetitPotam / PrinterBug coercion to your IP
Call wdigest with ACTION=checkEnable WDigest, RDP, or remote UAC
Print a [HIT] / [----] summaryDump NTDS, lsass, or drop files

Removed NetExec stubs (petitpotam, printerbug, dfscoerce, shadowcoerce) are skipped — coerce_plus already covers that surface.


Install

Filename must be vulnscan.py. NetExec refuses a module whose name does not match the file.

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

Or clone:

git clone https://github.com/rvsh3ll/nxc-vulnscan.git
cp nxc-vulnscan/vulnscan.py ~/.nxc/modules/vulnscan.py

Needs a working NetExec install. The wrapper imports modules from nxc/modules/ shipped with your copy.


Usage

# 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

Admin-only checks run only when NetExec already has a privileged session (Pwn3d!).

Options

OptionMeaning
CHECKSComma-separated stock module names. Default: all applicable
SKIPComma-separated names to skip
LISTPrint the built-in check table and stop
LISTENERIgnored. This module is check-only

Example output

Hosts, domains, and accounts below are placeholders.

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   =================================

Child modules keep their own name in the first column. vulnscan prints a roll-up at the end.


Checks

Login (works without local admin)

ModuleCheck
ms17-010EternalBlue
smbghostSMBGhost (CVE-2020-0796)
zerologonZerologon (CVE-2020-1472) — check only, does not set an empty password
ntlm_reflectionNTLM reflection (CVE-2025-33073)
remove-micDrop-the-MIC (CVE-2019-1040)
printnightmarePrintNightmare
spoolerPrint Spooler reachable
webdavWebClient / DAV RPC (WebDAV coerce)
coerce_plusPetitPotam, PrinterBug, DFSCoerce, ShadowCoerce, MS-EVEN — no listener
nopacnoPac (CVE-2021-42278 / 42287) — needs a domain user
enum_avEndpoint protection
enum_caADCS CA via RPC
sccm-recon6SCCM site / distribution point
ioxidresolverExtra network interfaces

Admin (Pwn3d! session)

ModuleCheck
ntlmv1LmCompatibilityLevel (NTLMv1 allowed)
runaspplLSA RunAsPPL
uacUAC EnableLUA
install_elevatedAlwaysInstallElevated
bitlockerBitLocker status
wdigestWDigest UseLogonCredential — ACTION=check only
wccWindows security configuration
presenceDomain / Enterprise Admin sessions

Not included on purpose: credential dump (lsassy, ntdsutil, …), exec (web_delivery, met_inject), file drops (slinky, scuffy), and enable/disable modules (rdp, remote-uac).


How it works

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

Each child is instantiated from NetExec’s own tree with a unique importlib spec (so they do not clobber each other). LISTENER is never forwarded. wdigest always gets ACTION=check.


Notes

  • Zerologon is slow (up to ~2000 Netlogon attempts). Skip it with -o SKIP=zerologon when you want the rest of the pack first.
  • wcc is noisy and talks to RemoteRegistry. Skip with -o SKIP=wcc if you only want CVE checks.
  • This is a convenience wrapper, not a replacement for a proper vulnerability scanner.
  • To actually coerce, run -M coerce_plus -o LISTENER=<your-ip> yourself. vulnscan will not do that.
  • Authorized assessments only. You are responsible for how you use this.

License

MIT © rvsh3ll

Download Tool