Сотни тысяч платежей граждан в ГИБДД и ФССП находились в открытом доступе

отметили
35
человек
в архиве

Медицинские данные – были, данные по кредитам – были, на этот раз пришла очередь данных по платежам за штрафы ГИБДД и задолженности по исполнительным производствам службы судебных приставов.

источник: habrastorage.org

 

Хорошая новость в том, что эти платежи не связаны с официальным сайтом Госуслуг. Плохая новость – данных много, и они более чем «персональные».

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

 

12-го апреля (ночью) был обнаружен сервер Elasticsearch, не требующий аутентификации для подключения. Про то, как обнаруживают открытые базы Elasticsearch я писал заметку в блоге.

 

источник: habrastorage.org

 

В индексах Elasticsearch содержались логи некой информационной системы (ИС). Было сделано предположение о связи данного сервера с сайтами, принимающими оплату в пользу различных госсервисов: оплатагибдд.рф, paygibdd.ru, gos-oplata.ru, штрафов.net и oplata-fssp.ru.

 

Утром 13.04.2019 я отправил оповещение по адресам электронной почты: support@gos-oplata.ru, support@oplata-fssp.ru, support@paygibdd.ru, но ответа (как это часто бывает) не получил. Сервер был тихо «прикрыт» и исчез из открытого доступа 13.04.2019 около 15:20-15:45 (МСК).

 

На момент перед закрытием сервера, индексы Elasticsearch выглядели так:

 

источник: habrastorage.org

 

Теперь перейдем к самому интересному – непосредственно к персональным данным. Как я написал выше, в индексах содержались какие-то логи какой-то ИС. И как это часто бывает логи оказались очень детальными, даже слишком.

 

Логи хранились, начиная с 28.02.2019, а не за все время работы ИС. В некоторых индексах данные были с 17.03.2019.

 

Например, по логам из индекса gosoplata можно было получить вот такое (всего 248365 исключая логирование ошибок):

 

{ <span class="hljs-attr"><span class="hljs-attr">"_index"</span></span>: <span class="hljs-string"><span class="hljs-string">"gosoplata"</span></span>, <span class="hljs-attr"><span class="hljs-attr">"_type"</span></span>: <span class="hljs-string"><span class="hljs-string">"log"</span></span>, <span class="hljs-attr"><span class="hljs-attr">"@timestamp"</span></span>: <span class="hljs-string"><span class="hljs-string">"2019-03-02T20:55:02+03:00"</span></span>, <span class="hljs-attr"><span class="hljs-attr">"message"</span></span>: <span class="hljs-string"><span class="hljs-string">"Начисление найдено в ГИС"</span></span>, <span class="hljs-attr"><span class="hljs-attr">"extra"</span></span>: <span class="hljs-string"><span class="hljs-string">"[\n 'gis_info' => unserialize('O:34:\"app\\\\models\\\\payment\\\\api\\\\PenaltyInfo\":10:{s:10:\"billNumber\";s:20:\"ХХХХХ021170025955001\";s:8:\"billDate\";s:10:\"2017-04-03\";s:10:\"validUntil\";s:10:\"2017-06-03\";s:6:\"amount\";s:9:\"146030.26\";s:7:\"addInfo\";s:1424:\"Оплата долга по ИП № ХХХХХ/17/ ХХХХХ -ИП от 03.04.2017 в отношении МИХХХ Х. Х., Задолженность по кредитным платежам (кроме ипотеки)///УИН32253021170025955001_ИП0;Подразделение: УФК ПО НОВГОРОДСКОЙ ОБЛАСТИ (ОСП НОВГОРОДСКОГО, БАТЕЦКОГО И КРЕСТЕЦКОГО РАЙОНОВ УФССП РОССИИ ПО НОВГОРОДСКОЙ ОБЛАСТИ Л/С 05501845860);Получатель: УФК ПО НОВГОРОДСКОЙ ОБЛАСТИ (ОСП НОВГОРОДСКОГО, БАТЕЦКОГО И КРЕСТЕЦКОГО РАЙОНОВ УФССП РОССИИ ПО НОВГОРОДСКОЙ ОБЛАСТИ Л/С 05501845860);Банк Получателя: ОТДЕЛЕНИЕ НОВГОРОД;Номер счёта Получателя: 40302810400001000005;ИНН: 5321100670;КПП: 532132002;БИК Банка Получателя: 044959001;ОКАТО: 49625000;КБК: 0;idDebtsum:146540.26;ipPaymentAmount:0.00;ipOperationAmount:0.00;dataUnloadDate:2018-12-04T11:26:19.000;dataIdDate:2017-01-27;dataIdNumber:2-53/2017;dataIpRiseDate:2017-04-03;dataIpNumber: ХХХХХ/17/ХХХХХ-ИП;dataIdDbtrFio:МИХХХ ХХХ ХХХ;dataIdDbtrBorn:ХХХ-09-03;dataIdDebtText:Задолженность по кредитным платежам (кроме ипотеки);\";s:7:\"docName\";s:3:\"inn\";s:9:\"docNumber\";s:12:\" ХХХХХ0819584\";s:9:\"payStatus\";s:1:\"0\";s:9:\"quittance\";s:1:\"3\";s:11:\"amountToPay\";s:9:\"146030.26\";}'),\n]"</span></span>, <span class="hljs-attr"><span class="hljs-attr">"context"</span></span>: <span class="hljs-string"><span class="hljs-string">"[\n '_GET' => [],\n '_POST' => [],\n]"</span></span> } }

 

