Ранее мы сообщали об уязвимостях на портале «Электронного правительства» Казахстана, причинами которых являлись ошибки разработчиков. Сейчас же хотим рассказать об одной уязвимости, причиной которой стали не разработчики, а скорее администраторы. Одна «незначительная» деталь, которая может привести к колоссальным последствиям и повторению ситуации с турецкими гражданами, когда в сети была выложена вся база турецкого населения.

Ошибка, описанная в данной статье, нами была передана разработчикам ЭП и исправлена, соответственно эксплуатация уязвимости уже невозможна. С учетом указанного, считаем данная публикация не повлечет утечку чьих-либо персональных данных. Но мы не можем гарантировать того, что документы наших граждан уже не были получены злоумышленниками и не сохранены для каких-либо действии.

Итак, на портале электронного правительства, при запросе той или иной справки, пользователь получает прямую ссылку на документ в формате *.PDF, которая выглядит примерно так:

http://egov.kz/shepDownloadPdf?favorId(номер документа)&iin=(номер ИИН)

Ошибка админов заключается в общей доступности Server-Status, что в свою очередь раскрывает все передаваемые запросы GET (показано на рисунке ниже).



Дальше еще интереснее. По прямой ссылке можно было скачать документ без авторизации, а это позволяет злоумышленнику проводить атаку прямым перебором для получения всех выданных документов, или документы конкретного человека по его ИИН. В итоге, все выдаваемые электронным правительством документы, независимо от точки обработки запроса (дома за собственным компьютером, Центре обслуживания населения, мобильное устройство) были доступны для третьих лиц.

Итак, используя незначительную ошибку, которую многие ошибочно считают таковой, можно произвести масштабную атаку по краже документов. Все, что для этого требуется – немного свободного времени и простой скрипт для автоматизации процесса.

Был написан небольшой счетчик для анализа, который показал, что существовала возможность выкачать более 50 000 документов (или около 10GB) граждан Республики Казахстан за недельный срок. А это не только безобидные адресные справки граждан, но и различные документы с чувствительной информацией, такие как справки о наличии недвижимого имущества.

Вот так вот «незначительная» уязвимость из-за некорректной настройки администратора может повлечь за собой слив базы данных граждан.

