Уязвимости GeekBrains: Зачем платить деньги за курсы если их можно просто скачать?



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


Предыстория



Вечерами, в перерывах между чтением школьной литературы на лето, я участвовал в bug bounty программе от Mail.ru Group.

Я искал новые поддомены и сервисы которыми владеют Mail.ru, на них довольно часто встречаются разного рода уязвимости.

На тот момент я уже знал об образовательном IT проекте GeekBrains, не думал что смогу выцепить там что-то интересное, но я ошибался.

API



Углубившись в тестирование личного кабинета пользователя, я сразу наткнулся на API сервиса.

С помощью DIRB я вышел на метод projects, перебирая id проектов я выпал на любопытный URL.



Это открытый Amazon S3 bucket. На нём в «свободном доступе» лежат материалы и учебная литература практически ко всем курсам ресурса.



Вот например презентация к курсу «Информационная Безопасность»

Или вот, домашняя работа ученика курса «Java developer»



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

Идём дальше



Рассуждая логически, если у них есть один S3 бакет значит, возможно, есть и другие!

На этом этапе воспользовался lazys3. Довольно удобный инструмент для поиска S3 бакетов.

После перебора я обнаружил еще один бакет, это был geekbrains-uploads.s3.amazonaws.com

К сожалению прямой просмотр файлов недоступен, но есть возможность загрузить свой.

С помощью стандартной AWS утилиты заливаем на сервер TXT файл.

aws s3 mv xalerafera.txt s3://geekbrains-uploads




Сюда можно залить исполняемый файл или другую гадость.

На этом моменте я зарепортил уязвимости, а спустя несколько дней я получил за них выплаты.

Помимо этих двух дыр, я обнаружил еще XSS в личных сообщениях.

Есть еще одна уязвимость, о которой хотелось бы рассказать, но она всё ещё Triaged.

Итоги



Закрывайте ваши S3 бакеты, это может привести к серьезным потерям.

Хочу поблагодарить AlexShmel, за помощь в написании статьи.

Similar posts

Ads
AdBlock has stolen the banner, but banners are not teeth — they will be back

More

Comments 25

    +27
    Особенно иронично слить оттуда курс по ИБ
      +2

      Все для статьи ;)

      0
      Не совсем понятно почему uploads.hb.cldmail.ru — Amazon S3 bucket. IP у него mail.ru-шный, хотя ответ сейчас похож на Amazon-овский
        0

        Я сам сначала не понял что это, обычно s3 бакеты выглядят следуйщем образом [бакет].s3.amazonaws.com, но тут видимо что то кастомное.

          0
          Ну да, вероятно своя реализация Bucket'а, но не Amazon :-)
            +1

            Нет, это как раз таки был Amazon )

              0
              Либо они используют совместимый с Amazon API… Интересно, в общем :-)
                0

                Ага )

                  0

                  https://github.com/minio/minio


                  Вот популярное решение, которое совместимо с S3, разворачивается в пару команд.

                  0
                  deleted
                    0

                    Лень было настраивать все через MCS ;) Решили не заморачиваться и накатить простой Amazon бакет )

                  0
                  Нене, IP пренадлежит mailru check-host.net/ip-info?host=uploads.hb.cldmail.ru
                  Возможно это self hosted бакет как minio где неправильно права настроили :)
                0

                https://mcs.mail.ru/storage/
                Они щаявляют совместимость с S3, видимо и маскируются, чтобы программы работали как с S3.

                +2

                Если бы не пример с использованием aws cli без --endpoint в статье, я бы предположил, что это кусок облака mail.ru. У них есть s3-совместимое хранилище (со своими особенностями, но для простых операций не отличить)

                0
                У MCS ведь есть свой S3 хостинг, почему они используют Amazon? :)
                  0

                  Хрен его знает ))))

                    0
                    uploads.hb.cldmail.ru это всё же сервер MCS, а не Амазона
                    Свой хостинг они используют
                      0

                      Да, но видимо они еще используют API Амазона на этом домене.


                        0

                        Может это просто версия объекта амазон-совместимого хранилища?
                        Вывод о проксировании на Амазон как минимум беспочвенный и голословныйй

                    0
                    потому что изначально GeekBrains были отдельной компанией.
                    Потом Mail.ru их выкупил.
                    А вообще у MCS есть S3-like хранилище. Видимо и синтаксис схожий, чтобы можно было использовать одинаковые библиотеки
                    +2
                    Заголовок немного желтоват, не?
                      0

                      Та не норм вроде )

                      0
                      А где актуальная ссылка чтобы выкачать курсы? )
                        –8

                        Ненада, иначе мое очко пробьют ;)

                          +2
                          Эх молодняк, научись иметь уважение к себе, прежде всего.

                      Only users with full accounts can post comments. Log in, please.