Я забил все чувствительные данные символом «Х». В реальности все хранилось в открытом виде.

 

Из индекса oplata-fssp (всего 283958 исключая ошибки):

 

{ <span class="hljs-attr"><span class="hljs-attr">"_index"</span></span>: <span class="hljs-string"><span class="hljs-string">"oplata-fssp"</span></span>, <span class="hljs-attr"><span class="hljs-attr">"_type"</span></span>: <span class="hljs-string"><span class="hljs-string">"log"</span></span>, <span class="hljs-attr"><span class="hljs-attr">"@timestamp"</span></span>: <span class="hljs-string"><span class="hljs-string">"2019-02-28T22:17:24+03:00"</span></span>, <span class="hljs-attr"><span class="hljs-attr">"extra"</span></span>: <span class="hljs-string"><span class="hljs-string">"[\n 'request_data' => [\n 'MNT_ID' => 'ХХХХХ3280',\n 'MNT_TRANSACTION_ID' => ''ХХХХХ0795c78337a5a308',\n 'MNT_OPERATION_ID' => ''ХХХХХ 3232',\n 'MNT_AMOUNT' => '544.00',\n 'MNT_CURRENCY_CODE' => 'RUB',\n 'MNT_TEST_MODE' => '0',\n 'MNT_SIGNATURE' => '6435224ccХХХХХХХ10bbc970f6479787',\n 'paymentSystem_unitId' => '1686945',\n 'MNT_CORRACCOUNT' => '303',\n 'MNT_PAY_SYSTEM' => 'payanyway',\n 'MNT_IS_REGULAR' => '',\n 'MNT_FORM_METHOD' => 'POST',\n 'cardnumber' => '639002********7417',\n ],\n 'model_attributes' => [\n 'id' => 482137,\n 'parent_id' => null,\n 'name' => 'ПОХХХ ГАЛИНА ГХХХ',\n 'ur' => 0,\n 'birthdate' => 'ХХХХ-06-06',\n 'doc_type' => null,\n 'doc_value' => null,\n 'hash' => ''ХХХХХ795c78337a5a308',\n 'created_at' => '2019-02-28 22:16:10',\n 'form_url' => 'https://service.moneta.ru/assistant.widget? 'ХХХХХ&MNT_CURRENCY_CODE=RUB&MNT_AMOUNT=544.00&MNT_DESCRIPTION=Оплата задолженности ФССП. Заказ N482137 УИН: 32223088190136500007 Делопроизводство: ХХХХХХ/19/ХХХХХ-ИП&MNT_TEST_MODE=0&'ХХХХХ &MNT_SUCCESS_URL=https://oplata-fssp.ru/payment/success&MNT_FAIL_URL=https://oplata-fssp.ru/payment/fail&MNT_PAY_SYSTEM=payanyway&MNT_IS_REGULAR=&MNT_FORM_METHOD=POST&followup=true',\n 'email' => ''ХХХХХ@bk.ru',\n 'payment_system_id' => 'moneta',\n 'transaction_id' => '338533232',\n 'updated_at' => '2019-02-28 22:16:16',\n 'a3_order_hash' => null,\n 'receipt_send' => null,\n 'receipt_status_id' => null,\n 'payment_status_id' => 'callback_received',\n 'lead_source' => 'fssp',\n ],\n]"</span></span>, <span class="hljs-attr"><span class="hljs-attr">"context"</span></span>: <span class="hljs-string"><span class="hljs-string">"[\n '_GET' => [],\n '_POST' => [\n 'MNT_ID' => ''ХХХХХ280',\n 'MNT_TRANSACTION_ID' => ''ХХХХХ795c78337a5a308',\n 'MNT_OPERATION_ID' => ''ХХХХХ3232',\n 'MNT_AMOUNT' => '544.00',\n 'MNT_CURRENCY_CODE' => 'RUB',\n 'MNT_TEST_MODE' => '0',\n 'MNT_SIGNATURE' => '6435224cc'ХХХХХ10bbc970f6479787',\n 'paymentSystem_unitId' => ''ХХХХХ45',\n 'MNT_CORRACCOUNT' => '303',\n 'MNT_PAY_SYSTEM' => 'payanyway',\n 'MNT_IS_REGULAR' => '',\n 'MNT_FORM_METHOD' => 'POST',\n 'cardnumber' => '639002********7417',\n ],\n]"</span></span> } }

 

