Верхнее

I don't believe you

Как я проверял, что уязвимость у Банка Тинькофф была уязвимостью

В прошлом месяце я описывал потенциальную уязвимость в сервисе по рассылке ежемесячных выписок Банка Тинькофф. Кратко напомню, что суть состояла в том, что на странице, куда переходил пользователь из письма от банка, присутствовали встроенные сервисы рекламы и статистики, которые вместе с пользователем (а ссылка не требовала авторизации и открывалась по простому клику) потенциально могли получить доступ к его pdf-файлу с выпиской (подробнее здесь: Хороший плохой Тинькофф Банк).

История, в целом, закончилась хорошо — банк по итогам обращения коллеги из УЦСБ и моей переписки c его официальным аккаунтом в Твиттере благополучно уязвимость исправил (@tinkoff_bank даже теперь на меня подписан в твиттере, что, несомненно, приятно).

Единственным нюансом, якобы показывающим ложность найденной уязвимости, был комментарий в Facebook от представителя компании Лаборатории Касперского о том, что настройки на стороне Банка Тинькофф предполагали, что ссылка должна открываться без авторизации только на тех устройствах, с которых пользователь ранее входил в Интернет-банк.

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

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

Итак, ссылка в письме имеет вид:
http://click.email.tinkoff.ru/?qs=19b5ed2250b0f0f239573633916015835caeb406686ac991dbaeb05216da9d159fee8cf03c43b0df
(ссылка нерабочая, так как я её придумал сам, подобрав внешне похожую).

После её открытия пользователь оказывался на странице с адресом типа такого:
https://www.tinkoff.ru/statement/?ticket=746F5GFADF27B494BA7AB71B1E9DCD7EDC90CD30F808778E031742F8B8C23F554F
(ссылка нерабочая, т.к. см. выше).

Наконец, на самой странице отрабатывал скрипт, который по ссылке совсем уж сложного вида скачивал PDF-файл. Ссылка на файл получалась примерно такой:
https://www.tinkoff.ru/api/v1/statement_file/?sessionid=njGVfr37h8jk96sFii8M4Lz8fm0b90LS.m1-api03&account=9836386326&statementId=987545912&scenario=portal_statement
(см. выше)

Вторую и третью ссылку (в отличие от той первой, что была в самом письме) должен знать только пользователь, а для сторонних сервисов она, согласно комментарию специалистов ЛК, должна быть нерабочей, так как с их устройств явно не проводилось никакой авторизации в интернет-банке Банка Тинькофф.

Тем не менее, скачав и запустив Tor Browser (одно из самых простых и удобных средств для анонимизации себя в сети Интернет) я с лёгкостью убедился, что скормленные ему вторая и даже третья ссылки прекрасно позволяют скачать PDF-файл с выпиской.

Для полноты картины добавлю, что Tor Browser запускался в виртуальной машине, установленной на моём ноутбуке, находящемся в это время вместе со мной в другой стране — в Армении на Партнёрской конференции ИнфоВотч (про неё чуть позже отдельно напишу). Из данной виртуальной машины вообще ни разу не осуществлялась авторизация в Интернет-банке Банка Тинькофф, а Tor Browser и вовсе был скачан за пять минут до начала эксперимента.

В общем, мне трудно представить, как именно отслеживает Банк Тинькофф те самые устройства, с которых ранее происходил вход.

Полная цитата Aleks Gostev в Facebook:

«т.е. открывается без запроса логина/пароля и позволяет скачать выписку любому, кто знает правильный адрес ссылки.» — на самом деле нет. Мы эту «багу» в первый же день отловили. Там нормальные куки и проверки на авторизацию — так что с другой машины ссылка не работает.

Как куки с бразуера хоста попали в куки браузера Tor  Browser виртуальной машины я не знаю. Разве что у меня на ноутбуке уже давно работает троян от Тинькофф? =) Среди клиентов Hacking Team я их не видел, купили у кого-то другого? =)

Сейчас уже принципиального значения данный эксперимент не имеет, так как Банк всё исправил. Вернее, он имеет разве что как раз только принципиальное значение — как демонстрация того, что уязвимость была =)

, , , ,