
Привет Хабр, рад снова встретиться (о том, кто я - тут)! На сей раз я хочу рассказать о Всероссийской Летней школе, которая проводилась в июле 2023 года и поделиться своими впечатлениями от этого мероприятия, полученных призах (в том числе приглашение на собеседование, но об этом немного позже), а для приобщающихся к информационной безопасности – разобрать одно из заданий.
План статьи
Летняя школа
Разбор задания с кибер-соревнования
Что за школа и причем тут мы?
Что такое Всероссийская летняя школа
Всероссийская научная летняя школа (ВСНЛШ) - ежегодное мероприятие, посвященное обучению студентов со всех вузов страны. ВСНЛШ преследует цель расширить и углубить теоретические знания и практические навыки в профессиональной области, связанной с вопросами информационной безопасности сверх основных образовательных программ. Студентам предоставляется возможность познакомиться с современными средствами защиты информации, тенденциями их развития и подходами к обеспечению информационной безопасности на реальных объектах.
По традиции, об участии в Летней школе наш состав узнал не самым первым, приглашение поступило от вуза, ну а от таких приглашений отказываться не рекомендуется))) По итогу мы зарегистрировались и отправились на “пары” летом.
День 1 - Киберполигон СПбГУТ
Если говорить о таске вкратце, то суть была в анализе образов дисков, сетевого трафика, в общем – всего, где атакующий мог “оставить след”, в целом задание было похоже на отборочный тур киберучений “Кибер Северо-Запад 2023”, но о нём не в этой статье. Перед самим соревнованием мы слушали лекции по контролю сетевой безопасности и основам безопасности Windows от экспертов кафедры Защищенных Систем Связи. Задание показалось мне интересным, лекции - полезными, а обед - вкусным. По результатам этого соревнования мы заняли 3 место и получили классные призы от кафедры.
День 2 – «РусБИТех-Астра»
В этот день нам предстояло ознакомиться с ОС Astra-Linux, лекцию по управлению доступом провел специалист компании Александр Александров, было интересно узнать, как в Linux смогли реализовать мандатное разграничение доступом вместе с множеством других фич. Само соревнование состояло из 2-х частей - тест и, внимание, сдача профессионального экзамена на статус администратора ОС специального назначения Astra Linux. После успешного прохождения теста, мы приступили к сдаче экзамена, но, к сожалению, не набрали нужного количества баллов для получения сертификата. Зато заняли 2-е место и получили подарки от компании.
От ПАО «Группа Астра» существует множество программ обучения Astra Linux Special Edition, если вы учитесь в организации-партнеров и вам интересно администрирование ОС, настройка безопасности и т.д., то советую узнать о программах обучения у своих преподавателей или сокурсников.
День 3 – «Эшелон»
Это был один из самых интересных и самый провальный день для нашей команды. Утром, как обычно, мы прослушали лекции на тему “Этичный хакинг и проведение аудита” от президента компании - Алексея Маркова, далее директор учебного центра Александр Дорофеев продемонстрировал решение компании по выявлению уязвимостей, а именно, Сканер-ВС. В ходе самих соревнований нам предстояло найти и проэксплуатировать уязвимости с помощью открытых инструментов и разработок компании, предварительно пройдя тестирование на знания в области ИБ. Само задание было занятным и показалось довольно лёгким, но результатом мы остались недовольны, как итог - 5 место и немного грусти.
Учебный центр “Эшелон” довольно часто проводит бесплатные вебинары по разным темам, а также курсы (в том числе бесплатные), которые могут быть полезны интересующимся информационной безопасностью, предлагаю ознакомиться с ними самостоятельно.
День 4 – «Элтекс»
Самым “прибыльным” для нас днём в плане призов стал именно 4-й день, но обо всём по порядку.
Утро. Лекции. Хочется спать. Коммутаторы. Настройка. Соревнование. Провода. Умный дом.
Если подробнее, то в начале дня мы слушали лекцию по основам администрирования маршрутизаторов Eltex ESR, коммутаторов MES и обеспечению безопасности сетевых устройств от инструктора академии Etlex и доцента кафедры ЗСС - Игоря Ушакова. Соревнование, опять же, было разделено на два тура - отборочный и финальный. Суть отборочного тура заключалась в настройке виртуальных маршрутизаторов, задачей было настроить интерфейсы устройств, OSPF маршрутизацию и IPSec туннель. На этом этапе очень помогла лекция, потому что на ней было подробно разобрано, как и что настраивается. Пройдя в финальный тур вместе с 11-ю другими командами, мы поработали уже с реальным оборудованием, то есть, чтобы настроить определенный интерфейс определенного коммутатора, нужно было подключать провода к разъёмам, после настройки переподключать их, ещё и не запутаться. В общем, интересный опыт. По итогу нам удалось сделать несколько заданий, ответить на теоретические вопросы к некоторым (это сильно помогло в плане баллов) и занять первое место на финальном туре. Приз был самым крупным - полный комплект умного дома от компании, включая хаб, датчики, розетки и т.д.
У «Элтекс» также есть образовательные программы. Ознакомиться с предлагаемыми курсами можно на сайте Академии (но, к сожалению, курсы предоставляются только для сотрудников организаций, следовательно, чтобы пройти курс, вам нужно учиться или работать в организации-партнёре)
День 5 - СПб ФИЦ РАН
Завершал школу Санкт-Петербургский Федеральный исследовательский центр Российской академии наук, а точнее Международный центр цифровой криминалистики при исследовательском центре, и за организацию отвечала команда во главе с директором МЦЦК Андреем Чечулиным.
Снова утренние лекции, на этот раз на тему «Построение и защита контейнерных инфраструктур для телекоммуникационных сетей» от Константина Израилова - старшего научного сотрудника академии. О практических аспектах тестирования защиты контейнерных инфраструктур рассказывали Дмитрий Левшун и Игорь Зелинченок.
Соревнование было посвящено автоматизации тестирования защиты контейнерных инфраструктур. На стенде был развернут Wazuh+Suricata для отслеживания атак, а также репозиторий vulhub, где в отдельных контейнерах располагались уязвимые сервисы вместе с инструкцией по эксплуатации каждой уязвимости (в некоторых случаях уже с готовыми эксплоитами), суть была в том, чтобы проэксплуатировать уязвимость, написать (или изменить существующий) скрипт для эксплуатации, да ещё и такой, чтобы система обнаружения это не заметила - довольно увлекательно, неправда? Нам предстояло поработать сразу с обеих сторон - атаки и защиты, анализировать, почему некоторые действия отображаются в Wazuh’e, а какие - нет, подстраиваться под правила Suricata и использовать полученные знания для создания уклоняющихся от обнаружения атак.
Насколько мы были довольны данным соревнованием, настолько остались довольны и результатом - первое место и уйма призов.
Торжественное закрытие мероприятия и его «последствия»
Сразу после соревнования было объявлено подведение общего итога сего мероприятия, было довольно волнительно, потому что после 4-х дней мы вместе другой командой делили первое место и последнее задание было решающим. После “небольшой” паузы (длиной в полтора часа) и подведения итогов были оглашены результаты, где… подписывайтесь на канал и ставьте лайки! Ладно, где мы по итогу… до встречи хабр! Все, это последний раз, честно. По итогам, заняв первое место в соревновании от СПб ФИЦ РАН, мы одержали победу на Всероссийской Летней школе!
Повторюсь, особого желания участвовать в ней не было, но впечатления к концу оказались диаметрально противоположными начальным. Получив грандиозный опыт и тучу призов от партнеров, каждый из нас остался доволен!
Хочу отметить, что компании-партнёры участвуют в подобных мероприятиях не только для рекламы своих продуктов, но и для поиска «молодых умов» к себе в штат. Нередко по результатам проведения кибер-соревнований участников, проявивших себя, могут пригласить на собеседование, предложить пройти стажировку, в общем, если вы участвуете в активностях, работа может найти себя сама.
Главный приз - оффер
Для меня главным призом стало приглашение участников нашей команды на собеседование в компанию “Газинформсервис”, после успешного прохождения которого (тех. собеседование + тестовое задание) нас пригласили выйти на работу. На данный момент работаю инженером-аналитиком в лаборатории исследований кибербезопасности, но об этом не в данной статье. Могу сказать лишь то, что опыт, полученный в ходе участия в летней школе (и не только) очень сильно помог при выполнении уже профессиональных задач, об этом я расскажу на предстоящем форуме GIS DAYS 2024, советую вам его посетить.
Минута мотивации полезностей для заинтересовавшихся
Я не устану говорить о том, что информационная безопасность - это не про сидение в капюшоне перед компьютером в полной темноте 24/7, это про карьерный рост, развитие различных навыков, увлекательные мероприятия и большое количество эмоций (ну и призов ещё)!
Учитесь, развивайтесь, прокачивайтесь, у вас обязательно получится достичь грандиозных результатов!
А для тех, кому стала интересна не только атака, но и обнаружение и защита, предлагаю ознакомиться со стендом, представленным на соревнованиях, провести несколько атак и посмотреть на них с «обратной» стороны – такой таск нам дал Международный центр цифровой криминалистики СПб ФИЦ РАН
Разбор таска "Red/Blue Team" (Vulhub+Wazuh+Suricata)
1) Airflow – Apache Airflow Command Injection in Example Dag (CVE-2020-11978)
Поднимаем контейнер c Apache Airflow
sudo docker-compose run airflow-init (перед этим лучше установить docker.io с помощью sudo apt-get install docker.io)
sudo docker compose up -d
По адресу http://ваш_ip:8080/admin находится Apache Airflow — это платформа распределенного планирования задач с открытым исходным кодом.