Комментарии (30)


  1. ExplosiveZ
    18.04.2016 13:50

    Либо НЛО удалит, либо хабр может в бан попасть. В Казахстане не любят гласности.


    1. evr1ka
      18.04.2016 14:06

      Прошлая подобная статья потом оказалась в черновиках… )


      1. NFM
        18.04.2016 14:48

        прошлые две статьи оказались в черновиках из-за того, что в ней присутствовала реклама нас, за что мы очень сожалеем и больше так не будем =)
        Первая была про раскрытие номера телефона через ЭП, вторая про уязвимость на портале Билайн Казахстан.


        1. JIenpukoH
          18.04.2016 17:06
          +1

          Я буду следить за этим! :D


        1. evr1ka
          18.04.2016 17:46

          ) ОО. Про Билайн, это шикарно. Как-то решили вопрос? Могу помочь донести знание о уязвимости, если она была.
          Хотя они что-то обновляли на днях, может и из-за этого.


          1. NFM
            18.04.2016 19:13

            там была проблема просто в том, что на oplata.beeline.kz при восстановление пароля высылался 4 значный код. Который брутился в 40 потоков меньше чем за 10 минут. Никакой защиты не было. После того как мы сообщили им они исправляли это около 2 недель. Кроме устной благодарности мы больше ничего не получили =)


            1. evr1ka
              18.04.2016 19:16

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


              1. NFM
                18.04.2016 19:37

                В основном да, нашими услугами в Казнете пользуются финансовые структуры (Банки, крупные фин компании), но есть среди клиентов также несколько стартапов с России и Америки.


    1. teecat
      18.04.2016 14:13

      http://informburo.kz/novosti/kazahstancam-sovetuyut-obrashchatsya-v-mvd-i-knb-po-povodu-utechki-personalnyh-dannyh-advokat.html

      В данном случае скорее наоборот — прошла раскрутка паники


  1. Bo0oM
    18.04.2016 13:56
    +2

    Один из самых банальных миссконфигов.
    Интересно то, что вы рассказываете, как украли

    более 50 000 документов (или около 10GB) граждан Республики Казахстан за недельный срок.

    и не боитесь ответственности за это! =)


    1. questor
      18.04.2016 14:05
      +2

      Интересно то, что вы рассказываете, как украли

      Говорится о потенциальной дырке, которую прикрыли. Были ли реальные кражи — не сообщается:
      Одна «незначительная» деталь, которая может привести

      который показал, что существовала возможность выкачать


      1. Bo0oM
        18.04.2016 14:07

        Но мы-то знаем ;)


        1. Arik
          18.04.2016 14:49
          +5

          Тогда ждем следующий пост автора об автоматизации анализа 50 тыс документов или около 10Gb данных =)


        1. NFM
          18.04.2016 14:49

          Счетчик показал возможность скачивать документы в предположительно таком объеме =)


    1. Bo0oM
      18.04.2016 14:09
      +1

      Если уж на сайте апача есть сервер-статус, что же говорить о других.
      Да и вообще, зачем в 2016 apache? Но это уже другая история…


  1. EminH
    18.04.2016 14:07

    Это не мелочи, можно так и id сессии, например, перехватить и дальше будет еще хуже (если есть какая-либо админка на том же сервере)


  1. DarkByte
    18.04.2016 14:14
    +3

    Судя по apache.org — это норма :)


    1. VANSCoder
      19.04.2016 00:14

      Это не баг — это фича (с)


  1. bormotov
    18.04.2016 16:39

    только я считаю, что открытый server-status играет малозначительную роль?


    1. equand
      18.04.2016 17:22

      Тут больше проблема, в том что данные доступны по GET запросу :/


      1. bormotov
        18.04.2016 17:50
        +1

        в смысле, по GET запросу «со стороны».

        Самое простое — кроме номера документа и ИНН в GET, просить куку, которую ставить после логина.
        Чуть сложнее — отслеживать сессии. Сессии привязывать к IP-адресу клиента.
        Сделать ограничение по времени актуальности ссылки

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

        И вот это реальная проблема, а не то, что кто-то смог посмотреть URL'и


  1. SleepingLion
    18.04.2016 18:50

    http://egov.kz/shepDownloadPdf?favorId(номер документа)&iin=(номер ИИН)
    favorID. Не ServiceID. Favor. ID. Идентификатор одолжения. Всё.

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


  1. VANSCoder
    19.04.2016 00:17

    Классика: попилили бюджет, а что осталось, то и выделили разработчикам.


    1. Apokalepsis
      20.04.2016 18:57

      Распил бюджетов в нашей стране к сожалению имеет быть.

      Но никто же не заставлял под дулом пистолета брать заказ на сайт с маленьким бюджетом — нормальная компания должна же оценивать свои свои силы и возможности сделать за такой бюджет не какашку.


  1. IbrahimKZ
    19.04.2016 09:24

    А еще, когда ЭЦП выдают, то пароль ставят год рождения. Ну и еще куча уязвимостей при походе в наши ЦОНы (центр обслуживания населения) и при пользовании egov.kz


    1. vsb
      19.04.2016 11:16

      Если получаете ЭЦП в криптотокене, то это не имеет большого значения, т.к. пароль можно (и нужно) изменить. Если получаете ЭЦП в простом файле, можно прийти домой, выпустить новый ЭЦП, а полученный через ЦОН отозвать. Всё это делается через pki.gov.kz Всем рекомендую именно так и делать, т.к. сотрудники могут скопировать ваш ЭЦП в процессе выдачи.


    1. skifwhite
      20.04.2016 18:57

      Большинство стандартный пароль 123456 на эцп юзает. Если бы еще дата рождения


  1. akaSStalkALEX
    20.04.2016 18:56

    Хотелось бы в статье увидеть больше про Server-Status, что это такое, как делать надо, как не надо.


  1. TOLK
    20.04.2016 18:58

    Помнится когда только настраивался e-gov, мы c коллегой решили просто протестировать сайт, зашли и попали в админку IBM WebSphere, вместо стандартного пользовательского контента ) Было воскресенье, счетчик показывал двух пользователей, скорее всего сайтом только мы и интересовались )


  1. andrejs
    20.04.2016 19:01

    В Латвии точно таким же образом «хакер Нео» в 2009–2010 гг. скачал много налоговых деклараций и опубликовал выдержки данных о разных известных государственных людях. Подгорело массово и хорошо.

    Одна из первых новостей на тему: rus.tvnet.lv/novosti/kriminal_i_chp/127398-proizoshla_utjechka_dannih_74_millionov_djeklaraciy