AWS - EC2, EBS, ELB, SSM, VPC & VPN Enum
VPC & Networking
Дізнайтеся, що таке VPC та про його компоненти в:
AWS - VPC & Networking Basic InformationEC2
Amazon EC2 використовується для запуску віртуальних серверів. Це дозволяє налаштовувати безпеку та мережу і керувати зберіганням. Гнучкість Amazon EC2 очевидна в його здатності масштабувати ресурси як вгору, так і вниз, ефективно адаптуючись до змін вимог або сплесків популярності. Ця функція зменшує необхідність у точних прогнозах трафіку.
Цікаві речі для перерахування в EC2:
Віртуальні машини
SSH Keys
User Data
Існуючі EC2/AMIs/Snapshots
Мережа
Мережі
Підмережі
Публічні IP
Відкриті порти
Інтегровані з'єднання з іншими мережами поза AWS
Instance Profiles
Використання ролей для надання дозволів додаткам, які працюють на EC2 instances, вимагає трохи додаткової конфігурації. Додаток, що працює на EC2 instance, абстрагований від AWS віртуалізованою операційною системою. Через цей додатковий розподіл вам потрібен додатковий крок для призначення ролі AWS та її пов'язаних дозволів EC2 instance і зробити їх доступними для додатків.
Цей додатковий крок - це створення instance profile, прикріпленого до instance. Instance profile містить роль і може надавати тимчасові облікові дані ролі додатку, що працює на instance. Ці тимчасові облікові дані можуть бути використані в API викликах додатку для доступу до ресурсів і обмеження доступу лише до тих ресурсів, які вказані в ролі. Зверніть увагу, що лише одна роль може бути призначена EC2 instance одночасно, і всі додатки на instance поділяють одну і ту ж роль і дозволи.
Metadata Endpoint
AWS EC2 metadata - це інформація про Amazon Elastic Compute Cloud (EC2) instance, яка доступна instance під час виконання. Ця metadata використовується для надання інформації про instance, такої як його instance ID, зона доступності, в якій він працює, IAM роль, пов'язана з instance, та hostname instance.
Enumeration
Неаутентифікований доступ
AWS - EC2 Unauthenticated EnumПідвищення привілеїв
На наступній сторінці ви можете дізнатися, як зловживати дозволами EC2 для підвищення привілеїв:
AWS - EC2 PrivescПостексплуатація
AWS - EC2, EBS, SSM & VPC Post ExploitationEBS
Amazon EBS (Elastic Block Store) snapshots — це, по суті, статичні резервні копії томів AWS EBS. Іншими словами, це копії дисків, підключених до EC2 Instance на певний момент часу. Знімки EBS можна копіювати між регіонами та обліковими записами або навіть завантажувати та запускати локально.
Знімки можуть містити чутливу інформацію, таку як вихідний код або ключі API, тому, якщо у вас є така можливість, рекомендується перевірити їх.
Різниця між AMI та EBS
AMI використовується для запуску EC2 instance, тоді як Snapshot EC2 використовується для резервного копіювання та відновлення даних, збережених на томі EBS. Хоча знімок EC2 можна використовувати для створення нового AMI, це не те саме, що AMI, і він не містить інформації про операційну систему, сервер додатків або інше програмне забезпечення, необхідне для запуску програми.
Підвищення привілеїв
На наступній сторінці ви можете дізнатися, як зловживати дозволами EBS для підвищення привілеїв:
AWS - EBS PrivescSSM
Amazon Simple Systems Manager (SSM) дозволяє віддалено керувати флотами EC2 instances, щоб значно полегшити їх адміністрування. Кожен з цих instances повинен запускати SSM Agent service, оскільки саме цей сервіс буде отримувати дії та виконувати їх з AWS API.
SSM Agent дозволяє Systems Manager оновлювати, керувати та налаштовувати ці ресурси. Агент обробляє запити від служби Systems Manager у хмарі AWS, а потім виконує їх відповідно до запиту.
SSM Agent попередньо встановлений у деяких AMIs (preinstalled agent) або його потрібно встановити вручну на instances. Крім того, IAM Role, яка використовується всередині instance, повинна мати політику AmazonEC2RoleforSSM, щоб мати можливість спілкуватися.
Перерахування
Ви можете перевірити, чи працює Systems Manager на EC2 інстансі, просто виконавши:
Privesc
На наступній сторінці ви можете дізнатися, як зловживати дозволами SSM для підвищення привілеїв:
AWS - SSM PrivescELB
Elastic Load Balancing (ELB) — це сервіс балансування навантаження для Amazon Web Services (AWS). ELB автоматично розподіляє вхідний трафік додатків і масштабує ресурси для задоволення потреб у трафіку.
Enumeration
Launch Templates & Autoscaling Groups
Enumeration
Nitro
AWS Nitro — це набір інноваційних технологій, які формують основну платформу для AWS EC2 інстансів. Введений Amazon для підвищення безпеки, продуктивності та надійності, Nitro використовує спеціальні апаратні компоненти та легкий гіпервізор. Він абстрагує більшу частину традиційної функціональності віртуалізації до виділеного апаратного та програмного забезпечення, мінімізуючи поверхню атаки та покращуючи ефективність використання ресурсів. Вивантажуючи функції віртуалізації, Nitro дозволяє EC2 інстансам забезпечувати майже металеву продуктивність, що особливо корисно для ресурсомістких додатків. Крім того, Nitro Security Chip спеціально забезпечує безпеку апаратного та мікропрограмного забезпечення, ще більше зміцнюючи його надійну архітектуру.
Отримайте більше інформації та як його перерахувати з:
AWS - Nitro EnumVPN
VPN дозволяє підключити вашу локальну мережу (site-to-site VPN) або ноутбуки працівників (Client VPN) до AWS VPC, щоб сервіси могли бути доступні без необхідності відкривати їх в інтернет.
Основні компоненти AWS VPN
Customer Gateway:
Customer Gateway — це ресурс, який ви створюєте в AWS для представлення вашої сторони VPN-з'єднання.
Це, по суті, фізичний пристрій або програмний додаток на вашій стороні Site-to-Site VPN-з'єднання.
Ви надаєте інформацію про маршрутизацію та публічну IP-адресу вашого мережевого пристрою (наприклад, маршрутизатора або брандмауера) AWS для створення Customer Gateway.
Він служить точкою відліку для налаштування VPN-з'єднання і не несе додаткових витрат.
Virtual Private Gateway:
Virtual Private Gateway (VPG) — це VPN-концентратор на стороні Amazon у Site-to-Site VPN-з'єднанні.
Він приєднаний до вашого VPC і служить ціллю для вашого VPN-з'єднання.
VPG — це кінцева точка на стороні AWS для VPN-з'єднання.
Він обробляє безпечне спілкування між вашим VPC та вашою локальною мережею.
Site-to-Site VPN Connection:
Site-to-Site VPN-з'єднання з'єднує вашу локальну мережу з VPC через безпечний IPsec VPN-тунель.
Цей тип з'єднання вимагає Customer Gateway та Virtual Private Gateway.
Використовується для безпечного, стабільного та постійного спілкування між вашим дата-центром або мережею та вашим AWS середовищем.
Зазвичай використовується для регулярних, довгострокових з'єднань і оплачується на основі кількості даних, переданих через з'єднання.
Client VPN Endpoint:
Client VPN endpoint — це ресурс, який ви створюєте в AWS для увімкнення та керування клієнтськими VPN-сеансами.
Використовується для дозволу окремим пристроям (наприклад, ноутбукам, смартфонам тощо) безпечно підключатися до ресурсів AWS або вашої локальної мережі.
Відрізняється від Site-to-Site VPN тим, що призначений для окремих клієнтів, а не для з'єднання цілих мереж.
З Client VPN кожен клієнтський пристрій використовує VPN-клієнтське програмне забезпечення для встановлення безпечного з'єднання.
Ви можете знайти більше інформації про переваги та компоненти AWS VPN тут.
Enumeration
Локальне Перерахування
Локальні Тимчасові Облікові Дані
Коли використовується AWS VPN Client для підключення до VPN, користувач зазвичай входить в AWS, щоб отримати доступ до VPN. Потім деякі AWS облікові дані створюються і зберігаються локально для встановлення VPN-з'єднання. Ці облікові дані зберігаються в $HOME/.config/AWSVPNClient/TemporaryCredentials/<region>/temporary-credentials.txt
і містять AccessKey, SecretKey та Token.
Облікові дані належать користувачу arn:aws:sts::<acc-id>:assumed-role/aws-vpn-client-metrics-analytics-access-role/CognitoIdentityCredentials
(TODO: дослідити більше про дозволи цих облікових даних).
opvn config файли
Якщо VPN-з'єднання було встановлено, слід шукати .opvn
конфігураційні файли в системі. Крім того, одне з місць, де можна знайти конфігурації, це $HOME/.config/AWSVPNClient/OpenVpnConfigs
Постексплуатація
AWS - VPN Post ExploitationПосилання
Last updated