Привет, Хабровчане!

Решил написать небольшую заметку о моем личном опыте взаимодействия с багбаунти программой Минцифры РФ. На самом деле у меня наберется много интересных историй так или иначе связанных с багбаунти, но некоторые из них являются особо примечательными. Об одной из них и пойдет речь в данной статье.

Для начала немного расскажу о себе. Опыт в ИБ у меня обширный и разнообразный. В данной сфере я уже чуть более 13 лет. Поработал на многих участках кибербеза, начиная от так называемого «папирсека» (специалист, отвечающий за подготовку всех необходимых документов по ИБ) до application security инженера. Работал и в органах государственной власти, и в компаниях с государственным участием и в чистой коммерции. В общем небольшое представление об ИБ имею.

Кратко о моем опыте
Кратко о моем опыте

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

Как я нашел уязвимость

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

В один из дней сидел я и прокрастинировал за ноутбуком. Дабы немного развеять скуку решил я в очередной раз поискать уязвимости в программе Минцифры РФ. В этой программе достаточно обширный скоуп, представленный различными государственными информационными системами, такими как Госуслуги, ЕСИА (Единая система идентификации и аутентификации) и т.д. Одной из особенностей данной программы является то, что искать здесь можно не только по FQDN, но и по диапазонам IP адресов.

Ковырять веб было дико лень, хотелось, что называется, по-быстрому сорвать низковисящих фруктов. Итак, берем в качестве инструментов: терминал, nmap и telnet. Да, да, этого нам будет вполне достаточно. Никаких секретных эксплоитов АНБ в этот раз не понадобится.

Из правил программы берем диапазон IP адресов для исследования. Далее запускаем nmap с требуемыми параметрами nmap -sV 192.168.1.0/24 и идем наливать себе чай/кофе, пока наша утилита перебирает айпишник за айпишником, порт за портом.

Итак, nmap отработал. В выводе я увидел несколько хостов и информацию об их портах. На первый взгляд ничего необычного: 21, 80, 443, 445. Но на одном из хостов меня заинтересовал открытый порт 2067. Nmap определил данный порт как Cisco Management Port. С цисками у меня особого опыта взаимодействия не было, поэтому единственное, что мне пришло в голову - это тупо стукнуть телнетом в этот порт. Вводим telnet 192.168.1.1 2067, терминал на секунду подвисает и... бах - я лицезрею следующую картину:

Ой ё-ё-ёшеньки ой ой...(с) Н.Фоменко
Ой ё-ё-ёшеньки ой ой...(с) Н.Фоменко

Наспех загуглил еще пару команд. Проверяем - все работает.

Доступ к привилегированному режиму
Доступ к привилегированному режиму

На этом моменте я решил остановиться. На всякий случай сделал запись экрана с воспроизведением уявзимости и принялся за отчет.

Триаж

Довольный собой, быстренько описал все детали в отчете. На тот момент я даже представить не мог, как можно зафакапить триаж (для тех кто не знает, триаж - это процесс воспроизведения и оценки уязвимости со стороны заказчика и/или площадки) такого очевидного отчета.

Итак, отчет отправлен. Пошло мучительное ожидание. Хотя в целом я и привык по 2-3 месяца ждать триажа от представителей Минцифры, но в душе у меня теплилась надежда, что такую уязвимость рассмотрят чуть побыстрее. Все таки сервис является государственной информационной системой, и торчать голым задом в Интернет еще никому не шло на пользу.

Триаж данной уязвимости состоял из двух этапов. Сперва отчет триажит первая линия - это работники самой багбаунти площадки, на которой размещена программа поиска уязвимостей. После успешного первичного триажа, к рассмотрению отчета приступают триажеры Минцифры. Проходит 4 дня, я захожу в отчет, а там, как говорится, "даже конь не валялся". Ну т.е. вообще ноль, ни ответа, ни привета. Я немного негодую, так как не понимаю в чем сложность скопировать и вставить в терминал одну команду и нажать Enter. На всякий случай сам проделываю эту процедуру, ну вдруг реально где-то есть подвох, и бах, telnet соединение не устанавливается. Еще раз перепроверяю ip и порт. Нет, нет, все правильно - ошибки быть не может. Запуск telnet - снова connection timeout. В голову стали закрадываться нехорошие мысли. Натравливаю nmap на этот хост - мои худшие опасения подтвердились. Порт закрыли.

