Sitemap

Cybersecurity Home Lab Part 2: Vulnerability Scanning a Domain Controller with Nessus

5 min readAug 20, 2026

--

Phase 1 of my home lab covered log ingestion and brute-force detection in Splunk. Phase 2 moves to the other side of the SOC coin: vulnerability management. I used Nessus Essentials to scan the same domain controller from Phase 1 — first without credentials, then with — to see firsthand how big a difference authenticated scanning actually makes.

What is Nessus, and Why Do Companies Use It?

Vulnerability management is the ongoing cycle organizations run to find weaknesses in their systems, figure out how much risk each one poses, and fix or mitigate them before an attacker gets there first. It’s not a one-time task — new vulnerabilities get disclosed constantly, so the cycle of scanning, assessing, and remediating never really stops.

Nessus is a vulnerability scanner built by Tenable. Point it at a host or network, and it checks for known security weaknesses — missing patches, misconfigurations, weak protocols, exposed services — then ranks each finding by severity and tells you how to fix it. It’s one of the most widely used tools in the industry for exactly that reason: it takes something that would be tedious and error-prone to check manually across dozens or hundreds of machines, and turns it into a scan you can run on a schedule.

Companies rely on tools like Nessus because attackers don’t need to find every weakness — they only need one. Regular vulnerability scanning is how a security team makes sure that one weakness doesn’t sit unnoticed for months (or, as this lab is about to show, years).

Nessus Essentials console, logged in and ready

The Setup

My lab environment for this phase:

  • AD-DC01, the same Windows Server 2022 domain controller (lab.local) from Phase 1, static IP 192.168.68.50
  • Nessus-Scanner, a new dedicated Ubuntu Server VM running Nessus Essentials 10.12.3, static IP 192.168.68.51

I built the scanner as its own standalone VM rather than installing it alongside Splunk. Scan traffic is noisy, and I didn’t want it muddying SIEM data or competing for resources during a run — closer to how a real environment separates its tooling.

Press enter or click to view image in full size
Confirming Nessus-Scanner can reach AD-DC01 before doing anything else

Prepping the Domain Controller

Before a credentialed scan can actually log in and inspect a host, the target needs a few things enabled. Since AD-DC01 runs Server Core, I did all of this through PowerShell instead of clicking through the Services and Registry Editor GUIs:

# Enable Remote Registry Set-Service -Name RemoteRegistry -StartupType Automatic Start-Service -Name RemoteRegistry

# Allow Network Discovery + File/Printer Sharing Set-NetFirewallRule -DisplayGroup “Network Discovery” -Enabled True Set-NetFirewallRule -DisplayGroup “File and Printer Sharing” -Enabled True

# UAC: never notify (testing only) Set-ItemProperty -Path “HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System” ` -Name “ConsentPromptBehaviorAdmin” -Value 0

# Allow local account tokens for remote admin New-ItemProperty -Path “HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\system” ` -Name “LocalAccountTokenFilterPolicy” -Value 1 -PropertyType DWORD -Force

Press enter or click to view image in full size
Confirming the registry key that lets Nessus authenticate remotely as a local admin

Worth flagging: every one of these settings weakens the host’s security posture. Fine for an isolated lab, never something you’d leave on in production.

Non-Credentialed Scan First

Get Shahmeermuhammad’s stories in your inbox

Join Medium for free to get updates from this writer.

I ran a Basic Network Scan against 192.168.68.50 with no credentials, just to see what an attacker would see poking the network from outside.

Press enter or click to view image in full size
24 findings, every single one Info-level

Nothing Critical, High, Medium, or even Low. The results were all reconnaissance-flavored — SMB details, DCE service enumeration, LDAP and Kerberos disclosure, OS fingerprinting. Useful information for an attacker doing recon, but nothing actionable on its own.

Press enter or click to view image in full size
The full breakdown — SMB, HTTP, DCE Services, DNS, all tagged Info

Credentialed Scan

Same target, same scan template, except this time I added domain admin credentials under the scan’s Credentials tab.

Press enter or click to view image in full size
Windows authentication configured with domain admin credentials

The difference was immediate and dramatic.

Press enter or click to view image in full size
51 findings this time — 23 Critical, 43 High

Credentials let Nessus actually log in and inspect what’s installed instead of guessing from the outside — and what it found was a domain controller with security patches missing since early 2022.

Press enter or click to view image in full size
Missing Microsoft security bulletins dominate the Critical and High findings

Two Standout Findings

KB5012604 — Windows Server 2022 Security Update (April 2022)

CVSS 9.8, EPSS 0.91 — meaning a 91% predicted likelihood of real-world exploitation — with exploit code maturity rated High. This single missing update bundles over 55 CVEs: privilege escalation, denial of service, remote code execution that bypasses authentication entirely, and information disclosure. The root cause traces back to ntoskrnl.exe, the Windows kernel binary itself, sitting unpatched for 730+ days.

Press enter or click to view image in full size
55+ CVEs bundled into a single missing patch

KB5016627 — Windows Server 2022 Security Update (August 2022)

CVSS 9.8, EPSS 0.80. This one includes remote code execution and denial-of-service vulnerabilities in the Windows Point-to-Point Protocol implementation (CVE-2022–30133, CVE-2022–35744, among others) — again tracing back to the same unpatched kernel binary.

Press enter or click to view image in full size
Same root cause, different CVE set

The remaining eight missing Critical and High severity KBs follow the same pattern — cumulative updates that, if applied, would likely resolve most of the backlog in one pass.

What I Learned

The gap between the two scans is the whole argument for credentialed vulnerability scanning, condensed into one comparison. Without credentials, Nessus can only report what’s visible from outside — banners, open ports, protocol handshakes. It found nothing actionable. With credentials, it could actually check installed patch levels against Microsoft’s bulletin history, and it surfaced 23 critical, actively-exploitable vulnerabilities that had been sitting there for over two years.

It’s a good reminder that a clean external scan doesn’t mean a clean host — it might just mean you’re not looking closely enough.

What’s Next

Phase 2 is complete: scanner built, domain controller prepped for authenticated scanning, and a clear before/after showing why credentials matter. Next up is Phase 3 — Microsoft Sentinel, built the same way as the first two phases: standalone first, integration later.

--

--