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





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


Предыстория



Вечерами, в перерывах между чтением школьной литературы на лето, я участвовал в 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, за помощь в написании статьи.

Вы можете помочь и перевести немного средств на развитие сайта



Комментарии (25):

  1. aszhitarev
    /#20646189 / +5

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

  2. vilgeforce
    /#20647309

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

    • xaleraf4ra
      /#20647363

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

      • tmin10
        /#20649161

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

    • zeldigas
      /#20647373 / +2

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

  3. Sovetnikov
    /#20647591

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

    • xaleraf4ra
      /#20647647

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

      • Sovetnikov
        /#20647685

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

        • xaleraf4ra
          /#20647751

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


          • gecube
            /#20648689

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

    • iGeophysix
      /#20649329

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

  4. Artifeks
    /#20649065 / +1

    Заголовок немного желтоват, не?

  5. playnet
    /#20649115 / -1

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

    • xaleraf4ra
      /#20649337

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

      • intrud3r
        /#20657567

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