Skip to content

Intermediate · Enumeration and vulnerability assessment · topic 15 of 35 · 18 min

Enumeration: digging into services

Explanation

Enumeration is the careful, deeper look at a service after scanning: listing users, shares, directories, software details and configuration. It turns "port 80 is open" into "this web app has an admin login and a /backup folder". It is still information gathering, done only on authorised targets.

Scanning found the doors; enumeration looks inside

Scanning tells you which ports and services exist. Enumeration is the next, slower step: asking each service for more detail. For a web server that might mean listing pages and folders; for a file-sharing service, listing the shares; for a login service, learning the username format. The goal is a precise map of what is there.

Think of it like this: If scanning is noting which shop shutters are open on a street, enumeration is stepping inside each open shop to see what it sells and how it is laid out. You are still only looking, with permission, but in much more detail.

Common things testers enumerate

ServiceEnumerateWhy it helps
Web (80/443)Directories, files, admin pages, parametersFinds hidden entry points to test
SMB (445)Shares, sometimes usersOpen shares can leak files
SMTP (25)Whether certain usernames existReveals valid accounts
SNMP (161)Device details via community stringsDefault "public" string leaks a lot
DNS (53)Records, sometimes a zone transferMaps the whole domain if misconfigured

Web directory enumeration (example)

A common web step is to look for folders and files that are not linked anywhere, such as /admin or /backup. Tools do this by trying names from a wordlist and noting which return a page. Against your own lab this is fine; against a client it must be in the rules of engagement, because it is noisy.

bash
# Against an authorised lab target only:
gobuster dir -u http://192.168.56.102/ -w /usr/share/wordlists/dirb/common.txt
# Lists folders/files that exist, like /admin or /uploads
Directory enumeration tries names from a wordlist and reports what exists.

Detection and defence

Detection: enumeration is noisier than scanning — many requests, lots of 404 "not found" responses, odd paths. Web logs, IDS and a SIEM pick this up quickly. Defence: do not expose admin pages publicly, require authentication, return consistent responses so valid and invalid names look the same (so attackers cannot tell which usernames exist), turn off risky features like DNS zone transfers, and change default SNMP strings. Each defence removes a clue.

Careful: Enumeration that confirms which usernames exist, or lists private files, touches personal and sensitive data. Stay inside scope, do not collect more than the engagement needs, and never keep or share what you find.

Need help?

Stuck on a word or an idea? Search this course, or every course, and jump straight to the explanation or a worked question.

Try:

Watch the lesson

Enumeration: digging into services · 1/7

Enumerate = deeper look

Scanning finds the doors; enumeration looks inside each service.

Prefer a video by a teacher? Find free videos on “enumeration web directory smb dns ethical hacking tutorial” on YouTube ↗

In real life: Finding the hidden admin page

On a lab web app, a learner runs directory enumeration and discovers /admin and /backup, neither linked from the site. /backup contains an old database export. He records the finding and the fix: the backup folder should never be web-accessible, admin pages should require authentication and ideally sit behind a VPN, and the server should not list directory contents. One noisy step revealed two serious misconfigurations — and two clear fixes.

Practice (0/3 done)

Task 1 · Question

Enumeration is best described as…

Task 2 · Question

A defence that stops attackers learning which usernames exist is…

Task 3 · Code · Python

Directory enumeration reports HTTP status codes. Write found_paths(results) where results is a list of (path, status) pairs; return the list of paths whose status is 200, keeping their order.

Quick quiz

Question 1

1.Which service, if it allows a zone transfer, can leak a whole domain map?

Question 2

2.The default SNMP community string that often leaks data is…

Question 3

3.Why is a /backup folder on a web server a problem?

Question 4

4.Enumeration is noisier than scanning because it…

Read more (free)

Open a question to see the answer and why. The first ones are this topic's own quiz, so try the quiz above before you peek.

Which service, if it allows a zone transfer, can leak a whole domain map?

Answer: DNS

A misconfigured DNS server allowing zone transfers reveals all its records.

The default SNMP community string that often leaks data is…

Answer: "public"

The default "public" string exposes device details if left unchanged.

Why is a /backup folder on a web server a problem?

Answer: It may expose private files like database exports

Publicly reachable backups can leak sensitive data.

Enumeration is noisier than scanning because it…

Answer: Sends many requests and produces many 404s

The volume of requests and error responses stands out in logs.

"Filtered" in a scan usually means…Related

Answer: A firewall blocked the reply, so you cannot tell

Filtered means something (often a firewall) stopped the reply.

From Ports, services and what scanning does

A good defence against recon fingerprinting is to…Related

Answer: Hide version banners and return plain error pages

Revealing less gives attackers less to work with.

From Active reconnaissance

A SYN scan (-sS) is often preferred because it is…Related

Answer: Faster and does not complete the handshake

It sends only the first handshake step; faster and slightly quieter, but still detectable.

From nmap scan types

Which port does HTTPS use by default?Related

Answer: 443

HTTPS uses TCP 443 (and UDP 443 for HTTP/3).

From Ports and protocols

Pass the quiz (60% or more) or mark this topic as done when you are ready.

Your progress is saved on this device only.

Next steps

  1. 2 more topics in “Enumeration and vulnerability assessment” before its exam: CVE and CVSS: naming and scoring weaknesses, Vulnerability scanners: OpenVAS and Nessus (concepts).
  2. Module 5 exam: enumeration and vulnerability assessment · 12 questions · 20 min, without help. 3 topics of this module still to finish first.
  3. Then the next module, Web application testing: Burp Suite and the basics. 35 topics left in the course before the final exam.

← Previous: Service, version and OS detection, and NSE