Preparing your learning space...
43% through Ethical Hacking tutorials
A Vulnerability Assessment (VA) is the systematic process of identifying, classifying, and prioritizing security vulnerabilities in computer systems, networks, and applications.
Unlike a penetration test, a vulnerability assessment does not exploit vulnerabilities — it identifies and measures them.
Think of it this way: A vulnerability assessment tells you every unlocked door and open window in your house. A penetration test actually opens one to see if someone could get in.
Vulnerability assessment is NOT a one-time activity — it's part of an ongoing lifecycle:
┌─────────────────────────────┐
│ Discovery │
│ (Identify vulnerabilities) │
└─────────────┬───────────────┘
│
▼
┌─────────────────────────────┐
│ Prioritization │
│ (Score & classify risks) │
└─────────────┬───────────────┘
│
▼
┌─────────────────────────────┐
│ Remediation │
│ (Patch, mitigate, accept) │
└─────────────┬───────────────┘
│
▼
┌─────────────────────────────┐
│ Verification │
│ (Confirm fixes worked) │
└─────────────┬───────────────┘
│
└─────── Cycle repeats ──────►
| Aspect | Vulnerability Assessment | Penetration Test |
|---|---|---|
| Goal | Identify & catalog weaknesses | Exploit weaknesses to prove impact |
| Methodology | Automated scanning + manual validation | Manual exploitation + automated tools |
| Output | List of vulnerabilities with risk scores | Proof-of-concept exploit + attack chain |
| False Positives | Common (must be validated manually) | Rare (confirmed by exploitation) |
| Frequency | Weekly/Monthly/Quarterly | Annually or after major changes |
| Cost | Lower ($1K-$10K per scan) | Higher ($10K-$100K+) |
| Depth | Broad (covers many systems) | Deep (targets critical systems) |
| Risk to Systems | Low (scanning only) | Moderate (controlled exploitation) |
Analogy:
- VA = Census — count every person in the city
- PT = Undercover investigation — follow one suspect to see what they can actually do
Scans internal and external network infrastructure to find open ports, running services, and missing patches.
| Tool | Best For | Cost |
|---|---|---|
| Nessus Professional | General purpose, enterprise | $3,690/yr |
| OpenVAS / Greenbone | Open source, self-hosted | Free |
| Qualys VMDR | Cloud-based, continuous monitoring | $2,500+/yr |
| Rapid7 InsightVM | Integration with Metasploit | $3,000+/yr |
Scans individual machines for OS-level issues, misconfigurations, and missing patches.
| Tool | Platform | Best For |
|---|---|---|
| Lynis | Linux/Unix | Compliance auditing (CIS benchmarks) |
| Microsoft Defender ATP | Windows | Endpoint detection + vulnerability management |
| CrowdStrike Falcon | Cross-platform | EDR + vulnerability management |
| Qualys Cloud Agent | Cross-platform | Continuous visibility |
Checks for OWASP Top 10 vulnerabilities, authentication flaws, and business logic issues.
| Tool | Type | Best For |
|---|---|---|
| Burp Suite Pro | Commercial | Deep manual + automated testing |
| OWASP ZAP | Free | Automated scanning + beginners |
| Acunetix | Commercial | Automated web + network scanning |
| Netsparker | Commercial | Low false-positive rate (Proof-Based Scanning) |
Checks for weak authentication, SQL injection points, unencrypted sensitive data.
| Tool | Type | Features |
|---|---|---|
| SQLmap | Open source | Automated SQL injection detection & exploitation |
| DbProtect | Commercial | Database activity monitoring + vulnerability scanning |
| AppDetective | Commercial | Database-specific vulnerability scanner |
Reviews cloud configurations against best practices (CIS Benchmarks).
| Cloud | Tool | Key Checks |
|---|---|---|
| AWS | ScoutSuite, Prowler, Pacu | S3 bucket permissions, IAM roles, Security Groups |
| Azure | ScoutSuite, Azure Security Center | NSG rules, RBAC, Key Vault configuration |
| GCP | ScoutSuite, Forseti Security | IAM policies, Firewall rules, Cloud Storage ACLs |
| Multi-Cloud | Wiz, Orca, CrowdStrike | Agentless cloud security scanning |
| Tool | Purpose | Focus |
|---|---|---|
| Trivy | Container image scanning | Known CVEs in OS packages + libraries |
| kube-bench | CIS Kubernetes benchmark | Configuration check |
| kube-hunter | Kubernetes security testing | Penetration testing perspective |
| Falco | Runtime security | Behavioral monitoring |
"Define the scope and gather intelligence."
Key activities:
Non-Credentialed vs. Credentialed Scan:
| Aspect | Non-Credentialed | Credentialed |
|---|---|---|
| Attacker's view | ✅ Yes | ❌ No |
| Patch detection | ❌ Cannot see | ✅ Full patch inventory |
| Registry/Config | ❌ Cannot access | ✅ Deep configuration check |
| Software inventory | ❌ No | ✅ Complete list |
| Network impact | Moderate | Higher (more checks) |
| Time to complete | Faster (fewer checks) | Slower (many more checks) |
"Run the automated scanners."
Technical Process:
1. Host Discovery
nmap -sn 10.0.0.0/24 → Which hosts are alive?
2. Port Scanning
nmap -sS -sV 10.0.0.0/24 → What ports/services are open?
3. Vulnerability Scan
nessuscli scan --target 10.0.0.10 → What CVEs apply?
4. Configuration Audit
lynis audit system → What CIS checks fail?
Complete Nessus Scan Output Example:
Host: 10.0.0.10 (Web Server)
────────────────────────────────────────────────────────────────────
CRITICAL: CVE-2021-41773 (CVSS 9.8)
Plugin: 153159 — Apache HTTP Server 2.4.49 Path Traversal
Info: https://tenable.com/plugins/153159
Output: nmap confirms Apache 2.4.49 running
Risk: Remote code execution without authentication
HIGH: CVE-2023-XXXX (CVSS 8.1)
Plugin: 167342 — OpenSSH < 8.9p1 Weak Key Exchange Algorithm
Output: Diffie-Hellman moduli found with < 2048 bits
Risk: Man-in-the-middle attack
MEDIUM: Missing HTTP Security Headers
Plugin: 70567 — Web Server Transmits Clear Text Creds
Output: No Strict-Transport-Security header
Risk: Session hijacking via SSL stripping
LOW: SSL Certificate Expires in 30 Days
Plugin: 51192 — SSL Certificate Expiry
Output: Expires 2026-08-20
Risk: Service disruption
"Remove noise. Confirm real issues."
Automated scanners produce false positives. Industry averages suggest 20-40% of scanner findings are false positives. Every finding must be validated.
┌──────────────────────┐
│ Scanner Found Issue │
└──────────┬───────────┘
│
┌──────────▼───────────┐
│ Is the service/ │
│ version confirmed? │ ◄── nmap -sV or manual check
└──────────┬───────────┘
│
┌────────────────┼────────────────┐
│ │ │
▼ ▼ ▼
Confirmed Needs manual False positive
vulnerability verification → REMOVE from report
│ │
▼ ▼
CVSS Scoring Manual PoC test
+ Impact (is it really
assessment exploitable?)
│ │
└────────────────┘
│
▼
┌──────────────────────┐
│ Add to Report │
└──────────────────────┘
The Common Vulnerability Scoring System (CVSS) provides a numerical score (0-10) for vulnerabilities.
CVSS Vector Example:
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
| Component | Abbreviation | Values | Meaning |
|---|---|---|---|
| Attack Vector | AV | N / A / L / P | N=Network (remotely exploitable) |
| Attack Complexity | AC | L / H | L=Low (no special conditions required) |
| Privileges Required | PR | N / L / H | N=None (no authentication needed) |
| User Interaction | UI | N / R | N=None (no user action needed) |
| Scope | S | U / C | U=Unchanged (only affects vulnerable component) |
| Confidentiality | C | H / L / N | H=High (all data could be read) |
| Integrity | I | H / L / N | H=High (data can be modified) |
| Availability | A | H / L / N | H=High (system can be crashed) |
Detailed Breakdown:
AV:N = Network (exploitable remotely, no physical access needed)
AC:L = Low complexity (no special conditions)
PR:N = No privileges required
UI:N = No user interaction needed
S:U = Scope unchanged
C:H = Complete confidentiality loss
I:H = Complete integrity loss
A:H = Complete availability loss
Result: 9.8 (CRITICAL)
CVSS Score Table:
| Severity | Score | Example Finding |
|---|---|---|
| None | 0.0 | Informational banner disclosure |
| Low | 0.1 - 3.9 | Self-XSS, missing security headers |
| Medium | 4.0 - 6.9 | Reflected XSS (requires user interaction) |
| High | 7.0 - 8.9 | SQL injection (authenticated) |
| Critical | 9.0 - 10.0 | RCE without authentication (unauthenticated) |
CVSS gives a technical score. Real-world risk requires context:
| Factor | Lowers Risk | Raises Risk |
|---|---|---|
| Network Position | Vulnerable service is internal-only | Vulnerable service is internet-facing |
| Authentication | Requires valid credentials | No authentication required |
| User Interaction | Requires user to click | No interaction needed |
| Data Sensitivity | System has no sensitive data | System contains PII/PCI data |
| Compensating Controls | WAF blocks the attack | No WAF, IDS, or logging |
| Exploit Availability | No public exploit exists | Metasploit module available |
| Asset Criticality | Development server | Production server with customer data |
"Not all vulnerabilities are equally dangerous."
Risk = Likelihood × Impact
| Priority | CVSS | Exploit Available? | Internet-Facing? | Sensitive Data? | Action Timeline |
|---|---|---|---|---|---|
| P0 — Critical | 9.0+ | ✅ Yes | ✅ Yes | ✅ Yes | 24 hours |
| P1 — High | 7.0-8.9 | ✅ Yes | ✅ Yes | ❌ No | 1 week |
| P2 — Medium | 4.0-6.9 | ❌ No | ✅ Yes | ✅ Yes | 2 weeks |
| P3 — Low | 0.1-3.9 | ❌ No | ❌ No | ❌ No | Next maintenance cycle |
| Info | 0.0 | N/A | N/A | N/A | Track / No action |
Scenario A: Critical CVSS, No Exploit, Internal
────────────────────────────────────────────────
CVE-2024-XXXX (CVSS 9.3) in Apache on internal server
No public exploit exists
Server has no customer data
Result: Schedule patch within 30 days (not emergency)
Scenario B: High CVSS, Exploit Available, Internet-Facing
─────────────────────────────────────────────────────────
CVE-2023-YYYY (CVSS 7.5) in OpenVPN on perimeter firewall
Metasploit module available (easy exploitation)
Firewall provides access to internal network
Result: Patch IMMEDIATELY (same day)
"Clear communication is the real value."
A professional vulnerability assessment report contains:
Executive Summary — 1-2 pages for management
Scope & Methodology — What was tested and how
Critical & High Findings — Detailed table
Detailed Findings — Per vulnerability (repeated for each):
Remediation Plan — Priority-ordered action plan:
Appendix — Raw scan data with false positives removed
| Rank | Category | Description | Example |
|---|---|---|---|
| 1 | Broken Access Control | Users can access unauthorized functions/data | Change user_id in URL to see other accounts |
| 2 | Cryptographic Failures | Sensitive data not properly encrypted | Passwords stored in plaintext |
| 3 | Injection | Untrusted data sent to an interpreter | SQL: ' OR 1=1 -- |
| 4 | Insecure Design | Architectural flaws | No rate limiting on password reset |
| 5 | Security Misconfiguration | Default configs, unnecessary features | Default admin/admin credentials |
| 6 | Vulnerable Components | Outdated libraries with known CVEs | Apache Log4j (CVE-2021-44228) |
| 7 | Auth Failures | Weak login mechanisms | No MFA, weak password policy |
| 8 | Software Integrity Failures | Unsigned updates, CI/CD pipeline flaws | Unverified third-party CDN scripts |
| 9 | Logging & Monitoring | Insufficient detection/response | No logging of failed login attempts |
| 10 | SSRF | Server makes requests to internal systems | Server fetches internal AWS metadata |
| Rank | CWE ID | Name |
|---|---|---|
| 1 | CWE-787 | Out-of-bounds Write |
| 2 | CWE-79 | Cross-Site Scripting (XSS) |
| 3 | CWE-89 | SQL Injection |
| 4 | CWE-416 | Use After Free |
| 5 | CWE-78 | OS Command Injection |
| 6 | CWE-20 | Improper Input Validation |
| 7 | CWE-125 | Out-of-bounds Read |
| 8 | CWE-22 | Path Traversal |
| 9 | CWE-352 | Cross-Site Request Forgery (CSRF) |
| 10 | CWE-434 | Unrestricted File Upload |
| Tool | Type | Coverage | Accuracy | Ease of Use | Price |
|---|---|---|---|---|---|
| Nessus Pro | Commercial | Network + Web + Cloud | High | Easy | $3,690/yr |
| OpenVAS | Open Source | Network | Medium | Moderate | Free |
| Qualys | Cloud SaaS | Network + Web + Cloud | Very High | Easy | ~$2,500+/yr |
| Rapid7 InsightVM | Commercial | Network + Cloud | High | Easy | ~$3,000+/yr |
| Nikto | Open Source | Web Server only | Low (many FPs) | Easy | Free |
| OWASP ZAP | Open Source | Web Application | Medium-High | Moderate | Free |
| Lynis | Open Source | Linux/Unix Host | Medium | Easy | Free (Community) |
| ScoutSuite | Open Source | Cloud (AWS/Azure/GCP) | High | Moderate | Free |
| Wiz | Cloud SaaS | Cloud (multi) | Very High | Easy | Enterprise pricing |
| Environment | Recommended Frequency | Reasoning |
|---|---|---|
| Internet-facing systems | Monthly | Attack surface changes frequently |
| Internal network | Quarterly | Enough time for meaningful change |
| Critical applications | Before each major release | New code = new vulnerabilities |
| After security incidents | Immediately | Ensure the vulnerability is fully remediated |
| Post-merger/acquisition | Immediately | Unknown security posture of acquired assets |
| Compliance-driven (PCI DSS) | Quarterly + after changes | Requirement 11.2 mandates this |
| New infrastructure deployment | Before going live | Don't deploy known vulnerabilities |
| Vendor/SaaS integrations | Annual or per contract | Third-party risk management |
Different regulations require vulnerability assessments:
| Regulation | Requirement | Frequency | Penalty for Non-Compliance |
|---|---|---|---|
| PCI DSS v4.0 | Req 11.2 — Internal/external scans | Quarterly + after changes | $5K-$100K/month fines, or loss of card processing |
| HIPAA | Security Rule §164.308(a)(1) — Risk analysis | Ongoing / Annual | $100-$50K per violation, up to $1.5M/year |
| GDPR | Art 32 — Appropriate technical measures | Risk-based | Up to €20M or 4% of global revenue |
| SOC 2 | CC6, CC7 — Monitoring & detection | Per audit period | Loss of certification / client trust |
| ISO 27001 | A.12.6 — Technical vulnerability management | Per risk assessment | Loss of certification |
| FedRAMP | CA-2, RA-5 — Continuous monitoring | Monthly + quarterly | Loss of ATO (Authority to Operate) |
masscan default rate of 100,000 packets/sec has crashed production routersSave your progress and earn XP for completing tutorials.
Keep learning
Technology
Cyber Security & Networking
Lesson group
Ethical Hacking
Progress
43% complete