Утечка данных покупателей магазинов re:Store, Samsung, Sony Centre, Nike, LEGO и Street Beat

На прошлой неделе издание Коммерсантъ сообщило, что «базы клиентов Street Beat и Sony Centre оказались в открытом доступе», но на самом деле все гораздо хуже, чем написано в статье.

_5ahrixzo54mvxml0nwgdf_4ze8.jpeg

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

Дисклеймер: вся информация ниже публикуется исключительно в образовательных целях. Автор не получал доступа к персональным данным третьих лиц и компаний. Информация взята либо из открытых источников, либо была предоставлена автору анонимными доброжелателями.

В свободном доступе оказался очередной сервер Elasticsearch с индексами:


  • graylog2_0
  • readme
  • unauth_text
  • http:
  • graylog2_1

В graylog2_0 содержались логи начиная с 16.11.2018 по март 2019, а в graylog2_1 – логи начиная с марта 2019 и по 04.06.2019. До момента закрытия доступа к Elasticsearch, количество записей в graylog2_1 росло.

По данным поисковика Shodan этот Elasticsearch находился в свободном доступе с 12.11.2018 (при этом, как написано выше, первые записи в логах датированы 16.11.2018).

В логах, в поле gl2_remote_ip были указаны IP-адреса 185.156.178.58 и 185.156.178.62, с DNS-именами srv2.inventive.ru и srv3.inventive.ru:

q6lhbeunxcknnma6gm1agzb2hhs.jpeg

Я оповестил Inventive Retail Group (www.inventive.ru) о проблеме 04.06.2019 в 18:25 (МСК) и к 22:30 сервер «тихо» исчез из свободного доступа.

В логах содержалось (все данные – оценочные, дубли из подсчетов не удалялись, поэтому объем реальной утекшей информации скорее всего меньше):


  • более 3 млн. адресов электронной почты покупателей магазинов re:Store, Samsung, Street Beat и Lego


  • более 7 млн. телефонов покупателей магазинов re:Store, Sony, Nike, Street Beat и Lego


  • более 21 тыс. пар логин/пароль от личных кабинетов покупателей магазинов Sony и Street Beat.


  • большинство записей с телефонами и электронной почтой также содержали ФИО (часто латиницей) и номера карт лояльности.


Вот пример из лога, относящийся к клиенту магазина Nike (все чувствительные данные заменены на символы «Х»):

"message": "{\"MESSAGE\":\"[URI] /personal/profile/[МЕТОД ЗАПРОСА] contact[ДАННЫЕ POST] Array\\n(\\n    [contact[phone]] => +7985026XXXX\\n    [contact[email]] => XXX@mail.ru\\n    [contact[channel]] => \\n    [contact[subscription]] => 0\\n)\\n[ДАННЫЕ  GET] Array\\n(\\n    [digital_id] => 27008290\\n    [brand] => NIKE\\n)\\n[ОТВЕТ СЕРВЕРА] Код ответа - 200[ОТВЕТ СЕРВЕРА] stdClass Object\\n(\\n    [result] => success\\n    [contact] => stdClass Object\\n        (\\n            [phone] => +7985026XXXX\\n            [email] => XXX@mail.ru\\n            [channel] => 0\\n            [subscription] => 0\\n        )\\n\\n)\\n\",\"DATE\":\"31.03.2019 12:52:51\"}",

А вот пример того, как в логах хранились логины и пароли от личных кабинетов покупателей на сайтах sc-store.ru и street-beat.ru:

"message":"{\"MESSAGE\":\"[URI]/action.php?a=login&sessid=93164e2632d9bd47baa4e51d23ac0260&login=XXX%40gmail.com&password=XXX&remember=Y[МЕТОД ЗАПРОСА] personal[ДАННЫЕ  GET] Array\\n(\\n    [digital_id] => 26725117\\n    [brand]=> SONY\\n)\\n[ОТВЕТ СЕРВЕРА] Код ответа - [ОТВЕТ СЕРВЕРА] \",\"DATE\":\"22.04.2019 21:29:09\"}"

Официальное заявление IRG по данному инциденту можно почитать тут. Вот выдержка из него:


Мы не могли оставить этот момент без внимания и сменили пароли к личным кабинетам клиентов на временные, во избежание возможного использования данных из личных кабинетов в мошеннических целях. Утечки персональных данных клиентов street-beat.ru компания не подтверждает. Оперативно были проверены дополнительно все проекты Inventive Retail Group. Угрозы для персональных данных клиентов не обнаружены.

Плохо, что в IRG не могут разобраться с тем, что утекло, а что нет. Вот пример из лога, относящийся к клиенту магазина Street Beat:

"message": "{\"MESSAGE\":\"'DATA' => ['URI' => /local/components/multisite/order/ajax.php,'МЕТОД ЗАПРОСА' = contact,'ДАННЫЕ POST' = Array\\n(\\n    [contact[phone]] => 7915545XXXX\\n)\\n,'ДАННЫЕ  GET' =\\n\\t\\tArray\\n(\\n    [digital_id] => 27016686\\n    [brand] => STREETBEAT\\n)\\n,'ОТВЕТ СЕРВЕРА' = 'Код ответа - '200,'RESPONCE' = stdClass Object\\n(\\n    [result] => success\\n    [contact] => stdClass Object\\n        (\\n            [phone] => +7915545XXXX\\n            [email] => XXX@gmail.com\",\"Дата\":\"01.04.2019 08:33:48\"}",

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

Если внимательно присмотреться к индексам данного свободно доступного Elasticsearch, то можно в них заметить два имени: readme и unauth_text. Это характерный признак одного из многочисленных скриптов-вымогателей. Им поражено более 4 тыс. серверов Elasticsearch по всему миру. Вот содержимое readme:

"ALL YOUR INDEX AND ELASTICSEARCH DATA HAVE BEEN BACKED UP AT OUR SERVERS, TO RESTORE SEND 0.1 BTC TO THIS BITCOIN ADDRESS 14ARsVT9vbK4uJzi78cSWh1NKyiA2fFJf3 THEN SEND AN EMAIL WITH YOUR SERVER IP, DO NOT WORRY, WE CAN NEGOCIATE IF CAN NOT PAY"

За время пока сервер с логами IRG находился в свободном доступе, к информации клиентов точно получал доступ скрипт-вымогатель и, если верить оставленному им сообщению, данные были скачены.

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

Новости про утечки информации и инсайдеров всегда можно найти на моем Telegram-канале «Утечки информации»: https://t.me/dataleak.

Дата: 2019-06-12 06:51:41

Источник: https://habr.com/ru/post/455792/