Разбор заданий конкурса по анализу защищенности сетевой инфраструктуры NetHack

    Во время проведения форума Positive Hack Days III состоялся конкурс для экспертов в области сетевой безопасности NetHack. В ходе соревнования участники должны были за 50 минут получить доступ к пяти сетевым устройствам и добыть хранящиеся в них флаги. В игровую сеть, созданную специально для этого конкурса, были заложены типичные уязвимости и ошибки сетевой инфраструктуры, встречавшиеся специалистам Positive Technologies во время выполнения аудитов безопасности и тестирований на проникновение. Сегодня мы представляем вашему вниманию разбор конкурсных заданий.

    Легенда NetHack


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

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

    Схема конкурса


    Инфраструктура соревнования была построена по следующей схеме:



    От участников конкурса требовалось получить доступ к пяти устройствам в сети, найти в конфигурациях специально оставленные md5-флаги и ввести их на специальной веб-странице. Победа присуждалась тому участнику, который первым найдет и введет все пять флагов.

    Получение первого флага


    Вход на R1 не составляет особого труда, достаточно просто использовать учетную запись по умолчанию cisco с паролем cisco. И сразу же при входе на устройство мы получаем первый флаг:



    Получение второго флага


    Получение второго флага уже требует определенных знаний и навыков. Зайдя на устройство, первое, что нам следует сделать, — бегло ознакомиться с конфигурацией и посмотреть соседние устройства в сети:



    Мы видим, что подключены к Router3 через Fa0/1. Отсутствие Router2 и большое количество интерфейсов должны вызвать у нас подозрение, поэтому мы выполним следующую команду:



    Интерфейс Fa1/10 принудительно отключен, что очень подозрительно. После включения интерфейса, мы вновь смотрим соседей:



    Наконец-то мы видим наш Router2. Далее нам надо узнать IP адрес Router2:



    Пытаемся зайти на устройство под учетной записью cisco/cisco. Но не все так просто.
    Исходя из времени ответа, мы можем предположить, что используется централизованная аутентификация. В конфигурации Router1 мы видим информацию о radius сервере:



    Так же виден маршрут до него:



    Соответственно, нам необходимо сделать так, чтобы radius не был доступен для Router2. В нашем случае достаточно погасить интерфейс Fa0/1. Пробуем еще раз зайти на Router2:



    Отлично, мы зашли на второе устройство и даже повысили привилегии. Нам повезло, пароль enable не установлен. Бегло изучив конфигурацию, узнаем, что у нас несколько возможных флагов. Пробуем вывести только их. Только одна строчка подходит как md5, это и есть наш флаг:



    Получение третьего флага


    Если мы попытаемся зайти на Router3, используя учетную запись cisco/cisco, то у нас это не выйдет. Попробуем найти нужную нам учетную запись. Еще раз внимательно изучаем конфигурацию Router2 и видим следующую строчку:



    Так как type 7 является обратимым шифрованием, мы легко можем получить пароль: Tf7NszYCnd.
    Теперь, мы готовы к Router3. Пробуем зайти, используя новую учетную запись admin:



    Отлично, мы на третьем узле. Ищем наш флаг:



    Получение четвертого флага


    Теперь самая сложная часть. Смотрим соседей, предварительно включив cdp на интерфейсе Fa0/1:



    Пытаемся зайти на Router4 и понимаем, что там тоже используется radius. Внимательно изучаем конфигурацию Router3 и видим community string PHDays2013 с правами на запись. После того как мы поправим маршрутизацию, мы сможем попробовать забрать конфигурацию Router4, используя протокол snmp.

    Получив конфигурацию, видим, что на Router4 настроен ospf. Теперь нам надо подсунуть свой маршрут до radius. Это можно сделать следующим образом:



    Дальше нам остается зайти на устройство как cisco/cisco и найти четвертый флаг:



    Получение пятого последнего флага


    Опять смотрим соседей, узнаем IP-адрес Router5 и пытаемся зайти по ssh или telnet. К несчастью, у нас это не выходит. Опять внимательно изучаем конфигурацию и видим ACL на исходящем интерфейсе Fa0/1 блокирующий трафик к Router5 80 порт:




    Убираем ACL с интерфейса, добавляем нужные маршруты и пробуем зайти:



    Теперь осталось найти флаг:



    Победитель


    Борьба носила упорный характер: ни одному из конкурсантов не удавалось вырваться вперед и значительно опередить конкурентов. Посетители форума PHDays могли наблюдать за ходом соревнования благодаря специальной визуализации, которая транслировалась на большом экране, установленном в одном из залов.



    В изначально отведенные на финал 50 минут победителя соревнования выявить не удалось, т. к. ни один из участников не успел добыть все пять флагов. В результате конкурс был продлен на 15 минут, которые и решили исход состязания. На последних секундах дополнительного времени специалист по сетевому администрированию из Перми Станислав Миронов сумел взять пятый флаг. Он стал единственным, кому удалось это сделать. Второе место занял Юрий Шкодин, а третьим стал Сергей Станкевич — им удалось взять по четыре флага. Поздравляем победителей :).

    На сегодня все! Будем рады ответить на ваши вопросы в комментариях.

    Comments 34

      +2
      Интересно, спасибо, только у вас опечатка, там type 7 используется на Router2, type 5 не обратимый.
        +1
        Действительно. Спасибо!
      • UFO just landed and posted this here
          +2
          Как обычно, пригласили несколько коллег и друзей, предложили попробовать свои силы. Получилось 50 минут — среднее время прохождения. Скорее всего мы не учли присутствие некоторого стресса и отвлекающих факторов для участников на площадке, вот и промахнулись на 15 минут :).
          0
          >> Вход на R1 не составляет особого труда, достаточно просто использовать учетную запись по умолчанию cisco с паролем cisco.

          Да. Вспоминаются некоторые статьи журнала Хакер. Пункт 1 — у нас есть рутовый доступ, потому что логин и пароль оказались дефолтовыми.
            +1
            О да, всех веселят статьи о взломе с правами админа :) Но не придирайтесь, тут совсем другое дело: это все таки конкурс для проверки знаний и как в любом конкурсе сложность заданий возрастает постепенно. Можно было бы предложить участниками брутить учетки, но, сами понимаете, на это может уйти много времени, а значит динамика состязания исчезнет.
              0
              А зачем брутить? Это вообще глупость (для данного мероприятия по крайней мере). Ну примерно так. Снифер. Анализ широковещания, видим цискорутер в одной подсети с нами (ничем не хуже упрощения про логин/пароль cisco/cisco). Apr-спуфинг, перехватываем трафик между рутером и засветившимся в снифере неким хостом, видим snmp-коммьюнити совп. с паролем (повезло! хост — система мониторинга, перманентно генерящая трафик), логин подбираем и снова везет, он cisco или там root. Ну это так, на вскидку, можно что-нибудь и поинтересней, если подумать.
                0
                Наше задание было по максимуму приближено к реальности. В большинстве случаев, анализ защищенности компаний начинается с изучения внешнего периметра, доступных сервисов и тп. Если же предполагается, что вы будете находится на площадке провайдера и снифить трафик, то вероятность получения конфиденциальных данных равна 99,999%. :) Поэтому и выбран путь с дефолтными учетными записями, тем самым намекая, что мы прошли через внешний периметр.
                  0
                  Внешний периметр чаще всего проходят не в лоб, атакуя роутеры, а атакуя сервисы, типа веб-а/почты и прочего, что живет в дмз, оттуда уже, обеспечив шелл тем или иным способом (прямой коннект на порт, если роутер плохо фильтрует трафик, реверсивные техники или встраивая данные в протокол самого приложения), продвигаются дальше, так что все вполне жизненно. Тем более, что JDima вам описал, что cisco/cisco — не жизненная ситуация.
                    0
                    Атаки на телеком, где речь идет о нескольких тысячах роутеров происходят именно в лоб. И вероятность ошибки в настройке оборудования в этом случае не нулевая. И поверьте cisco/cisco – вполне жизненная ситуация ;)
                      0
                      >>В большинстве случаев, анализ защищенности компаний начинается с изучения внешнего периметра

                      Телеком — понятие растяжимое. Вы имеете в виду провайдеров или телеком как корпоративную инфраструктуру?
                      Тысячи роутеров на внешнем периметре компании-не-провайдере? Вот у JDim-ы наверное прилично роутеров в его сети по стране, много ли из них смотрят в инет?
                    0
                    А у вас среди более-менее крупных заказчиков бывало такое, что ssh/rdp сетевого железа открыт всему интернету?

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

                      Не знаю, как у крупных, а если тот же хабр почитать, когда речь идет про ssh, то это похоже массовое явление. И хотя, на мое имхо это жесть, особо страшного в этом ничего нет с оговоркой конечно, что человек задает стойкие пароли и обновляет софт. Хотя я бы спокойно в такой ситуации спасть не смог бы, всегда есть риск эпического зеродэй, масштаба мсбласта или кидо в отношении этих служб. В своей практике сталкивался с вин-машинами, выведенными рдп-шками в мир (в течении лет), при этом машины обновлялись и за стойкостью паролей следили. Логи неимоверно загажены попытками авторизаций, но судя по всему проникновений все же не было. Однако всегда есть риск очередного ms12-020, который начнут эксплуатировать раньше, чем появится патч. Не проникнут, так завалят.
                        0
                        а если тот же хабр почитать, когда речь идет про ssh, то это похоже массовое явление.

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

                        Лишний высунутый наружу сервис = лишний вектор атаки, хоть даже DoS. А у сетевого железа цикл обновления традиционно чертовски медленный. Не в смысле выхода патчей, хотя и это тоже, а в смысле установки этих патчей.
                          0
                          Практикуют и крупные, бывает. А бывает, что и не практикуют, а допускают ляпы. Примеры знаю. Не так давно в одной немаленькой корпорации видел войс-сервис ISR-а, открытый в мир. Оно в итоге не работало полноценно, вызов шел, а вот с ртп-потоком уже была засада и ниче, народ не парился особо. Но это скорей исключение.
                            0
                            ISR — в целом неплохой голосовой шлюз, с колоссальной функциональностью. Уронить его, наверное, можно, но угнать или толлфродить при корректной настройке — вряд ли.
                              0
                              Если впн организован на том же ISR-е, ssh-доступ к которому мы хотим обернуть — одна фигня в плане рисков, ну или почти.
                                0
                                Не совсем. IPSec намного более устойчив, через него сложнее что-то уронить. Плюс — делать ssh по токенам при наличии множества железок очень тяжко, а вот VPN по токену и через него ssh без токена — добро.
                                  0
                                  А вот вопрос (навеяло обсуждением выше). У вас, как тут все знают весьма крупная и разветвленная сеть. Имеют ли выход в инет бранчи и актуальна ли атака на корп. сетку через них из мира? Хотя об ответе я догадываюсь, но все же.
                                    0
                                    Имеют ли выход в инет бранчи

                                    В каком-то смысле да. И одновременно — нет. Никакие сведения о паролях/явках/конфигах не позволят вам проломиться в них напрямую из интернета.
                                      0
                                      Надо полагать, что они имеют выход в смысле — через главный офис/офисы или как-то так (прокси, нат + че-нито вроде DPI). Это понятно. Я подразумевал именно наличие своих каналов в инет, через которые их можно было бы пощупать на предмет чего-нито в духе cisco/cisco и проникнуть в корп. сети так сказать с черного хода.
                        0
                        По поводу SSH на сетевом оборудовании «да». Это имеет место быть в крупных сетях, где количество сетевого оборудования исчисляется несколькими тысячами устройств.

                        По поводу отрезание ААА: все шаги в ходе анализа защищенности согласовываются с заказчиком. Поэтому ответ «да», было :)
                  0
                  cisco/cisco — это не дефолтные логин-пароль :) Точнее — дефолтные, но одноразовые. После первого логона они исчезают из running-config. После «write», которым обычно заканчивается любое изменение конфигурации, они исчезают и из NVRAM и после ребута не появятся нигде и никогда — если человек забыл ввести новые логин-пароль, то здраствуй, password recovery.

                  Соответственно, cisco/cisco на не только что вынутой из коробки железке можно встретить только если кто-то намеренно сконфигурировал такие логин и пароль. Если ребята из Positive нашли такое у кого-то на продуктивной железке, то это — профнепригодность того, кто настраивал ее, а не просто лень/невнимательность вида «забыл, отвлекли»

                  ptsecurity, а вы случаем не планируете на постоянной основе выдумывать схожие задачки и выкладывать их, скажем, в виде GNS3 лаб? Вот читаю я решения, кажется «элементарщина, скучно, я бы минут за 20 все решил». Проблема в том, что я не участвовал в конкурсе, я заранее обладаю информацией об ответе и потому не могу объективно оценить ход своих мыслей в тех условиях, в которых были конкурсанты…

                  Ну например формат «мы только что провели пентест, наш штатный хакер нашел косяк конфигурации, проломился в сеть и получил такой-то доступ. Вот вам лаба с похожей конфигурацией и та же информация, какая была у него до начала взлома. Сможете повторить подвиг, не подглядывая?».
                    0
                    Пока в планах нет, поскольку подготовка заданий требует определённых усилий. Но у нас есть образовательная программа, в рамках которой проводятся вебинары.
                      0
                      Тогда такое предложение: ровно через год опубликовать задачи с новой конференции в виде лабы GNS3 (да и PT явно сгодится, он уже почти взрослый, насколько я знаю), а ответы и правильный ход решения — под спойлер. Ну совсем не интересно читать ответы, не зная вопросы и не попытавшись самостоятельно решить их :)

                      Подготовка лабы уровня как в топике займет от силы полчаса-час — это не новые вопросы придумывать. Зато сколько удовольствия она принесет окружающим…
                        0
                        Посмотрим, что можно сделать в этом плане).
                        0
                        ?
                    0
                    Только какое отношения к проводимому конкурсу имеет вынесеное в заголовок «анализ защищенности сетевой инфраструктуры»?
                    Навыки администрирования сетевых устройств cisco — да, но заголовок куда громче.
                      0
                      Это не навыки администрирования. Матчасть тут на уровне первой половины CCNA. Будь вопросы сформулированы иначе, половина аудитории справилась бы минут за пять. Задача — именно похакать. Нужна развитая чуялка и самый минимум знаний (по крайней мере в рамках этих задач).
                      +1
                      Опять внимательно изучаем конфигурацию и видим ACL на исходящем интерфейсе Fa0/1 блокирующий трафик к Router5 80 порт:

                      Не понял.
                      Исходящий ACL влияет лишь на транзитный трафик, но не на локальный. С указанным конфигом с R4 запросто можно было бы прыгнуть на вебморду R5. А вот с R3 уже нельзя было бы и при правильно настроенной маршрутизации.

                      Если у вас такая конфигурация все-таки выполняла свою задачу — можете сказать версию IOS R4?
                        +2
                        Ну да, я дурак, на R4 нет веб-браузера, а набивать запросы через телнет довольно утомительно :)
                          +1
                          :) Опередили с телнетом
                        0
                        > Вход на R1 не составляет особого труда, достаточно просто использовать учетную запись по умолчанию cisco с паролем cisco.
                        Это так если указать что платформа Cisco 3700 series.
                        www.routerpasswords.com/ -> Cisco
                        Такое не знают даже сетевые гуру.

                        Думаю интересней было бы создать атаки на сегменты L2 типа MAC address table overflow или BPDU root guard или разпетлить часть сети…

                        А вообще где можно найти полное задания или еще подобные конкурсы.

                        Only users with full accounts can post comments. Log in, please.