Небольшая корректировка в iptables и багхантер идет лесом
Небольшая корректировка в iptables и багхантер идет лесом

Пишу в саппорт площадки и объясняю ситуацию. После этого триажеры площадки пробуют воспроизвести уязвимость и у них она, естественно, не воспроизводится. Почему 4 дня не могли потриажить наилегчайшую уязвимость? Пусть этот вопрос останется на совести площадки. Казалось бы все, финита ля комедия. Вот так просто можно закрыть уязвимость после получения отчета, а потом сказать что никакой уязвимости и не было, а багхантеру все это приснилось в пьяном угаре. Можно так сделать? Можно. Сможет ли добиться багхантер справедливости? Не сможет. Багхантер — самая незащищенная сторона в этих отношениях. Но об этом позже.

Нет, рано еще сдаваться. У меня же есть видео. В наш век ИИ-технологий, доказательство достаточно сомнительное, но тем не менее. Вытаскиваю свой последний козырь и прикрепляю в комментарии к отчету. Ваш ход, Минцифры.

Проходит жалких 3 недели ожидания и Минцифры наконец снизошло до комментария. Для максимальной объективности выкладываю цитату целиком, корректируя лишь название сервиса.

Добрый день, <redacted>! К сожалению, нам не удается воспроизвести поведение, продемонстрированное Вами в данном отчете. Смеем Вас заверить, что никаких изменений, до момента изучения Вашей активности (а именно 24.10.2024) с нашей стороны в отношении данного Маршрутизатора не было произведено. Не могли бы вы предоставить информацию о том, что предшествовало данному поведению? Возможно вы использовали какую-либо известную уязвимость, эксплойт применимый к данным версиям Cisco? Дополнительно просим вас сообщить ваш текущий внешний IP-адрес, для возможности поиска вашего подключения в логах устройства. Согласно представленным материалам, вам посчастливилось воспользоваться багом платформы, которая позволила получить доступ не к самому роутеру, а модулю расширения. К  сожалению, на текущий момент, мы не можем оценить представленный вами отчет, так как он находится вне скоупа программы: "<redacted>". Однако мы ожидаем от вас дополнительную информацию, для возможности углубленного изучения и возможного пересмотра критичности. С уважением, Команда безопасности Минцифры.

Вот такие чудеса. Измений никаких не было, а порт закрылся. Наверное ветром захлопнуло. Верим? Я поверил. А еще, согласно приведенной цитате, мне просто повезло воспользоваться каким-то багом какой-то платформы. На месте Минцифры, я бы не удосуживал себя таким длинным сообщением, а просто бы прикрепил видео вроде этого.

Скрытый текст

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

Заключение

Как я уже писал выше, багхантер в России является абсолютно незащищенным. Ну т.е. багхантера можно просто тупо кинуть, вот прям взять и не заплатить за валидную уязвимость. Что он сделает? Пожалуется в суд? Договора нет никакого, ни с кем. Пожалуется площадке? Площадке зачастую выгоднее занять сторону вендора, потому что именно от вендора площадка и получает деньги. Ну отвалится один багхантер, на его место еще два придут. Никто этого не заметит. А вот если крупный вендор уйдет, это уже финансовые потери.

Однако это не значит, что багхантерам надо терпеть всю эту несправедливость. Да, у нас нет никаких рычагов воздействия, кроме бойкота обнаглевшего вендора. Наша сила в том, что они нуждаются в нас, не меньше, чем мы в них. У багхантеров сформировано пусть небольшое, но сильное комьюнити с прочными горизонтальными связями. Не бойтесь отстаивать свои права, не бойтесь вступать в спор с вендором или площадкой, не бойтесь предавать гласности факты откровенного кидалова со стороны вендоров. Багхантерам пора начать диктовать свои правила.

BONUS

Для тех кто дочитал до конца, бонус в виде ответа Минцифры, который я получил на свой запрос через Госуслуги. Без комментариев.

Скрытый текст
А вам слабо удаленно подключиться к "демонтированной плате"?
А вам слабо удаленно подключиться к "демонтированной плате"?

UPD. 1

