CloudFrunt is a tool for identifying misconfigured CloudFront domains.
Background
CloudFront is a Content Delivery Network (CDN) provided by Amazon Web Services (AWS). CloudFront users create "distributions" that serve content from specific sources (an S3 bucket, for example).
Each CloudFront distribution has a unique endpoint for users to point their DNS records to (ex. d111111abcdef8.cloudfront.net). All of the domains using a specific distribution need to be listed in the "Alternate Domain Names (CNAMEs)" field in the options for that distribution.
When a CloudFront endpoint receives a request, it does NOT automatically serve content from the corresponding distribution. Instead, CloudFront uses the HOST header of the request to determine which distribution to use. This means two things:
- If the HOST header does not match an entry in the "Alternate Domain Names (CNAMEs)" field of the intended distribution, the request will fail.
- Any other distribution that contains the specific domain in the HOST header will receive the request and respond to it normally.
This is what allows the domains to be hijacked. There are many cases where a CloudFront user fails to list all the necessary domains that might be received in the HOST header. For example:
- The domain "test.disloops.com" is a CNAME record that points to "disloops.com".
- The "disloops.com" domain is set up to use a CloudFront distribution.
- Because "test.disloops.com" was not added to the "Alternate Domain Names (CNAMEs)" field for the distribution, requests to "test.disloops.com" will fail.
- Another user can create a CloudFront distribution and add "test.disloops.com" to the "Alternate Domain Names (CNAMEs)" field to hijack the domain.
This means that the unique endpoint that CloudFront binds to a single distribution is effectively meaningless. A request to one specific CloudFront subdomain is not limited to the distribution it is associated with.
Installation
$ pip install boto3
$ pip install netaddr
$ pip install dnspython
$ git clone https://github.com/disloops/cloudfrunt.git
$ cd cloudfrunt
$ git clone https://github.com/darkoperator/dnsrecon.git
CloudFrunt expects the dnsrecon script to be cloned into a subdirectory called dnsrecon.Usage
cloudfrunt.py [-h] [-l TARGET_FILE] [-d DOMAINS] [-o ORIGIN] [-i ORIGIN_ID] [-s] [-N]
-h, --help Show this message and exit
-s, --save Save the results to results.txt
-N, --no-dns Do not use dnsrecon to expand scope
-l, --target-file TARGET_FILE File containing a list of domains (one per line)
-d, --domains DOMAINS Comma-separated list of domains to scan
-o, --origin ORIGIN Add vulnerable domains to new distributions with this origin
-i, --origin-id ORIGIN_ID The origin ID to use with new distributions
Example
$ python cloudfrunt.py -o cloudfrunt.com.s3-website-us-east-1.amazonaws.com -i S3-cloudfrunt -l list.txt
CloudFrunt v1.0.3
[+] Enumerating DNS entries for google.com
[-] No issues found for google.com
[+] Enumerating DNS entries for disloops.com
[+] Found CloudFront domain --> cdn.disloops.com
[+] Found CloudFront domain --> test.disloops.com
[-] Potentially misconfigured CloudFront domains:
[#] --> test.disloops.com
[+] Created new CloudFront distribution EXBC12DE3F45G
[+] Added test.disloops.com to CloudFront distribution EXBC12DE3F45G
- Hak5 Tools
- Nsa Hack Tools Download
- Hacking Apps
- Hacking Tools 2019
- Hack Tool Apk No Root
- How To Make Hacking Tools
- Game Hacking
- Hacking Tools Free Download
- Pentest Tools Apk
- Hacker Tools Apk
- Hacker Tools For Windows
- Hack Rom Tools
- Hacking Apps
- Pentest Tools For Windows
- Pentest Tools Open Source
- Hacking Tools Usb
- Pentest Tools Free
- Hacking Tools Github
- Hacker Search Tools
- Hacking Tools Hardware
- Pentest Tools Website
- Hacks And Tools
- Pentest Tools Github
- Best Pentesting Tools 2018
- Hacking Apps
- Hacking Tools Windows 10
- Termux Hacking Tools 2019
- How To Hack
- Pentest Tools Port Scanner
- Pentest Tools Url Fuzzer
- Hack Tools For Games
- Best Pentesting Tools 2018
- Hacking Tools Windows 10
- How To Install Pentest Tools In Ubuntu
- Hacker Tools For Pc
- Bluetooth Hacking Tools Kali
- Top Pentest Tools
- Hacking Tools Name
- New Hacker Tools
- Hacking Tools Free Download
- Hacking Tools 2020
- Hack Tools Mac
- Hacker
- Hacker Hardware Tools
- Hacking Tools
- Tools For Hacker
- Pentest Tools Nmap
- Blackhat Hacker Tools
- Hacker Tools List
- Hack Tools Download
- Hacker
- Pentest Tools Find Subdomains
- Pentest Tools Download
- Hacker Tools 2019
- Pentest Tools Bluekeep
- Hack Tools Github
- Hacker Tools For Ios
- Pentest Tools Free
- Beginner Hacker Tools
- Pentest Tools Port Scanner
- Black Hat Hacker Tools
- Best Hacking Tools 2019
- Tools Used For Hacking
- Hacking Tools For Beginners
- Computer Hacker
- Hacking Tools Usb
- Hack Tools For Ubuntu
- Hak5 Tools
- How To Make Hacking Tools
- Github Hacking Tools
- Pentest Tools Url Fuzzer
- How To Hack
- Hacking Tools Free Download
- Hack Tools
- Best Hacking Tools 2019
- Hacker Search Tools
- Hack Tool Apk No Root
- Pentest Tools Website
- Kik Hack Tools
- Hacking App
- Install Pentest Tools Ubuntu
- Hacking Tools Free Download
- Pentest Reporting Tools
No comments:
Post a Comment