Массовое ограбление покупателей Fix-Price

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

Массовое ограбление покупателей Fix-Price Fix price, Ограбление, Хакеры, Взлом, Длиннопост

Где то в начале лета с бонусной карты моего друга были сняты все бонусы в размере ~800р, для студента это огромные деньги которые он копил целый год, и мне стало интересно, как злоумышленникам удалось это сделать. Зайдя в личный кабинет мне было предложено скачать электронную версию карты в виде картинки на телефон. И вот тут то я осознал всю масштабность трагедии! Начнём расследование с самого начала:


Первый фактор: Слабые пароли.


Уязвимость, которая не поддаётся закрытию — сам человек. Я связался с продавцом взломанных аккаунтов и он прислал мне пароли на которые чаще всего попадались аккаунты:


1) Номер телефона без восьмёрки/семёрки


2) Номер телефона с 8, 7, +7


3) 123456


4) 123456789


5) 1234567890


6) qwerty


7) fixprice


8) 111111


9) 222222


10) 12345678


11) 1234567


12) 666666


13) 123123


Пароли отсортированы по популярности. Зайдя на сайт, можно было узнать персональные данные, такие как: почту, номер телефона, дату рождения, ФИО и адрес.


Второй фактор: Проверка номера через сайт


Где взять базу номеров для брута? Вот тут магазин очень сильно облегчил злоумышленникам работу. При авторизации отправлялся всего 1 POST запрос на URL следующего вида:


bonus.fix-price/login


В ответ приходил коротенький JSON который содержал исчерпывающий ответ:


1) Номер не зарегистрирован


2) Почта не зарегистрирована


3) Неверный пароль


4) Внутренняя ошибка сервера


До сих пор сайт помогает проверить номер выдавая ответ «клиент не найден», так же можно было проверить номер на другом поддомене:


konkurs.fix-price/profile/checkmail?email=&phone=


Он сейчас не работает, но раньше там была каптча, обойти которую не составляло проблем — можно было ввести её один раз и посылать кучу запросов. Таким способом, за сутки, злоумышленник перебирал ВСЕ диапазоны номеров небольшого города.


Третий фактор: Бруть без проблем


Сайт никак не блокировал брут с одного IP. Можно было поставить программу на взломанный компьютер и пить чифир не заботясь о прокси. Опять же, за день можно было перебрутить все логины которые нашли на этапе выше.


Кстати, администрацию интересуют масштабы:

Массовое ограбление покупателей Fix-Price Fix price, Ограбление, Хакеры, Взлом, Длиннопост

Думаю и читателей тоже заинтересуют. После моего вопроса о количестве аккаунтов, злоумышленник который занимался их продажей назвал цифру: 30 000. 30 тысяч аккаунтов было взломано всего за 3 месяца!


Общий баланс этих аккаунтов, по его словам, составляет порядка полумиллиона рублей.


Так же была собрана не хилая база номеров размером в более чем миллион записей! На каждый город примерно по 50 тысяч. Возможно, злоумышленник будет продавать эту базу спамерам (или уже продал).


Четвёртый фактор: генерируй штрихкоды сам


Сгенерировать штрихкод? Нет ничего проще:


hash:=sha256(2041 + номер карты)


GET bonus.fix-price/assets/fixprice/images/barcode/%hash%.png


Таким образом можно было украсть чужую карту просто зная её номер! Круто правда? Магазин заботится о безопасности своих покупателей!


Пятый фактор: Сотрудники магазина


Я просто оставлю это здесь:

Массовое ограбление покупателей Fix-Price Fix price, Ограбление, Хакеры, Взлом, Длиннопост

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


События последних 5-ти месяцев


Как только я узнал о проблеме — сразу написал им, но за всё лето так и не получил ответа. Хотел позвонить, но зная старую мудрость «делай добро и беги» я не стал этого делать.


Где то в сентябре они прикрутили облако через которое шёл весь трафик, но сделали это так криво, что можно было брутить через другой поддомен, чем собственно и пользовались злоумышленники.


Примерно месяц назад какой то пользователь выложил огромное количество аккаунтов в продажу, первая половина школьников мигом ринулись запускать IDE и клепать свои бруты, а вторая половина устремилась в магазин обналичивать купленные за 10-15% от баланса карты. В итоге сайт лежал постоянно. И вот спустя неделю было принято такое решение:

Массовое ограбление покупателей Fix-Price Fix price, Ограбление, Хакеры, Взлом, Длиннопост

А потом такое:

Массовое ограбление покупателей Fix-Price Fix price, Ограбление, Хакеры, Взлом, Длиннопост

Заключение



Пострадали в первую очередь покупатели, телефоны всех кто регистрировался на сайте в руках у нехорошего человека, магазин мало того, что не вернул деньги, так вообще отключил всю бонусную систему! Хочу напомнить, что балансы начали пропадать как минимум в начале лета! В их группе вконтакте пользователи дико негодуют по этому поводу и обвиняют магазин во всех смертных грехах, да и если подумать, то правильно делают, если бы магазин отреагировал на моё письмо сразу же — можно было избежать такого развития событий.

2
Автор поста оценил этот комментарий

ограбление? кому-то угрожали?

Автор поста оценил этот комментарий

С хабра же

DELETED
Автор поста оценил этот комментарий
В перекрестке тоже прекратили списание баллов с моб.приложения времено.
Автор поста оценил этот комментарий
Бля это ж надо кому-то приложение фикспрайса качать
Автор поста оценил этот комментарий
Я не понял. Наладить выпуск пластиковых карт сложно?как во всех магазинах нормальных?