Много комментов в духе "а могли бы посадить", "скажи спасибо, что не посадили" и т.д. Ну камон, почему меня должны сажать за это? Багбаунти - это когда заказчик сам просит найти у него уязвимости в обмен на денежное вознаграждение. Это как если бы вы оказали легальные услуги по договору, заказчик бы вас кинул и вы такие: "Фуф, черт с ней с оплатой, хорошо хоть не посадили".
Чему в следующий раз радоваться будем? Тому, что за просмотр ютуба всего 3 года дали, а могли бы расстрелять?

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


  1. useribs
    07.12.2025 13:47

    А что было в running-config (в общих словах) ? Скажут то был наш honeypot динамический и дело с концом


    1. scsfl Автор
      07.12.2025 13:47

      Если вкратце, то был настроен VLAN. И еще как-минимум 5 хостов с внутренними ip адресами 172.16.xxx.xxx были подключены к устройству.


      1. useribs
        07.12.2025 13:47

        Обидно (. Ну что тут сказать, не знаю насколько по нашим законам можно было сохранить конфиг или хотя бы MAC адреса подключенных устройств, и потом в уязвимость добавить что, hey, у вас к этой Cisco оборудование таких-то вендоров подключено было. Наверное, от схемы "закрыть по тихому и как ничего не было" не очень поможет, не воспроизводится же мол.


      1. bahtin
        07.12.2025 13:47

        Нужно было скачать garbage


  1. AVikont
    07.12.2025 13:47

    Скорее всего Вы подключились на консоль нового коммутатора, к которому временно открыли доступ для ПНР.
    Вот пример такого подключения:
    https://habr.com/ru/articles/859260/


    1. scsfl Автор
      07.12.2025 13:47

      Может быть и так, но данный IP адрес был в скоупе. Т.е. всем багхантерам буквально говорят, вот вам ip xxx.xxx.xxx.xxx - нужно найти там уязвимости. Вы тратите время, находите уязвимость, пишите отчет, а вам отвечают - сорян чувак, это был временный доступ для ПНР/это ханипот/это мы специально уязвимость сделали чтоб сканер потестить/другая причина. Мне кажется это странным. Зачем тогда этот ip адрес включать в программу?


      1. maxorik
        07.12.2025 13:47

        Проводят мероприятие, ради мероприятия. А что там сделали внешние ребята не важно, а вот свои люди - молодцы. Им и сам бублик дали, а всем по дырке или в .....

        Возможно я не прав, поправьте меня.


      1. ildarz
        07.12.2025 13:47

        Да все может быть гораздо проще. О том, что там в конкретный момент времени делал рядовой админ, организаторы баг баунти ни сном, ни духом. Затем они проверяют ваш отчет, и, разумеется, ничего не находят, поскольку админ уже просто в рамках своей работы все переделал. И теперь попробуйте посмотреть на ситуацию с их точки зрения - есть репорт, который ничем не подтверждается.


        1. scsfl Автор
          07.12.2025 13:47

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


          1. ildarz
            07.12.2025 13:47

            Можно зайти на устройство, выполнить аналогичную команду и сравнить вывод.

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


            1. scsfl Автор
              07.12.2025 13:47

              Этот хост еще как минимум полгода был в сети (а может и больше), с этим же закрытым портом 2067. И этот ip, согласно правилам программы, был в скоупе.


              1. ildarz
                07.12.2025 13:47

                Один и тот же IP - не всегда один и тот же хост, а скоуп - это не только адреса. Абстрагируясь от нынешней ситуации, представьте себе такое - программа бб по поиску уязвимостей в форме авторизации на сайте, а вы находите в офисе компании бумажку с логином-паролем, которую кто-то обронил. Угроза - да, безусловно. Должны ли вам выплатить вознаграждение за нахождение бага в форме? Ну, сомнительно.


                1. scsfl Автор
                  07.12.2025 13:47

                  Абстрагируясь от нынешней ситуации, представьте себе такое - программа бб по поиску уязвимостей в форме авторизации на сайте, а вы заходите в систему под дефолтными кредами admin/admin. Угроза - да, безусловно. Должны ли вам выплатить вознаграждение за нахождение бага в форме?


                  1. ildarz
                    07.12.2025 13:47

                    Нет, не должны.


                    1. scsfl Автор
                      07.12.2025 13:47

                      А за такое платят. Использование дефолтных кредов это широко известная и распространенная уязвимость.
                      Умные люди даже соответствующие идентификаторы присвоили:
                      https://cwe.mitre.org/data/definitions/1392.html
                      https://cwe.mitre.org/data/definitions/1393.html
                      Примеры отчетов:
                      https://hackerone.com/reports/954818
                      https://hackerone.com/reports/2160178


                      1. ildarz
                        07.12.2025 13:47

                        Вы же сами подтвердили формальные границы - "уязвимости в форме авторизации". Не на хосте вообще, не в системе авторизации вообще, не соответствие какой-либо политике безопасности или что-то ещё. Дефолтные креды - это не баг в форме авторизации, а может быть даже и вообще не баг в каком-то конкретном тестировании. Это не соревнование в форме CTF с призами, а тестирование ровно того, что в рамках конкретной программы желает протестировать заказчик. Если вы нашли что-то еще - вам могут сказать "спасибо", но никаких обязательств заплатить вам денег это ни на кого не накладывает (хотя иногда могут).

                        Точно так же как если вы пишете заказной софт по ТЗ, вам заплатят за то, что указано в ТЗ. А если вы заложили и сделали какой-то еще полезный заказчику, но не оговоренный функционал и теперь просите с заказчика дополнительных денег - не надо ожидать, что он обязан заплатить (хотя опять же бывает, что и может).

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


                      1. scsfl Автор
                        07.12.2025 13:47

                        Пардон, но мне кажется, что мы с вами на разных языках говорим.
                        У вас коммерческий опыт в багхантинге имеется? Сданные отчёты с уязвимостями? Просто хочется понимать, имеете ли вы представление о том как выглядит типичная программа поиска уязвимостей, что такое скоуп, какие бывают ограничения и т.д.


                      1. ildarz
                        07.12.2025 13:47

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


  1. Keks650
    07.12.2025 13:47

    Обидно. Но это госы, там за такие уязвимости могут кому-то по шапке надавать. Я однажды случайно нашёл дыру на сайтах мировых судов, позволяющую грузить в корневую директорию сайта (доступную по http) что угодно. Сам попытался связаться с НИИ Восход (кажется они были заявлены в качестве авторов), там меня связали непосредсвенно с "разработчиком", которому я всё объяснил и он сделал вид что мне не поверил, но уязвимость закрыли.
    Им проще по-тихому замять, чем объясняться перед начальством как так вышло.


    1. scsfl Автор
      07.12.2025 13:47

      У меня такое же мнение сложилось. Т.к. это была ГИС (государсвтенная информационная система), то она 99% была аттестована согласно требованияем ФСТЭК. Аттестат соответствия говорит о том, что система соответствует требованиям по защите информации. А когда любой может попасть в консоль коммутатора данной ГИС, получается что или подрядчик схалтурил (а это может быть кого надо подрядчик), или это местный админ внес изменения в конфигурацию устройства, а департамент ИБ ни сном, ни духом. В любом случае с кого-то должен быть спрос, но разбирательства никому не нужны. Поэтому идеальное решение - это исправить по-быстрому, а потом сделать вид, что ничего такого не было.


      1. uranik
        07.12.2025 13:47

        Аттестация как то защищает от втыкания в сеть нового оборудования?


        1. fisoon
          07.12.2025 13:47

          Не могу утверждать на счёт конкретного случая, но когда что-то аттестуется, менять конфигурацию, в том числе добавлять оборудование уде нельзя, если это не оговорено отдельно, что, например порт и предназначен для установки нового не аттестованного оборудования.


        1. scsfl Автор
          07.12.2025 13:47

          Товарищ выше ответил совершенно верно. Аттестат соответствия выдается на конкретную конфигурацию и состав технических средств. В технический паспорт записывается все вплоть до серийных номеров устройств. Внесение любых изменений в состав или конфигурацию должны быть согласованы с организацией-лицензиатом ФСТЭК, выдавшей аттестат соответствия.
          В случае внесения изменений без согласования аттестат аннулируется.


  1. JBFW
    07.12.2025 13:47

    Коммутаторы настраивают админы. Видимо, временно открыл, потом закрыл.
    И никто бы этого даже не заметил - если бы не любопытный некто, пытавшийся взломать Государственную Систему!

    Так что тут дело такое, на предмет качания прав, можно еще и крайним оказаться.


    1. scsfl Автор
      07.12.2025 13:47

      В багбаунти это легально. Вам буквально платят за то, что вы находите уязвимости.


      1. avost
        07.12.2025 13:47

        Это в нормальном бигбаунти легально. А за обещания госки этого государства я и пятака бы не дал. Надеюсь, "внешний IP", который вы им предоставили - это не ваш домашний айпишник?


        1. scsfl Автор
          07.12.2025 13:47

          Смысла скрывать ip нет, т.к. для получения выплат багхантер оставляет свои паспортные данные.
          Кроме этого, ко всем запросам багхантер должен добавлять специальный идентификационный заголовок.


          1. RichardMerlock
            07.12.2025 13:47

            Но ведь что конкретно было уязвлено так и осталось не выясненным. Непонятно на сколько потенциального убытка она тянула. Нет убытка - нет награды

            Нужен сайт "госуязвимость", чтоб зарепортил - хрен откатить, откатил - на сво отъехал.


  1. Tzimie
    07.12.2025 13:47

    А могли бы просто посадить


    1. rapidstream
      07.12.2025 13:47

      Ещё не факт, что не посадят. Тут как раз человек против себя все материалы будущего дела публично выложил.


      1. TastaBlud
        07.12.2025 13:47

        Возможно, ещё не все прошлые "материалы" и утечки накопали из архива для громкого дела "пойман хакер, работавший по заданию спецслужб Украины, причинивший ущерб на ххх трлн.руб"...

        К сожалению, только такие мысли,и судя по комментариям,не только у меня.


  1. uncleFenix
    07.12.2025 13:47

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

    В такие моменты хочется напакостить, честно говоря, чтобы потом неповадно было.


    1. fisoon
      07.12.2025 13:47

      Благодарить в личке этт тоже самое, что признать свою неправоту и тогда встанет вопрос, а почему не заплатили. А так они просто говорят, что никакой уязвимости не было, просто вы попали в неудачный момент замены и перенастройки оборудования.


      1. uncleFenix
        07.12.2025 13:47

        Не спорю. Но если это сделать не с корпоративного акка, а лично и объяснить ситуацию... Ну, все мы люди, в конце концов.


        1. Svinna_golova
          07.12.2025 13:47

          Потом инфоповод будет ещё громче и сильнее ударит по репутации, чем так. Да, это не по людски, но увы так работает любое государство


  1. Abyrvalg2022
    07.12.2025 13:47

    Обычная история для админа, настройка какого то коммутатора удаленно. Возможно он даже не куда не был подключен кроме сети Интернет. О чем пост вообще не ясно.


  1. corefly
    07.12.2025 13:47

    Уголовное дело не открыли и то спасибо. А то ведь недавно одного посадили, любопытного.


    1. DemonInside
      07.12.2025 13:47

      Кого?


  1. vdudouyt
    07.12.2025 13:47

    "Дырка от бублика" это в данном случае довольно щедрое предложение. Не ворвались маски-шоу утром домой - уже и на том спасибо.


  1. elobachev
    07.12.2025 13:47

    Шикарная история. Впрочем, с вашим опытом странно удивляться тому, что с баг баунти у нас большие проблемы. Несмотря на все движения профильных ведомств все это на грани закона.

    Я никому ничего не хочу советовать, но если бы я сам нашел открытый телнет в ГИСе, я б все материалы в нкцки бы отправил. Ну из соображений хотя бы личной безопасности.


  1. trabl
    07.12.2025 13:47

    То что циска висела не на стандартном 22 порту ssh уже моё почтение сетевикам)).


    1. AVikont
      07.12.2025 13:47

      Это telnet для проброса в консоль:
      https://habr.com/ru/articles/974184/comments/#comment_29218296


  1. ifap
    07.12.2025 13:47

    Есть лайфак на подобные случаи: нотариально заверенные скриншоты репорт в ФСТЭК.


  1. severgun
    07.12.2025 13:47

    А могли и посадить


  1. AnGord
    07.12.2025 13:47

    Уголовное дело не завели уже хорошо.


  1. Lord_of_Rings
    07.12.2025 13:47

    На самом деле так поступают практически все госконторы, да и не только они. На хабре полно таких статей. Так что я нисколько не удивился вашей ситуации. Действительно, ещё скажите спасибо, что статью на вас не повесили.


  1. adddon
    07.12.2025 13:47

    В итоге этим баг баунти будут заниматься наши западные коллеги, им точно профита больше будет...