В версии до 1.10.10 существует уязвимость внедрения команд в примере DAG example_trigger_target_dag

Нажимаем кнопку “Trigger DAG” и вставляем payload
{"message":"'\\";touch /tmp/airflow_dag_success;#"}

Дожидаемся успешного выполнения “триггера” и проверяем наличие созданного файла

На события, связанные с экплуатацией уязвимости (и не только), можно посмотреть в Wazuh - open-source SIEM-системе (https://ваш_ip/ или https://127.0.0.1/)

2) Bash – Shellshock Remote Command Injection (CVE-2014-6271)
Поднимаем контейнер и видим два файла safe.cgi и victim.cgi. Safe.cgi создан крайней (скорее всего, на момент создания репозитория) версией bash, а victim.cgi создан bash версии 4.3, уязвимой к Shellshock.

Создаём запрос с обращением к уязвимому файлу, в заголовок User-Agent вставляем пэйлоад
(User-Agent: () { foo; }; echo Content-Type: text/plain; echo; /usr/bin/id)

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

В свою очередь, при обращении к файлу safe.cgi, атака будет неуспешна

В Wazuh мы можем увидеть сработавшее правило Suricata и алерт о том, ответом сервера был результат выполнения команды id

Предлагаю вообразить себя SOC-инженером и составить мини-отчет о реализованной атаке
Для отчета нам нужно знать (как минимум):
IP-адрес злоумышленника
IP-адрес жертвы
Дата и время проведения атаки
Тип атаки (можно найти конкретную CVE, а она у нас есть)
Успешность атаки и влияние на инфраструктуру при её успешности
Рассмотрим содержимое алерта немного подробнее

Из этих блоков мы можем узнать, кем (src_ip) и на какой IP-адрес (dest_ip) был отправлен GET-запрос, ответ на который содержал результат выполнения команды “id” на машине жертвы, к какому файлу обращался злоумышленник и сам заголовок User-Agent с вписанным ранее payload’ом
Далее мы можем найти время создания алерта, его описание, id правила, которое сработало, его формат и местоположение на машине-жертве

Ну и, наконец, время
Время собрать отчет
IP-адрес злоумышленника | 10.10.11.60 |
IP-адрес жертвы | 10.10.11.130 |
Дата и время атаки | 1.10.2023 ~13:16:56 |
Тип атаки | Bash Shellshock Remote Command Injection CVE-2014-6271 (CVE изначально была известна, но дополнительно я ее нашел по payload’у) |
Успешность атаки | успешна |
Последствием атаки можно считать успешное удаленное выполнение произвольных команд на сервере-жертве
В процессе реализации атак вы будете замечать, что не все они отображаются в SIEM, рекомендую ознакомиться с документацией IDS Suricata (https://docs.suricata.io/), там вы узнаете, как писать правила для нее, за что отвечают разные поля в логах, в общем, все полезности.

Оставлю ссылку на уже готовый образ с 5-го дня соревнований здесь, Попробуйте потренироваться в эксплуатации разных уязвимостей, это интересно! К некоторым уязвимостям есть инструкции на русском языке на моём github’е (в том числе и ссылка на инструкцию по настройке стенда) , полный список инструкции по эксплуатации уязвимостей находится здесь
Надеюсь, эта статья была полезна новичкам и заинтересовавшимся в ИБ, до встречи!