Xakep #305. Многошаговые SQL-инъекции
Недавно на хакерском форуме появилось объявление о продаже данных 15 115 516 пользователей Trello. Хотя почти все данные, представленные в этом дампе, являются общедоступными, это не касается адресов электронной почты, связанных с профилями пользователей. ИБ-исследователи выяснили, что хакер использовал общедоступный API Trello для связывания почтовых адресов с профилями людей.
Новости об утечке данных Trello появились еще на прошлой неделе, когда человек под ником emo попытался продать данные 15 млн пользователей Trello.
«[Дамп] содержит email-адреса, имена пользователей, полные имена и другую информацию об учетных записях. 15 115 516 уникальных строк», — писал хакер в своем объявлении.
Когда журналисты издания Bleeping Computer связались с Trello по поводу этой утечки, в компании сообщили, что данные были получены не в результате несанкционированного доступа к системам Trello, а путем обычного скапинга публично доступной информации.
«Все улики указывают на то, что злоумышленник сверил заранее составленный список адресов электронной почты с общедоступными профилями пользователей Trello, — заявили разработчики. — Мы проводим всестороннее расследование и не нашли никаких доказательств несанкционированного доступа к Trello или профилям пользователей».
Однако история о том, как злоумышленнику удалось проверить адреса электронной почты, оказалась не совсем обычной. Журналисты связались с самим emo, и тот сообщил, что для проверки email-адресов воспользовался публично доступным API компании. Так, Trello предоставляет REST API, который позволяет разработчикам интегрировать сервис в свои приложения. И один из эндпоинтов этого API позволяет запрашивать публичную информацию о профиле человека на основе Trello ID или имени пользователя.
Однако emo обнаружил, что можно запросить эндпоинт API, используя адрес электронной почты. И, если существует связанный с ним аккаунт, получить информацию об этом публичном профиле. Причем упомянутый API оказался общедоступным, то есть не требовал входа в аккаунт Trello или использования ключа аутентификации API.
Используя этот метод, emo создал список из 500 млн адресов электронной почты и направил их API, чтобы определить, связаны ли они с аккаунтами Trello.
Хотя изданию сообщили, что API Trello имеет ограничение по скорости на один IP-адрес, злоумышленник рассказал, что закупил прокси для ротации соединений, чтобы запрашивать API непрерывно.
Журналисты отмечают, что с тех пор API был усилен и теперь требует аутентификации, но он по-прежнему доступен любому, кто создаст бесплатный аккаунт. Так, Bleeping Computer повторно связался с представителями Trello, чтобы узнать, намерены ли они дополнительно защитить проблемный API, чтобы предотвратить злоупотребления, и они поделились следующим заявлением:
«Благодаря Trello REST API пользователи могли приглашать участников или гостей на свои публичные доски по адресу электронной почты. Однако, учитывая злоупотребление API, выявленное в ходе расследования, мы внесли изменения, благодаря которым неаутентифицированные пользователи/сервисы более не могут запрашивать публичную информацию другого пользователя по электронной почте. Аутентифицированные пользователи по-прежнему могут запрашивать информацию, которая находится в открытом доступе в профиле другого пользователя, используя этот API».
Сервис оповещения об утечках данных Have I Been Pwned уже добавил связанные с этой утечкой email-адреса в свою базу, так что пользователи могут проверить, попала ли их почта в этот дамп.