Reconnaissance & Target Discovery

Asset Discovery & Technology Fingerprinting

3 min read

Knowing what technologies a target uses shapes your attack strategy. Different stacks have different vulnerabilities.

Why Fingerprint?

TechnologyCommon Vulnerabilities
WordPressPlugin vulnerabilities, xmlrpc.php
LaravelDebug mode exposure, .env leaks
Spring BootActuator endpoints, SpEL injection
Node.js/ExpressPrototype pollution, SSRF
DjangoDebug pages, SSTI
.NETViewstate deserialization

HTTP Headers Analysis

Headers reveal technology choices:

# Using curl
curl -I https://example.com 2>/dev/null | grep -iE "server|x-powered|x-aspnet|x-generator"

# With httpx
echo "example.com" | httpx -silent -server -tech-detect

Key headers to examine:

  • Server: Web server (nginx, Apache, IIS)
  • X-Powered-By: Framework (PHP, Express, ASP.NET)
  • X-Generator: CMS (WordPress, Drupal)
  • Set-Cookie: Session technology hints

Wappalyzer & Browser Detection

Wappalyzer identifies:

  • CMS and frameworks
  • JavaScript libraries
  • CDN providers
  • Analytics tools
  • Server-side technologies
# CLI alternative: webanalyze
webanalyze -host example.com -crawl 2

# Or using httpx tech detection
cat live-hosts.txt | httpx -silent -tech-detect -json -o tech.json

Response Analysis

Look for technology indicators:

# Check common paths
curl -s https://example.com/robots.txt
curl -s https://example.com/sitemap.xml
curl -s https://example.com/.well-known/security.txt

# Check for framework-specific files
curl -s https://example.com/wp-login.php          # WordPress
curl -s https://example.com/administrator         # Joomla
curl -s https://example.com/user/login            # Drupal
curl -s https://example.com/actuator/health       # Spring Boot

JavaScript Analysis

Frontend frameworks and libraries:

# Extract JavaScript files
cat wayback-urls.txt | grep "\.js$" | sort -u > js-files.txt

# Download and analyze
for url in $(cat js-files.txt | head -20); do
    curl -s "$url" | grep -oE "api[_-]?key|secret|token|password"
done

Common finds in JS:

  • API endpoints
  • Hardcoded credentials
  • Internal domain names
  • Debug functionality

Port & Service Discovery

Expand beyond port 80/443:

# Using naabu for fast port scanning
naabu -host example.com -top-ports 1000 -silent

# Using nmap for service detection
nmap -sV -sC -p- --min-rate 1000 example.com -oN nmap-full.txt

# Common interesting ports
# 8080, 8443 - Alternate HTTP/HTTPS
# 9200 - Elasticsearch
# 27017 - MongoDB
# 6379 - Redis
# 5432, 3306 - PostgreSQL, MySQL

Cloud Asset Discovery

Identify cloud resources:

# AWS S3 buckets
# Pattern: {company}.s3.amazonaws.com, {company}-assets, {company}-backup

# Check if bucket exists and is misconfigured
aws s3 ls s3://example-company-backup --no-sign-request

# Azure blob storage
# Pattern: {company}.blob.core.windows.net

# GCP storage
# Pattern: storage.googleapis.com/{company}

Technology-to-Vulnerability Mapping

After fingerprinting, research known issues:

# Search for CVEs
searchsploit "apache 2.4"
searchsploit "wordpress 6.0"

# Check Nuclei templates
nuclei -l live-hosts.txt -tags cve,wordpress,apache -o nuclei-results.txt

Documentation Example

## Tech Stack: app.example.com

### Server
- Web Server: nginx/1.24.0
- Language: PHP 8.2
- Framework: Laravel

### Frontend
- React 18.2
- jQuery 3.6.0 (potential prototype pollution)

### Infrastructure
- CDN: Cloudflare
- Hosting: AWS (ELB detected)

### Attack Surface
- Laravel debug mode: Check APP_DEBUG
- .env exposure: Check /.env
- phpinfo exposure: Check /phpinfo.php
- React dev mode: Check for source maps

Pro Tip: Technology fingerprinting determines your attack playbook. A WordPress site requires different testing than a Spring Boot API.

Next, we'll discover hidden content and directories. :::

Quick check: how does this lesson land for you?

Quiz

Module 2: Reconnaissance & Target Discovery

Take Quiz
FREE WEEKLY NEWSLETTER

Stay on the Nerd Track

One email per week — courses, deep dives, tools, and AI experiments.

No spam. Unsubscribe anytime.