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

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

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

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

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

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

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

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

Утром 13.04.2019 я отправил оповещение по адресам электронной почты: [email protected], [email protected], [email protected], но ответа (как это часто бывает) не получил. Сервер был тихо «прикрыт» и исчез из открытого доступа 13.04.2019 около 15:20-15:45 (МСК).

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

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

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

Логи хранились, начиная с 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:"appmodelspaymentapiPenaltyInfo":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:

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

Теперь посмотрим, что там с штрафами за ПДД. Явно за это ответчают индексы 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-канале «Утечки информации».

Источник: habr.com