Discovering Vulnerabilities

Finding weak spots in software and systems where attackers can break in.

  • Purpose: Identify and remediate flaws to enhance security
  • Importance: Early detection enables timely fixes, reducing risk

Domain: Vulnerability Discovery & Analysis (Domain 3)


Lesson Overviews

  • Application Scanning (DAST & IAST)
  • Software Analysis (SCA & SAST)
  • Host-Based Scanning (Authenticated vs Unauthenticated; Secrets)
  • Network Scanning (TCP/UDP, stealth techniques)
  • Mobile Scanning (SAST, DAST, Permission/Config Analysis)
  • Container Scanning (vulnerability demo)
  • IaC Scanning (static analysis, policy-as-code, drift)
  • ICS Vulnerability Discovery (manual + port mirroring)
  • Wireless Scanning (SSID & channel analysis)

Application Scanning

Dynamic Application Security Testing (DAST)

  • Simulates attacks against a running app (no source code needed)
  • Tools: OWASP ZAP, Burp Suite
  • Example: Input "' OR '1'='1" into login form → detect SQL injection

Interactive Application Security Testing (IAST)

  • Combines static & dynamic approaches; runs inside the app server
  • Detects code-level flaws in real time (e.g., pinpoint XSS line)
  • Limitations: Requires internal access; may incur performance overhead

Software Analysis

Software Composition Analysis (SCA)

  • Inventory open-source components; flag known CVEs (e.g., Log4Shell)
  • Tools: Snyk, OWASP Dependency-Check

Static Application Security Testing (SAST)

  • Analyzes source/bytecode without execution
  • Integrate into CI/CD (e.g., SonarQube)
  • Benefits: Early flaw detection; exact location

Host-Based Scanning

  • Authenticated Scans (with credentials): deep config & patch checks (Nessus, Qualys)
  • Unauthenticated Scans (no creds): attacker’s view of open ports/services
  • Secrets Scanning: find hardcoded keys/passwords in files (TruffleHog)

Network Scanning

TCP Scans

  • SYN Scan (-sS): stealth half-open handshake
  • Full-Connect (-sT): complete three-way handshake
  • FIN/Xmas/Null (-sF/-sX/-sN): flag-based stealth

UDP Scan (-sU)

  • Probe UDP ports; ICMP “unreachable” = closed; silence = open|filtered

Stealth Techniques

  • Fragmentation (-f) splits packets
  • Idle Scan (-sI) uses a zombie host

Mobile Scanning

  • SAST: static code analysis of APK/IPA (MobSF)
  • DAST: runtime testing (OWASP ZAP mobile, Burp Mobile Proxy, QARK)
  • Permission Analysis: detect over-privileged apps
  • Configuration Analysis: identify insecure defaults

Container Scanning

  • Scan images for vulnerable libraries and misconfigurations
  • Tools: Clair, Trivy
  • Demo: trivy image myapp:latest
  • Sidecar is a utility container along with the main; log analysis etc.
  • Demo: trivy image mysidecar:latest

IaC Scanning

  • Common Iac tools: Terraform, AWS CloudFormation, Ansible
  • Static Analysis: examine Terraform/CloudFormation for misconfigs
    • Tools: TFLint, cfn-guard
  • Policy-as-Code: enforce rules (e.g., EC2 encryption)
  • CI/CD Integration: scan on commit (Jenkins, GitHub Actions)
  • Drift Detection: terraform plan or AWS Config alerts deviations

ICS Vulnerability Discovery

  • Manual Assessments: inspect PLCs/HMIs for defaults, insecure protocols
  • Port Mirroring: mirror ICS traffic to Wireshark/tcpdump for analysis
  • Tools: Tenable.ot, OpenVAS

Wireless Scanning

SSID Scanning (Kismet, Airodump-ng)

  • Detect broadcast & hidden networks; identify rogue APs

Channel Analysis (InSSIDer)

  • Map congestion; optimize channel selection

Security Practices

  • Enforce WPA3, update firmware, monitor for anomalies

Takeaway: Master diverse scanning techniques—from applications to ICS—to uncover and prioritize vulnerabilities across the full technology stack.