AWS Asset Exposure Mapping
Identify what the target exposes to the internet before scanning. AWS infrastructure has recognizable fingerprints — cloud metadata headers, EC2 instance metadata endpoints, and predictable DNS patterns.
Shodan
Search for EC2 instances and services by organization or IP range. AWS IP ranges are published and Shodan indexes them continuously.
Search by organization:
org:"Amazon" hostname:"$DOMAIN"
org:"Amazon" html:"$COMPANY"
Search for specific services on AWS IP space:
org:"Amazon" port:8080 http.title:"$COMPANY"
org:"Amazon" port:443 ssl.cert.subject.cn:"$DOMAIN"
Search for exposed management interfaces:
org:"Amazon" port:8443 title:"admin"
org:"Amazon" port:9200 product:"Elasticsearch"
org:"Amazon" port:6379 product:"Redis"
The Shodan CLI:
CloudFront Origin Discovery
CloudFront distributions sit in front of origins — EC2 instances, S3 buckets, ALBs, or custom servers. The origin IP is often reachable directly if security groups allow it, bypassing WAF and CloudFront restrictions.
Discover the origin IP via:
SSL certificate history (Censys):
Direct IP probe bypassing CloudFront:
Explain command
| -H "Host: $DOMAIN" | Send the original domain as Host header so the origin recognises the request. |
A 200 response on the direct IP confirms the origin is accessible without CloudFront.
Public AMI Enumeration
AMIs marked public by mistake or for distribution often contain sensitive data — credentials in user data, hardcoded keys in scripts, or internal tooling.
Search for public AMIs owned by the target account (if you have their account ID from recon):
For each found AMI, the description, name, and tags often reveal environment names, application versions, and internal naming conventions.
AWS IP Range Lookup
AWS publishes all IP ranges at https://ip-ranges.amazonaws.com/ip-ranges.json. Cross-reference discovered IPs to confirm what is running on AWS and in which region.
Knowing the region narrows your scan scope and informs which regional API endpoints to target.
HTTP Response Fingerprinting
AWS services return identifiable headers. Passive scanning of known domains can confirm AWS-hosted infrastructure:
x-amz-request-id: ABC123 x-amz-cf-id: XYZ789 x-cache: Hit from cloudfront
These headers confirm AWS hosting without any active scanning and identify whether CloudFront is in the path.
Was this helpful?
Your feedback helps improve this page.