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

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

Для начала немного расскажу о себе. Опыт в ИБ у меня обширный и разнообразный. В данной сфере я уже чуть более 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

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

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

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


  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. 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. Keks650
    07.12.2025 13:47

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


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

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


  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. Tzimie
    07.12.2025 13:47

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


  1. uncleFenix
    07.12.2025 13:47

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

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


  1. Abyrvalg2022
    07.12.2025 13:47

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


  1. corefly
    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

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