Pentesting Cloud Metodolojisi

Tip

AWS Hacking’i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
Az Hacking’i öğrenin ve pratik yapın: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks'i Destekleyin

Temel Metodoloji

Her bulutun kendine ait özellikleri vardır fakat genel olarak bir pentester’ın bir cloud ortamını test ederken kontrol etmesi gereken birkaç ortak şey vardır:

  • Benchmark kontrolleri
  • Bu, ortamın büyüklüğünü ve kullanılan servisleri anlamanıza yardımcı olur
  • Ayrıca çoğu testi otomatik araçlarla gerçekleştirebileceğiniz için bazı hızlı yanlış yapılandırmaları bulmanızı sağlar
  • Services Enumeration
  • Eğer benchmark testlerini doğru yaptıysanız burada muhtemelen çok daha fazla yanlış yapılandırma bulamazsınız, ancak benchmark testinde aranmayan bazı şeyleri bulabilirsiniz.
  • Bu, cloud ortamında tam olarak nelerin kullanıldığını bilmenizi sağlar
  • Bir sonraki adımlarda çok yardımcı olur
  • Check exposed assets
  • Bu, önceki bölüm sırasında yapılabilir; İnternete bir şekilde potansiyel olarak açık olan her şeyi ve bunun nasıl erişildiğini bulmanız gerekir.
  • Burada manuel olarak açığa çıkarılan altyapıyı (web sayfası olan instance’lar veya diğer portların açık olduğu örnekler gibi) ve ayrıca açılacak şekilde yapılandırılabilen diğer cloud yönetimli servisleri (ör. DBs veya buckets) ele alıyorum
  • Sonra bu kaynağın açık olup olmadığını kontrol etmelisiniz (gizli bilgi? zafiyetler? açığa çıkmış serviste yanlış yapılandırmalar?)
  • Check permissions
  • Burada cloud içindeki her rol/kullanıcının tüm izinlerini ve bunların nasıl kullanıldığını bulmalısınız
  • Çok fazla yüksek ayrıcalıklı (her şeyi kontrol eden) hesap var mı? Oluşturulmuş anahtarlar kullanılmıyor mu?… Bu kontrollerin çoğu zaten benchmark testlerinde yapılmış olmalı
  • Eğer müşteri OpenID veya SAML veya başka bir federation kullanıyorsa, her rolün nasıl atandığı hakkında daha fazla bilgi istemeniz gerekebilir (admin rolünün 1 kullanıcıya mı yoksa 100 kullanıcıya mı atandığı aynı şey değildir)
  • Sadece hangi kullanıcıların admin izinlerine “*:*” sahip olduğunu bulmak yeterli değildir. Kullanılan servislere bağlı olarak çok duyarlı olabilecek birçok diğer izin vardır.
  • Dahası, izinleri kötüye kullanarak takip edilebilecek potansiyel privesc yolları vardır. Tüm bu durumlar dikkate alınmalı ve mümkün olduğunca fazla privesc yolu raporlanmalıdır.
  • Check Integrations
  • Cloud ortamında muhtemelen başka cloud’lar veya SaaS ile entegrasyonlar kullanılıyordur.
  • Denetlediğiniz cloud’un başka platformlarla olan integrationsı için, bu entegrasyonu kimlerin (kötüye) kullanabildiğini bildirmeniz ve gerçekleştirilen eylemin ne kadar hassas olduğunu sormanız gerekir.
    Örneğin, GCP’nin veri aldığı bir AWS bucket’ına kim yazabiliyor (GCP’de o veriyi işlemenin ne kadar hassas olduğunu sorun).
  • Denetlediğiniz cloud içindeki entegrasyonlar dış platformlardan geliyorsa, bu entegrasyonu harici olarak kimlerin (kötüye) kullanabildiğini sormalı ve verinin nasıl kullanıldığını kontrol etmelisiniz.
    Örneğin, bir servis GCR’de barındırılan bir Docker imajı kullanıyorsa, bu imajı kimlerin değiştirebildiğini ve imaj çalıştırıldığında hangi hassas bilgilerin ve erişimlerin elde edileceğini sormalısınız.

Multi-Cloud tools

Farklı cloud ortamlarını test etmek için kullanılabilecek çeşitli araçlar vardır. Kurulum adımları ve bağlantılar bu bölümde belirtilecektir.

PurplePanda

Bir cloud’larda ve cloud/SaaS çapında kötü yapılandırmaları ve privesc path’leri tespit etmek için bir araçtır.

# You need to install and run neo4j also
git clone https://github.com/carlospolop/PurplePanda
cd PurplePanda
python3 -m venv .
source bin/activate
python3 -m pip install -r requirements.txt
export PURPLEPANDA_NEO4J_URL="bolt://neo4j@localhost:7687"
export PURPLEPANDA_PWD="neo4j_pwd_4_purplepanda"
python3 main.py -h # Get help