Тут видно (значение cardnumber), что от утечки полных номеров кредитных карт, их владельцев уберегло только то, что шлюз оплаты (в данном случае moneta.ru) не отдавал данной ИС номера в открытом виде (только первые 6 и последние 4 цифры номера карты).

 

Также из логов было видно, что официальный сайт ФССП предлагает гражданам проводить платежи через данную ИС: is.fssprus.ru/pay/?service=gosoplata&pay=ХХХХХХ/18/ХХХХХХ-IP. Что косвенно подтверждается текстом в самом низу сайта oplata-fssp.ru:

 

источник: habrastorage.org

 

Теперь посмотрим, что там с штрафами за ПДД. Явно за это ответчают индексы shtrafov-net (4528 записей исключая ошибки) и paygibdd (140666 записей исключая ошибки):

 

{ <span class="hljs-attr"><span class="hljs-attr">"_index"</span></span>: <span class="hljs-string"><span class="hljs-string">"shtrafov-net"</span></span>, <span class="hljs-attr"><span class="hljs-attr">"_type"</span></span>: <span class="hljs-string"><span class="hljs-string">"log"</span></span>, <span class="hljs-attr"><span class="hljs-attr">"@timestamp"</span></span>: <span class="hljs-string"><span class="hljs-string">"2019-03-17T17:16:51+03:00"</span></span>, <span class="hljs-attr"><span class="hljs-attr">"message"</span></span>: <span class="hljs-string"><span class="hljs-string">"INSERT INTO customer (doc_type, doc_value, licence_plate, vehicle_model) VALUES ('ctc', '99026ХХХХХ', 'УХХХРМХХ', 'ЛЕНД РОВЕР РЕЙНДЖ РОВЕР')"</span></span>, <span class="hljs-attr"><span class="hljs-attr">"context"</span></span>: <span class="hljs-string"><span class="hljs-string">"[\n '_GET' => [],\n '_POST' => [\n 'postdate' => '10/03/2019',\n 'postnum' => '18810018180002ХХХХХХ',\n 'postsum' => '1000',\n 'divid' => '1194040',\n 'uin' => '18810018180002ХХХХХХ',\n 'regnum' => 'УХХХРМ',\n 'regreg' => '1Х',\n 'reg' => 'ХХХХХ34084',\n 'discount' => '1',\n 'discountdate' => '01/04/2019 23:59:59',\n 'allfines' => '[{\"Discount\":\"1\",\"enableDiscount\":false,\"DateDecis\":\"2019-03-10 09:05:00\",\"KoAPcode\":\"12.6\",\"DateDiscount\":\"01/04/2019 23:59:59\",\"VehicleModel\":\"ЛЕНД РОВЕР РЕЙНДЖ РОВЕР\",\"KoAPtext\":\"УПРАВЛЕНИЕ ТРАНСПОРТНЫМ СРЕДСТВОМ ВОДИТЕЛЕМ, НЕ ПРИСТЕГНУТЫМ РЕМНЕМ БЕЗОПАСНОСТИ, ПЕРЕВОЗКА ПАССАЖИРОВ, НЕ ПРИСТЕГНУТЫХ РЕМНЯМИ БЕЗОПАСНОСТИ, ЕСЛИ КОНСТРУКЦИЕЙ ТРАНСПОРТНОГО СРЕДСТВА ПРЕДУСМОТРЕНЫ РЕМНИ БЕЗОПАСНОСТИ, А РАВНО УПРАВЛЕНИЕ МОТОЦИКЛОМ ЛИБО ПЕРЕВОЗКА НА МОТОЦИКЛЕ ПАССАЖИРОВ БЕЗ МОТОШЛЕМОВ ИЛИ В НЕЗАСТЕГНУТЫХ МОТОШЛЕМАХ\",\"NumPost\":\"18810018180002ХХХХХХ\",\"kbk\":\"18811630020016000140\",\"Summa\":1000,\"Division\":1194040,\"enablePics\":false,\"id\":\"18#FF474785255\",\"SupplierBillID\":\"18810018180002ХХХХХХ\",\"DatePost\":\"10/03/2019\"},{\"Discount\":\"1\",\"enableDiscount\":false,\"DateDecis\":\"2019-03-08 14:55:00\",\"KoAPcode\":\"12.9ч.2\",\"DateDiscount\":\"01/04/2019 23:59:59\",\"VehicleModel\":\"ЛЕНД РОВЕР РЕЙНДЖ РОВЕР\",\"KoAPtext\":\"ПРЕВЫШЕНИЕ УСТАНОВЛЕННОЙ СКОРОСТИ ДВИЖЕНИЯ ТРАНСПОРТНОГО СРЕДСТВА НА ВЕЛИЧИНУ БОЛЕЕ 20, НО НЕ БОЛЕЕ 40 КМ/Ч\",\"NumPost\":\"18810118190312ХХХХХХ\",\"kbk\":\"18811630020016000140\",\"Summa\":500,\"Division\":1194010,\"enablePics\":true,\"id\":\"18#18810118190312ХХХХХХ\",\"SupplierBillID\":\"18810118190312ХХХХХХ\",\"DatePost\":\"12/03/2019\"}]',\n ],\n]"</span></span> } { <span class="hljs-attr"><span class="hljs-attr">"_index"</span></span>: <span class="hljs-string"><span class="hljs-string">"paygibdd"</span></span>, <span class="hljs-attr"><span class="hljs-attr">"_type"</span></span>: <span class="hljs-string"><span class="hljs-string">"log"</span></span>, <span class="hljs-attr"><span class="hljs-attr">"@timestamp"</span></span>: <span class="hljs-string"><span class="hljs-string">"2019-02-28T17:30:57+03:00"</span></span>, <span class="hljs-attr"><span class="hljs-attr">"message"</span></span>: <span class="hljs-string"><span class="hljs-string">"Входящий запрос на оплату"</span></span>, <span class="hljs-attr"><span class="hljs-attr">"extra"</span></span>: <span class="hljs-string"><span class="hljs-string">"[\n 'request_data' => [\n 'postdate' => '02.10.2017',\n 'postnum' => '188101161710029ХХХХХ',\n 'postsum' => '500',\n 'divid' => '1192201',\n 'uin' => '188101161710029ХХХХХ',\n 'regnum' => 'XХХХCB',\n 'regreg' => '1ХХ',\n 'reg' => '16462ХХХХХ',\n 'discount' => '1',\n 'discountdate' => '2017-10-23 23:59:59',\n 'allfines' => '[{\"Discount\":\"0\",\"DateDecis\":\"2016-12-17 02:30:00\",\"KoAPcode\":\"12.26ч.1\",\"KoAPtext\":\"НЕВЫПОЛНЕНИЕ ВОДИТЕЛЕМ ЗАКОННОГО ТРЕБОВАНИЯ СОТРУДНИКА ПОЛИЦИИ О ПРОХОЖДЕНИИ МЕДИЦИНСКОГО ОСВИДЕТЕЛЬСТВОВАНИЯ НА СОСТОЯНИЕ ОПЬЯНЕНИЯ\",\"NumPost\":\"188104121603000ХХХХХ\",\"kbk\":\"18811630020016000140\",\"Summa\":\"30000\",\"Division\":1188030,\"enablePics\":false,\"id\":\"12#FF176064188\",\"SupplierBillID\":\"188104121603000ХХХХХ\",\"DatePost\":\"2017-03-06\",\"DateSSP\":null},{\"Discount\":\"1\",\"enableDiscount\":false,\"DateDecis\":\"2017-09-18 14:32:00\",\"KoAPcode\":\"12.9ч.2\",\"DateDiscount\":\"2017-10-23 23:59:59\",\"KoAPtext\":\"ПРЕВЫШЕНИЕ УСТАНОВЛЕННОЙ СКОРОСТИ ДВИЖЕНИЯ ТРАНСПОРТНОГО СРЕДСТВА НА ВЕЛИЧИНУ БОЛЕЕ 20, НО НЕ БОЛЕЕ 40 КМ/Ч\",\"NumPost\":\"188101161710029ХХХХХ\",\"kbk\":\"18811630020016000140\",\"Summa\":\"500\",\"Division\":1192201,\"enablePics\":true,\"id\":\"16#43522519023478911ХХХХХ\",\"SupplierBillID\":\"188101161710029ХХХХХ\",\"DatePost\":\"2017-10-02\",\"DateSSP\":null},{\"Discount\":\"1\",\"enableDiscount\":false,\"DateDecis\":\"2017-11-01 04:23:00\",\"KoAPcode\":\"12.9ч.2\",\"DateDiscount\":\"2017-11-24 23:59:59\",\"KoAPtext\":\"ПРЕВЫШЕНИЕ УСТАНОВЛЕННОЙ СКОРОСТИ ДВИЖЕНИЯ ТРАНСПОРТНОГО СРЕДСТВА НА ВЕЛИЧИНУ БОЛЕЕ 20, НО НЕ БОЛЕЕ 40 КМ/Ч\",\"NumPost\":\"18810116171104ХХХХХ\",\"kbk\":\"18811630020016000140\",\"Summa\":\"500\",\"Division\":1192201,\"enablePics\":true,\"id\":\"16#44211639030358281ХХХХХ\",\"SupplierBillID\":\"1881011617110ХХХХХ\",\"DatePost\":\"2017-11-04\",\"DateSSP\":null},{\"Discount\":\"1\",\"enableDiscount\":false,\"DateDecis\":\"2017-10-31 12:08:00\",\"KoAPcode\":\"12.9ч.2\",\"DateDiscount\":\"2017-11-27 23:59:59\",\"KoAPtext\":\"ПРЕВЫШЕНИЕ УСТАНОВЛЕННОЙ СКОРОСТИ ДВИЖЕНИЯ ТРАНСПОРТНОГО СРЕДСТВА НА ВЕЛИЧИНУ БОЛЕЕ 20, НО НЕ БОЛЕЕ 40 КМ/Ч\",\"NumPost\":\"188101161711056ХХХХХ\",\"kbk\":\"18811630020016000140\",\"Summa\":\"500\",\"Division\":1192201,\"enablePics\":true,\"id\":\"16#44236760030609331ХХХХХ\",\"SupplierBillID\":\"188101161711056ХХХХХ\",\"DatePost\":\"2017-11-05\",\"DateSSP\":null},{\"Discount\":\"1\",\"enableDiscount\":false,\"DateDecis\":\"2018-01-27 23:46:00\",\"KoAPcode\":\"12.37ч.2\",\"DateDiscount\":\"2018-02-16 23:59:59\",\"KoAPtext\":\"НЕИСПОЛНЕНИЕ ВЛАДЕЛЬЦЕМ ТРАНСПОРТНОГО СРЕДСТВА УСТАНОВЛЕННОЙ ФЕДЕРАЛЬНЫМ ЗАКОНОМ ОБЯЗАННОСТИ ОСАГО, А РАВНО УПРАВЛЕНИЕ ТРАНСПОРТНЫМ СРЕДСТВОМ, ЕСЛИ ТАКОЕ ОСАГО ЗАВЕДОМО ОТСУТСТВУЕТ\",\"NumPost\":\"188102161820027ХХХХХ\",\"kbk\":\"18811630020016000140\",\"Summa\":\"800\",\"Division\":1192200,\"enablePics\":false,\"id\":\"16#4516501003986993ХХХХХ\",\"SupplierBillID\":\"188102161820027ХХХХХ\",\"DatePost\":\"2018-01-27\",\"DateSSP\":null}]',\n ],\n]"</span></span>,

 

Суммируя написанное выше – в свободном доступе находились все подробности платежей: номер постановления о штрафе, государственный номерной знак автомобиля, номер исполнительного производства при платеже в пользу службы судебных приставов, первые и последние цифры банковских карт, через какой платёжный шлюз произведена оплата, ФИО и адрес электронной почты плательщика и многое другое.

 

За один выбранный день (12.04) в индексах находилось (записей):

 

shtrafov-net 251 paygibdd 3821 gosoplata 20676 oplata-fssp 15277

 

Поисковик Shodan впервые обнаружил этот сервер в открытом доступе 24.02.2019.

Добавил Дядя Ваня Дядя Ваня 18 Апреля
проблема (1)
Комментарии участников:
fStrange
-1
fStrange, 18 Апреля , url

Бездари.

istinspring
+5
istinspring, 18 Апреля , url

X86 X86 djamix djamix

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

галера хуеет от неожиданно свалившегося счастия и нанимает таких как ты и псина (обоссаная) v8 бездарей и фрилансеров  которые собственно и ваяют таким образом и так же сдают результаты своей работы.

итого имеем коммерческая компания занимавшаяся разработкой для гос-ва обосралась, что делать? ко всем отправить ментов с бутылками?

X86
+1
X86, 18 Апреля , url

Да там «бездари» сказал крашеный мужик из Ростова, который берется ковырять кривые сайты на джумле, а потом теряется в коде и теряется от заказчиков на пару недель) Прикинь, какую бы он БД для ФССП сделал на Джумле )))

istinspring
+1
istinspring, 19 Апреля , url

они бы охуели. 

ну кстати мне товарищ рассказывал что щаз типа какие-то изменения в тендерах сделали теперь с других регионов могут выигрывать и это не всегда хорошо, демпингуют сильно и т.д. 

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

а так такие фэйлы происходят сплошь и рядом и в госсекторе и среди крупных и казалось бы компетентных ИТ компаний из долины.

istinspring
+3
istinspring, 19 Апреля , url

причем крашеный мужик настолько феноменально тупой и не хочет взрослеть что даже диву даешься.

KrasivayaSvo
+4
KrasivayaSvo, 18 Апреля , url

Профессионалы



Войдите или станьте участником, чтобы комментировать