/find@mail

Articles, write-ups, and musings concerning the world of cybersecurity and technology.

Field Notes: From Service Version to a Working Exploit

Field Notes: From Service Version to a Working Exploit

CWE, CVE, NVD, Exploit-DB — four acronyms that sound interchangeable and aren't. Here's how I actually move through them.

Once you've enumerated a target and know what OS and service versions are running, the next step is vulnerability research: finding out whether what's installed is actually exploitable.

Say a scan turns up a host running SMB version 3.1.1. A quick check shows that's not the latest release — worth digging into.

A quick aside on the Common Weakness Enumeration (CWE) database first: I don't think it carries much weight for a straightforward penetration test. CWE categorizes types of vulnerabilities — it's a taxonomy, not a lookup tool for "is this specific version exploitable." Where it does matter is for deeper work: secure software design, bug bounty hunting, or zero-day research, where understanding a vulnerability class actually helps.

For a practical pen-test lookup, I go to two places:

  1. NIST's National Vulnerability Database (NVD) — searching for "SMB" returns a list of CVEs with affected version numbers laid out clearly.
  2. Exploit-DB — my preferred stop, because it pairs a CVE with an actual proof-of-concept or working exploit, not just a description.

Searching Exploit-DB for SMB turns up CVE-2020-0796, nicknamed "SMBGhost" — a remote code execution flaw in the SMBv3.1.1 compression feature, affecting Windows 10 and Windows Server versions 1903 and 1909. There's also a Metasploit module for it.

This is a contrived example — in a real engagement the next step would be running the module against the target — but it shows the actual path: enumerate, identify the exact version, cross-reference NVD for the CVE, then check Exploit-DB for something runnable against it.

I prefer Exploit-DB in practice because it's tied to searchsploit, the CLI tool bundled with Kali and Parrot, so the same database is queryable straight from a terminal without opening a browser. Metasploit's own module search covers most common services and versions too, and between the two, most well-known vulnerabilities in common services are a search away.

The bigger point here isn't the specific CVE. It's that this entire chain — version detection to working exploit — can take minutes once you know where to look. That's exactly why patch cadence matters: going a few weeks or months without updates is enough time for a new CVE and a public exploit to both land.

The Takeaway

Vulnerability research isn't really research, most of the time. It's a lookup. The hard part was the enumeration that told you exactly what version you're dealing with — once you have that, the exploit is usually one search away.

Sources