Prowler

AWS, GCP & Azure’yi destekler. Her sağlayıcıyı nasıl yapılandıracağınızı https://docs.prowler.cloud/en/latest/#aws adresinden kontrol edin.

# Install
pip install prowler
prowler -v

# Run
prowler <provider>
# Example
prowler aws --profile custom-profile [-M csv json json-asff html]

# Get info about checks & services
prowler <provider> --list-checks
prowler <provider> --list-services

CloudSploit

AWS, Azure, Github, Google, Oracle, Alibaba

# Install
git clone https://github.com/aquasecurity/cloudsploit.git
cd cloudsploit
npm install
./index.js -h
## Docker instructions in github

ScoutSuite

AWS, Azure, GCP, Alibaba Cloud, Oracle Cloud Infrastructure

mkdir scout; cd scout
virtualenv -p python3 venv
source venv/bin/activate
pip install scoutsuite
scout --help
## Using Docker: https://github.com/nccgroup/ScoutSuite/wiki/Docker-Image

Steampipe

Steampipe’i indirin ve kurun (https://steampipe.io/downloads). Veya Brew kullanın:

brew tap turbot/tap
brew install steampipe

cs-suite

AWS, GCP, Azure, DigitalOcean.
python2.7 gerektirir ve bakımsız görünüyor.

Nessus

Nessus, Audit Cloud Infrastructure taramasıyla şu platformları destekler: AWS, Azure, Office 365, Rackspace, Salesforce. Bir Client Id almak için Azure’da bazı ek yapılandırmalar gereklidir.

cloudlist

Cloudlist, Cloud Providers’dan multi-cloud tool for getting Assets (Hostnames, IP Addresses) elde etmek için kullanılan bir araçtır.

cd /tmp
wget https://github.com/projectdiscovery/cloudlist/releases/latest/download/cloudlist_1.0.1_macOS_arm64.zip
unzip cloudlist_1.0.1_macOS_arm64.zip
chmod +x cloudlist
sudo mv cloudlist /usr/local/bin

cartography

Cartography, Neo4j veritabanı tarafından desteklenen sezgisel bir graf görünümünde altyapı varlıklarını ve bunlar arasındaki ilişkileri birleştiren bir Python aracıdır.

# Installation
docker image pull ghcr.io/lyft/cartography
docker run --platform linux/amd64 ghcr.io/lyft/cartography cartography --help
## Install a Neo4j DB version 3.5.*

starbase

Starbase, bulut altyapısı, SaaS uygulamaları, güvenlik kontrolleri ve diğer hizmetler ile sistemlerden varlıkları ve ilişkileri toplayıp Neo4j veritabanı tarafından desteklenen sezgisel bir grafik görünümünde sunar.

# You are going to need Node version 14, so install nvm following https://tecadmin.net/install-nvm-macos-with-homebrew/
npm install --global yarn
nvm install 14
git clone https://github.com/JupiterOne/starbase.git
cd starbase
nvm use 14
yarn install
yarn starbase --help
# Configure manually config.yaml depending on the env to analyze
yarn starbase setup
yarn starbase run

# Docker
git clone https://github.com/JupiterOne/starbase.git
cd starbase
cp config.yaml.example config.yaml
# Configure manually config.yaml depending on the env to analyze
docker build --no-cache -t starbase:latest .
docker-compose run starbase setup
docker-compose run starbase run

SkyArk

Taranan AWS veya Azure ortamındaki en ayrıcalıklı kullanıcıları (AWS Shadow Admins dahil) keşfeder. powershell kullanır.

Import-Module .\SkyArk.ps1 -force
Start-AzureStealth

# in the Cloud Console
IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/cyberark/SkyArk/master/AzureStealth/AzureStealth.ps1')
Scan-AzureAdmins

Cloud Brute

Bir şirketin (target) altyapısını, dosyalarını ve uygulamalarını en büyük bulut sağlayıcılarında (Amazon, Google, Microsoft, DigitalOcean, Alibaba, Vultr, Linode) bulmak için bir araç.

CloudFox

  • CloudFox, bulut altyapısında sömürülebilir saldırı yollarını bulmak için bir araçtır (şu an için yalnızca AWS ve Azure destekleniyor; GCP yakında eklenecek).
  • Manuel pentesting’i tamamlayacak şekilde tasarlanmış bir keşif aracıdır.
  • Bulut ortamında herhangi bir veri oluşturmaz veya değiştirmez.

More lists of cloud security tools

Google

GCP

GCP Pentesting

Workspace

GWS - Workspace Pentesting

AWS

AWS Pentesting

Azure

Azure Pentesting

Ortak Bulut Güvenlik Özellikleri

Gizli Hesaplama

Luks2 Header Malleability Null Cipher Abuse

Tip

AWS Hacking’i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
Az Hacking’i öğrenin ve pratik yapın: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks'i Destekleyin