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

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

nr3t9hkbrqc9onlashh0r_fx9d0.jpeg

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

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

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

6blj0jr5n6evjxyzg2-ytcjxxp4.png

В индексах 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 выглядели так:

cdre2hfxnkh7kpmcaum31iu04ey.png

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

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

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

{
        "_index": "gosoplata",
        "_type": "log",
        "@timestamp": "2019-03-02T20:55:02+03:00",
          "message": "Начисление найдено в ГИС",
          "extra": "[\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]",
          "context": "[\n    '_GET' => [],\n    '_POST' => [],\n]"
        }
      }

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

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

 {
        "_index": "oplata-fssp",
        "_type": "log",
          "@timestamp": "2019-02-28T22:17:24+03:00",
          "extra": "[\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]",
          "context": "[\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]"
        }
      }

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

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

t-dakstixinijrjrbryjskscuni.png

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

{
        "_index": "shtrafov-net",
        "_type": "log",
          "@timestamp": "2019-03-17T17:16:51+03:00",
          "message": "INSERT INTO customer (doc_type, doc_value, licence_plate, vehicle_model) VALUES ('ctc', '99026ХХХХХ', 'УХХХРМХХ', 'ЛЕНД РОВЕР РЕЙНДЖ РОВЕР')",
          "context": "[\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]"
        }

{
        "_index": "paygibdd",
        "_type": "log",
        "@timestamp": "2019-02-28T17:30:57+03:00",
        "message": "Входящий запрос на оплату",
          "extra": "[\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]",

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

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

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

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

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

© Habrahabr.ru