🔐 Wrongsecrets – примеры того, как нельзя использовать секреты |

🔐 Wrongsecrets – примеры того, как нельзя использовать секреты

Мануал

Добро пожаловать в обзор приложение OWASP WrongSecrets p0wnable.

В этом приложении собраны различные способы того, как не стоит хранить свои секреты.

Они помогут вам понять, в порядке ли ваше управление секретами.

Задача состоит в том, чтобы найти все различные секреты с помощью различных инструментов и методов.

Сможете ли вы решить все 16 задач?

Базовые упражнения Docker

Можно использовать для задач 1-4, 8, 12-15

Для базовых упражнений по докеру вам в настоящее время требуется:

  • Установить Docker
  • Браузер, который может отображать HTML

Вы можете установить его, выполнив следующие действия:

docker run -p 8080:8080 jeroenwillemsen/wrongsecrets:1.4.0-no-vault

Теперь вы можете попытаться найти секреты, решив задачи, предложенные на:

  • localhost:8080/challenge/1
  • localhost:8080/challenge/2
  • localhost:8080/challenge/3
  • localhost:8080/challenge/4
  • localhost:8080/challenge/8
  • localhost:8080/challenge/12
  • localhost:8080/challenge/13
  • localhost:8080/challenge/14
  • localhost:8080/challenge/15
  • localhost:8080/challenge/16

Обратите внимание, что эти задачи все еще очень простые, как и их объяснения.

Запускаем их на Heroku

Вы также можете протестировать их на https://wrongsecrets.herokuapp.com/!

Развертывание приложения под собственной учетной записью heroku

  • Зарегистрируйтесь на Heroku и войдите в свой аккаунт.
  • Нажмите на кнопку ниже и следуйте инструкциям

Базовое упражнение K8s

Может быть использовано для задач 1-6, 8, 12-16

На основе Minikube

Убедитесь, что у вас установлено следующее:

Docker 
Minikube

В настоящее время настройка K8S основана на использовании Minikube для локального развлечения:

minikube start
kubectl apply -f k8s/secrets-config.yml
kubectl apply -f k8s/secrets-secret.yml
kubectl apply -f k8s/secret-challenge-deployment.yml
while [[ $(kubectl get pods -l app=secret-challenge -o 'jsonpath={..status.conditions[?(@.type=="Ready")].status}') != "True" ]]; do echo "waiting for secret-challenge" && sleep 2; done
kubectl expose deployment secret-challenge --type=LoadBalancer --port=8080
minikube service secret-challenge

теперь вы можете использовать предоставленные IP-адрес и порт для дальнейшей игры с вариантом K8s (вместо localhost).

  • localhost:8080/challenge/5
  • localhost:8080/challenge/6

на базе k8s

Хотите запустить vanilla на своем собственном k8s?

Используйте команды, приведенные ниже:

kubectl apply -f k8s/secrets-config.yml
kubectl apply -f k8s/secrets-secret.yml
kubectl apply -f k8s/secret-challenge-deployment.yml
while [[ $(kubectl get pods -l app=secret-challenge -o 'jsonpath={..status.conditions[?(@.type=="Ready")].status}') != "True" ]]; do echo "waiting for secret-challenge" && sleep 2; done
kubectl port-forward
(kubectl get pod -l app=secret-challenge -o jsonpath="{.items[0].metadata.name}")
8080:8080

теперь вы можете использовать предоставленные IP-адрес и порт для дальнейшей игры с вариантом K8s (вместо localhost).

  • localhost:8080/challenge/5
  • localhost:8080/challenge/6

Упражнения с vault на minikube

Можно использовать для задач 1-8, 12-16

Убедитесь, что у вас установлено следующее:

  • minikube с docker (или закомментируйте строку 8 и работайте с собственной настройкой k8s),
  • docker,
  • helm
  • kubectl
  • jq
  • vault
  • grep, Cat и Sed

Запустите ./k8s-vault-minkube-start.sh, когда скрипт будет завершен, вызовы будут ждать вас по адресу http://localhost:8080.

Это позволит вам выполнять задания 1-8, 12-15.

Если вы остановили скрипт k8s-vault-minikube-start.sh и хотите возобновить проброс порта, запустите: k8s-vault-minikube-resume.sh.

Это связано с тем, что если вы снова запустите скрипт start, он заменит секрет в хранилище и не обновит приложение secret-challenge новым секретом.

Хотите играть без подсказок?

Вкаждой задаче есть кнопка ” Show hints ” и кнопка “What’s wrong??”.

Эти кнопки помогают упростить задачу и дать объяснение читателю.

Однако объяснения могут испортить удовольствие, если вы хотите сделать это в качестве упражнения по взлому.

Поэтому вы можете управлять ими, переопределив следующие настройки в вашем env:

  • hints_enabled=false отключит кнопку Show hints.
  • reason_enabled=false отключит кнопку объяснения “What’s wrong?

см. также:

Добавить комментарий