Методологія Pentesting Cloud
Tip
Вивчайте та практикуйте AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримка HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи Telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на GitHub.
Базова методологія
Кожна хмара має свої особливості, але загалом є кілька спільних речей, які pentester має перевірити під час тестування хмарного середовища:
- Перевірки бенчмарку
- Це допоможе вам зрозуміти розмір середовища та використовувані сервіси
- Це також дозволить знайти деякі швидкі неправильні конфігурації, оскільки більшість цих тестів можна виконати за допомогою автоматизованих інструментів
- Перерахування сервісів
- Ймовірно ви не знайдете набагато більше неправильних конфігурацій тут, якщо правильно виконали бенчмарк-перевірки, але може трапитись щось, що не шукали під час бенчмарку.
- Це дозволить вам знати що саме використовується в хмарному середовищі
- Це дуже допоможе на наступних кроках
- Перевірка експонованих ресурсів
- Це можна робити під час попереднього розділу, потрібно з’ясувати все, що потенційно експоновано в Internet якимось чином і як до цього можна отримати доступ.
- Тут я маю на увазі мануально експоновану інфраструктуру — наприклад інстанси з веб-сторінками або іншими відкритими портами, а також інші керовані хмарні сервіси, які можуть бути налаштовані як експоновані (наприклад DBs або buckets)
- Потім слід перевірити чи можна отримати доступ до цього ресурсу (конфіденційна інформація? вразливості? неправильні конфігурації в експонованому сервісі?)
- Перевірка дозволів
- Тут ви повинні виявити всі дозволи кожної ролі/кожного користувача всередині хмари і як вони використовуються
- Забагато високо привілейованих (control everything) акаунтів? Згенеровані ключі, якими не користуються? … Більшість цих перевірок вже має бути виконана під час бенчмарку
- Якщо клієнт використовує OpenID або SAML або іншу federation, можливо вам потрібно попросити додаткову інформацію про те, як призначається кожна роль (не те саме, коли роль admin призначена 1 користувачу або 100)
- Недостатньо лише знайти, які користувачі мають права admin “*:*”. Є багато інших дозволів, які залежно від використовуваних сервісів можуть бути дуже чутливими.
- Більше того, існують потенційні privesc шляхи, які можна використати зловживаючи дозволами. Усі ці речі потрібно врахувати і по можливості задокументувати якомога більше privesc шляхів.
- Перевірка інтеграцій
- Дуже ймовірно, що інтеграції з іншими хмарами або SaaS використовуються в межах хмарного середовища.
- Для інтеграцій хмари, яку ви аудитуєте, з іншими платформами слід повідомити хто має доступ (щоб (злов)використати цю інтеграцію) і запитати, наскільки чутлива дія, що виконується.
Наприклад, хто може записувати в AWS bucket, звідки GCP отримує дані (запитайте, наскільки чутлива ця дія в GCP при обробці тих даних). - Для інтеграцій всередині хмари, яку ви аудитуєте, з зовнішніх платформ, слід запитати хто зовні має доступ (щоб (злов)використати цю інтеграцію) і перевірити, як ці дані використовуються.
Наприклад, якщо сервіс використовує Docker image, розміщений в GCR, запитайте, хто має доступ змінювати його та яку чутливу інформацію і доступ отримає цей образ при виконанні всередині AWS cloud.
Інструменти Multi-Cloud
Існує кілька інструментів, які можна використовувати для тестування різних хмарних середовищ. Кроки інсталяції та посилання будуть вказані в цьому розділі.
PurplePanda
Інструмент для виявлення неправильних конфігурацій та privesc path у хмарах та між хмарами/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
Підтримує AWS, GCP & Azure. Перегляньте, як налаштувати кожного провайдера на 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
Завантажте та встановіть Steampipe (https://steampipe.io/downloads). Або використайте Brew:
brew tap turbot/tap
brew install steampipe
cs-suite
AWS, GCP, Azure, DigitalOcean.
Вимагає python2.7 і виглядає непідтримуваним.
Nessus
Nessus має скан Audit Cloud Infrastructure, який підтримує: AWS, Azure, Office 365, Rackspace, Salesforce. Для отримання Client Id у Azure потрібні додаткові налаштування.
cloudlist
Cloudlist — це multi-cloud tool for getting Assets (Hostnames, IP Addresses) з Cloud Providers.
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 — інструмент на Python, який консолідує інфраструктурні активи та зв’язки між ними в інтуїтивному графовому поданні, що працює на базі 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 збирає активи та взаємозв’язки з сервісів і систем, включно з cloud infrastructure, SaaS applications, security controls та іншими, у зручне графове подання на базі Neo4j database.
# 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
Виявляє користувачів із найвищими привілеями у просканованому середовищі AWS або Azure, включно з AWS Shadow Admins. Використовує 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
Інструмент для пошуку інфраструктури компанії (цілі), файлів та додатків у провідних хмарних провайдерів (Amazon, Google, Microsoft, DigitalOcean, Alibaba, Vultr, Linode).
CloudFox
- CloudFox — інструмент для пошуку шляхів атаки, які можна експлуатувати в хмарній інфраструктурі (наразі підтримуються тільки AWS і Azure; GCP буде додано).
- Це інструмент енумерації, призначений для доповнення ручного pentesting.
- Він не створює й не змінює жодних даних у хмарному середовищі.
Додаткові списки інструментів для безпеки хмар
GCP
Workspace
AWS
Azure
Загальні функції безпеки хмар
Конфіденційні обчислення
Luks2 Header Malleability Null Cipher Abuse
Tip
Вивчайте та практикуйте AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримка HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи Telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на GitHub.
HackTricks Cloud

