Pentesting Cloud Methodology
Tip
Ucz się & ćwicz AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Ucz się & ćwicz GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Ucz się & ćwicz Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Wspieraj HackTricks
- Sprawdź subscription plans!
- Dołącz do 💬 Discord group lub telegram group lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Podziel się hacking tricks, zgłaszając PRy do HackTricks i HackTricks Cloud github repos.
Podstawowa metodologia
Każda chmura ma swoje specyfiki, ale ogólnie istnieje kilka wspólnych rzeczy, które pentester powinien sprawdzić podczas testowania środowiska cloud:
- Kontrole benchmarkowe
- To pomoże ci zrozumieć rozmiar środowiska i używane usługi
- Pozwoli też znaleźć kilka szybkich błędów konfiguracyjnych, ponieważ większość tych testów można przeprowadzić przy pomocy narzędzi automatycznych
- Services Enumeration
- Prawdopodobnie nie znajdziesz tu znacznie więcej błędów konfiguracyjnych, jeśli poprawnie przeprowadziłeś testy benchmarkowe, ale możesz trafić na takie, których nie wyszukiwano podczas testów benchmarkowych.
- To pozwoli ci wiedzieć co dokładnie jest używane w środowisku cloud
- To bardzo pomoże w kolejnych krokach
- Sprawdź zasoby wystawione na zewnątrz
- Można to zrobić podczas poprzedniej sekcji, musisz wykryć wszystko, co potencjalnie jest wystawione do Internetu i w jaki sposób można uzyskać do tego dostęp.
- Tu mam na myśli ręcznie wystawioną infrastrukturę jak instancje z serwisami WWW lub innymi otwartymi portami, a także inne cloud managed services, które można skonfigurować jako wystawione (np. DBs lub buckets)
- Następnie powinieneś sprawdzić czy dany zasób może być wystawiony czy nie (informacje poufne? luki? błędy konfiguracyjne w wystawionej usłudze?)
- Sprawdź uprawnienia
- Tutaj powinieneś ustalić wszystkie uprawnienia każdej roli/użytkownika w środowisku cloud i jak są używane
- Zbyt wiele kont o wysokich uprawnieniach (kontrolujących wszystko)? Generowane klucze nieużywane?… Większość tych kontroli powinna być już przeprowadzona w testach benchmarkowych
- Jeśli klient używa OpenID lub SAML lub innej federacji, może być konieczne poproszenie ich o dodatkowe informacje dotyczące jak przypisywana jest każda rola (to nie to samo, gdy rola admin przypisana jest do 1 użytkownika lub do 100)
- Nie wystarczy ustalić, którzy użytkownicy mają uprawnienia admin “:”. Istnieje wiele innych uprawnień, które w zależności od używanych usług mogą być bardzo wrażliwe.
- Co więcej, istnieją potencjalne privesc ścieżki do wykorzystania przy nadużyciu uprawnień. Wszystkie te kwestie powinny zostać uwzględnione i należy zgłosić jak najwięcej privesc ścieżek.
- Sprawdź integracje
- Jest bardzo prawdopodobne, że wewnątrz środowiska cloud wykorzystywane są integracje z innymi cloudami lub SaaS.
- Dla integracji cloud, które audytujesz z inną platformą powinieneś powiadomić, kto ma dostęp do (nadużycia) tej integracji oraz zapytać, jak wrażliwa jest akcja, która jest wykonywana.
Na przykład: kto może zapisywać do AWS bucketu, z którego GCP pobiera dane (zapytaj, jak wrażliwa jest ta akcja po stronie GCP przy przetwarzaniu tych danych). - Dla integracji wewnątrz audytowanego cloud pochodzących z zewnętrznych platform, powinieneś zapytać, kto ma zewnętrzny dostęp do (nadużycia) tej integracji i sprawdzić, jak te dane są wykorzystywane.
Na przykład, jeśli serwis używa obrazu Docker hostowanego w GCR, powinieneś zapytać, kto ma dostęp do modyfikacji tego obrazu i jakie poufne informacje oraz uprawnienia uzyska ten obraz po uruchomieniu wewnątrz AWS.
Narzędzia Multi-Cloud
Istnieje kilka narzędzi, które można wykorzystać do testowania różnych środowisk cloud. Kroki instalacji i linki zostaną podane w tej sekcji.
PurplePanda
Narzędzie do identyfikowania złych konfiguracji i privesc path w cloudach i pomiędzy cloudami/SaaS.
# 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
Obsługuje AWS, GCP & Azure. Sprawdź, jak skonfigurować każdego dostawcę na https://docs.prowler.cloud/en/latest/#aws
# 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
Pobierz i zainstaluj Steampipe (https://steampipe.io/downloads). Lub użyj Brew:
brew tap turbot/tap
brew install steampipe
cs-suite
AWS, GCP, Azure, DigitalOcean.
Wymaga python2.7 i wygląda na nieutrzymywany.
Nessus
Nessus posiada skan Audit Cloud Infrastructure obsługujący: AWS, Azure, Office 365, Rackspace, Salesforce. W Azure wymagane są dodatkowe konfiguracje, aby uzyskać Client Id.
cloudlist
Cloudlist to narzędzie multi-cloud do pozyskiwania zasobów (nazwy hostów, adresy IP) od dostawców chmury.
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 to narzędzie w Pythonie, które konsoliduje zasoby infrastruktury i relacje między nimi w intuicyjnym widoku grafu opartym na bazie danych Neo4j.
# 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 zbiera zasoby i relacje z usług i systemów, w tym infrastruktury chmurowej, aplikacji SaaS, kontroli bezpieczeństwa i innych, oraz prezentuje je w intuicyjnym widoku grafu opartym na bazie danych Neo4j.
# 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
Odkrywa najbardziej uprzywilejowanych użytkowników w skanowanym środowisku AWS lub Azure, w tym AWS Shadow Admins. Używa powershell.
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
Narzędzie do znajdowania infrastruktury firmy (target), plików i aplikacji u największych dostawców chmurowych (Amazon, Google, Microsoft, DigitalOcean, Alibaba, Vultr, Linode).
CloudFox
- CloudFox to narzędzie do wyszukiwania wykorzystalnych ścieżek ataku w infrastrukturze chmurowej (obecnie obsługiwane tylko AWS & Azure, wsparcie dla GCP wkrótce).
- Jest to narzędzie do enumeracji, mające na celu uzupełnianie manualnego pentestingu.
- Nie tworzy ani nie modyfikuje żadnych danych w środowisku chmurowym.
Więcej list narzędzi do bezpieczeństwa chmurowego
GCP
Workspace
AWS
Azure
Typowe funkcje bezpieczeństwa chmurowego
Poufne przetwarzanie
Luks2 Header Malleability Null Cipher Abuse
Tip
Ucz się & ćwicz AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Ucz się & ćwicz GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Ucz się & ćwicz Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Wspieraj HackTricks
- Sprawdź subscription plans!
- Dołącz do 💬 Discord group lub telegram group lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Podziel się hacking tricks, zgłaszając PRy do HackTricks i HackTricks Cloud github repos.
HackTricks Cloud

