All Projects β†’ Parasimpaticki β†’ sandcastle

Parasimpaticki / sandcastle

Licence: MIT license
🏰 A Python script for AWS S3 bucket enumeration.

Projects that are alternatives of or similar to sandcastle

GDPatrol
A Lambda-powered Security Orchestration framework for AWS GuardDuty
Stars: ✭ 50 (-5.66%)
Mutual labels:  aws-security
Terrascan
Detect compliance and security violations across Infrastructure as Code to mitigate risk before provisioning cloud native infrastructure.
Stars: ✭ 2,687 (+4969.81%)
Mutual labels:  aws-security
data-transfer-hub
Seamless User Interface for replicating data into AWS.
Stars: ✭ 102 (+92.45%)
Mutual labels:  amazon-s3
cdkgoat
CdkGoat is Bridgecrew's "Vulnerable by Design" AWS CDK repository. CdkGoat is a learning and training project that demonstrates how common configuration errors can find their way into production cloud environments.
Stars: ✭ 27 (-49.06%)
Mutual labels:  aws-security
SyntheticSun
SyntheticSun is a defense-in-depth security automation and monitoring framework which utilizes threat intelligence, machine learning, managed AWS security services and, serverless technologies to continuously prevent, detect and respond to threats.
Stars: ✭ 49 (-7.55%)
Mutual labels:  aws-security
Checkov
Prevent cloud misconfigurations during build-time for Terraform, Cloudformation, Kubernetes, Serverless framework and other infrastructure-as-code-languages with Checkov by Bridgecrew.
Stars: ✭ 3,572 (+6639.62%)
Mutual labels:  aws-security
Bucket Stream
Find interesting Amazon S3 Buckets by watching certificate transparency logs.
Stars: ✭ 1,577 (+2875.47%)
Mutual labels:  amazon-s3
AWSXenos
AWSXenos will list all the trust relationships in all the IAM roles and S3 buckets
Stars: ✭ 57 (+7.55%)
Mutual labels:  aws-security
Security monkey
Security Monkey monitors AWS, GCP, OpenStack, and GitHub orgs for assets and their changes over time.
Stars: ✭ 4,244 (+7907.55%)
Mutual labels:  aws-security
introspector
A schema and set of tools for using SQL to query cloud infrastructure.
Stars: ✭ 61 (+15.09%)
Mutual labels:  aws-security
cfngoat
Cfngoat is Bridgecrew's "Vulnerable by Design" Cloudformation repository. Cfngoat is a learning and training project that demonstrates how common configuration errors can find their way into production cloud environments.
Stars: ✭ 70 (+32.08%)
Mutual labels:  aws-security
aws-lambda-firewall
Securely and conveniently support IP address whitelists for your publicly routable services.
Stars: ✭ 16 (-69.81%)
Mutual labels:  aws-security
CloudFrontier
Monitor the internet attack surface of various public cloud environments. Currently supports AWS, GCP, Azure, DigitalOcean and Oracle Cloud.
Stars: ✭ 102 (+92.45%)
Mutual labels:  aws-security
aws-waf-logger
Log all AWS WAF Matched Rules to S3 and/or Loggly using Serverless
Stars: ✭ 18 (-66.04%)
Mutual labels:  aws-security
AWS-Mirror-Toolkit
A set of tools and procedures for automating NSM and NIDS deployments in AWS
Stars: ✭ 16 (-69.81%)
Mutual labels:  aws-security
Upic
πŸ“€uPic is a native, powerful, beautiful and simple picture and file upload tool for macOS.
Stars: ✭ 2,465 (+4550.94%)
Mutual labels:  amazon-s3
Pacu
The AWS exploitation framework, designed for testing the security of Amazon Web Services environments.
Stars: ✭ 2,451 (+4524.53%)
Mutual labels:  aws-security
aws-security-hub-response-and-remediation
Pre-configured response & remediation playbooks for AWS Security Hub
Stars: ✭ 58 (+9.43%)
Mutual labels:  aws-security
super-dollop
Encrypt your files or notes by your GPG key and save to MinIO or AWS S3 easily!
Stars: ✭ 58 (+9.43%)
Mutual labels:  amazon-s3
backup-repository
Backup storage for E2E GPG-encrypted files, with multi-user, quotas, versioning, using a object storage (S3/Min.io/GCS etc.) and deployed on Kubernetes or standalone.
Stars: ✭ 21 (-60.38%)
Mutual labels:  amazon-s3

Sandcastle logo - AWS S3 bucket enumeration

Inspired by a conversation with Instacart's @nickelser on HackerOne, I've optimised and published Sandcastle – a Python script for AWS S3 bucket enumeration, formerly known as bucketCrawler.

The script takes a target's name as the stem argument (e.g. shopify) and iterates through a file of bucket name permutations, such as the ones below:

-training
-bucket
_dev
_attachments
.photos
.elasticsearch
[...]

Getting started

Detailed installation and usage instructions in Spanish:

https://medium.com/@enanosca/enumeraci%C3%B3n-de-aws-s3-buckets-con-sandcastle-d8154f45a540

Here's how to get started:

  1. Clone this repo
  2. Run sandcastle.py with a target name or list of targets
  3. Matching bucket permutations will be identified, and read/write permissions tested.
usage: sandcastle.py [-h] (-t targetStem | -f inputFile) [-b bucketFile]
                     [-o outputFile] [--threads threadCount]

arguments:
  -h, --help            show this help message and exit
  -t shopify, --target shopify
                        Select a target stem name (e.g. 'shopify')
  -f targets.txt, --file targets.txt
                        Select a target list file
  -b bucket-names.txt, --bucket-list bucket-names.txt
                        Select a bucket permutation file (default: bucket-
                        names.txt)
  -o output.txt, --output output.txt
                        Select a output file
  --threads 50
                        Choose number of threads (default=50)
   ____             __             __  __
  / __/__ ____  ___/ /______ ____ / /_/ /__
 _\ \/ _ `/ _ \/ _  / __/ _ `(_-</ __/ / -_)
/___/\_,_/_//_/\_,_/\__/\_,_/___/\__/_/\__/

S3 bucket enumeration // release v1.3 // ysx & Parasimpaticki


[*] Commencing enumeration of 'spotify', reading 2125 lines from 'bucket-names.txt'.

[+] Checking potential match: shopify-content --> 403

An error occurred (AccessDenied) when calling the ListObjects operation: Access Denied

Status codes and testing

Status code Definition Notes
404 Bucket Not Found Not a target for analysis (hidden by default)
403 Access Denied Potential target for analysis via the CLI
200 Publicly Accessible Potential target for analysis via the CLI

AWS CLI commands

Here's a quick reference of some useful AWS CLI commands:

  • List Files: aws s3 ls s3://bucket-name
  • Download Files: aws s3 cp s3://bucket-name/<file> <destination>
  • Upload Files: aws s3 cp/mv test-file.txt s3://bucket-name
  • Remove Files: aws s3 rm s3://bucket-name/test-file.txt

What is S3?

From the Amazon documentation, Working with Amazon S3 Buckets:

Amazon S3 [Simple Storage Service] is cloud storage for the Internet. To upload your data (photos, videos, documents etc.), you first create a bucket in one of the AWS Regions. You can then upload any number of objects to the bucket.

In terms of implementation, buckets and objects are resources, and Amazon S3 provides APIs for you to manage them.

Closing remarks

  • This is my first public security project. Sandcastle is published under the MIT License.
  • Usage acknowlegements:
    • Castle (icon) by Andrew Doane from the Noun Project
    • Nixie One (logo typeface) free by Jovanny Lemonad
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].