Summ3r of h4ck 2022. Итоги программы

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

Завершилась седьмая ежегодная обучающая программа Summ3r 0f h4ck. Мы придерживаемся прежнего намеченного курса и сегодня делимся итогами и впечатлениями участников.

Результаты прошлых лет можно найти здесь:

  • Summ3r of h4ck 2021. Итоги программы

  • Summ3r of h4ck 2020. Итоги программы

О программе

После нашего первоапрельского анонса (спасибо, что не посчитали его шуткой) желающие могли заполнить отборочные анкеты. В летней программе участвуют два отдела нашей компании – отдел анализа защищенности (занимается тестами на проникновение, аудитом веб-приложений и корпоративного ПО) и отдел исследований (reverse engineering, поиск уязвимостей в бинарных приложениях и устройствах). Чтобы получить приглашение на летнюю программу от первого отдела, достаточно было хорошо заполнить отборочную анкету. Коллеги из отдела исследований предпочли лично познакомиться с претендентами, перед тем как пригласить их поучаствовать в нашей программе.

Summ3r 0f h4ck заняла 4 самые летние недели. Участники слушали лекции, усваивали новые навыки в воркшопах, а главное – работали каждый над своей темой исследования вместе с кураторами. К сожалению, не все выжили добрались до защиты своих проектов, но мы надеемся, что выбранная тема достаточно интересна, чтобы довести исследование до логического финала уже в рамках личных целей.

В программе Summ3r of h4ck в отделе исследований упор был сделан на личное общение наставников и участников в ходе работы над исследованиями. Темы традиционно выбирались, исходя из того, что может быть полезно нам и сообществу: доработка или разработка инструментов, исследование новой или недостаточно изученной технологии.

Наставники поделились своим опытом, рассказали об эффективном использовании инструментов, разработке плагинов и отладке железа в рамках еженедельных лекций:

  • Введение в ресеч.

  • Разработка плагинов для IDA.

  • Атаки на bluetooth.

  • HIEW: приручаем сине-бирюзового монстра.

  • BlackMagic (плата Black Magic Probe).

  • Как поднять привилегии в Windows.

  • UEFI & Ghidra.

  • Загрузка x86.

В рамках стажировки мы стремимся не только поделиться своими знаниями, но и дать возможность получить практические навыки. Учитывая ответы на вступительную анкету в этом году, темой воркшопов, проводимых отделом анализа защищенности, стал аудит исходного кода веб-приложений. White box тестирование является неотъемлемой частью наших работ. Может показаться, что имея исходный код приложения, его намного проще анализировать. Как и везде, здесь есть нюанс. Для успешного white box тестирования необходимо обладать навыками чтения и понимания чужого кода, за короткий промежуток времени погрузиться в проект и понять что, зачем и почему. Кроме того, мы заметили, что с пентестом веб-приложений стажеры уже сталкивались, выполняя лабораторные или играя в CTF, а аудит мобильных приложений для многих – нечто новое. Поэтому для получения начального понимания этих работ на лекциях рассказывали про аудит Android и iOS приложений.

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

В качестве самостоятельной работы стажерам отдела анализа защищенности был выдан исходный код другого уязвимого приложения на python. За найденные уязвимости в нем можно было получить баллы – за описание, указание места и причины, описание исправлений.

Что касается части исследований, она проходила в традиционном формате – стажерам предлагался список тем, также была возможность предложить свою (которой, к сожалению, никто не воспользовался). В итоге все ребята продемонстрировали свои результаты, и несмотря на то, что не у всех все получилось, результаты каждого из них имеют ценность и будут полезны в будущем.

Отзывы стажеров

По традиции мы попросили участников поделиться своими впечатлениями и ответить на вопросы мини-интервью:

  1. Почему решили стажироваться именно в Digital Security? Чем привлекла вас компания?

  2. Понравилась ли стажировка? Что особенно запомнилось? Насколько реальность совпала с вашими ожиданиями?

  3. Расскажите о своей задаче/задачах.

  4. Показались ли интересными задачи, над которыми вы работали в процессе стажировки? Было ли что-то, чем вы хотели заняться, но не удалось?

  5. Готовы ли вернуться в компанию на стажировку или на работу? Что посоветуете начинающим?

Орфография, пунктуация и стиль авторов сохранены.

Владимир Феоктистов, тема исследования «WebView research»

1. Стажировка в DS привлекла меня 2-мя аспектами:

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

  2. Порадовало отсутствие возрастного ценза и возможность поучаствовать в стажировке людям, скажем так, закончившим ВУЗ довольно давно.  

2. В целом стажировка понравилась, хотя и стала для меня настоящим испытанием и источником дополнительного стресса :) Помню, как первый и самый сильный шок вызвал список тем для исследования: куда не взгляни, всё так или иначе связано с написанием кода, плагина, тулзы. И всего пару тем по исследованию, причем только 1 по «внутрянке», которую я так хотел представлять! И которая мне не досталась. В итоге ожидание несколько разошлось с реальностью и вместо углубления в вопросах, в которых я хоть немного понимал, я занимался исследованием темы, о которой услышал впервые. Хотя бы обработчик шеллкодов писать не пришлось :)

3. Я занимался исследованием WebView и ChromeCustomTab. Работу с ментором построили следующим образом: он задавал конкретные вопросы (например, «при каких условиях мы можем перейти по диплинку изнутри Webview?»), я искал ответы и проводил эксперименты в тестовом мобильном приложении. Предела не было: если получалось найти ответ и провести успешный опыт, появлялся следующий вопрос из тематики. Увы, ничем «крутым» похвастать не могу.

Главная сложность исследования заключалась в моём полнейшем незнании мобильной разработки и нулевым познанием java. Женя [мой ментор], если ты читаешь эти строки – дай Бог тебе здоровья и спасибо за ангельское терпение при объяснении мне базовых вещей.

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

Лично мне хотелось бы поковыряться на каком-нибудь уязвимом стенде с Active Directory, провести разведку в домене, попробовать осуществить latmov, повышение привилегий и т.п. и послушать кейсы «бывалых» (грустные вздохи сожаления).

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

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

Никита Густов, тема исследования «Использование админского ПО при пентесте»

1. Я пошёл на стажировку в Digital Security, так как меня привлекла доступность для начинающих специалистов опробовать свои навыки на пусть и небольшом, но настоящем проекте.

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

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

4. Тема проекта по началу меня очень заинтриговала. Я примерно понимал чем придётся заниматься. В процессе изучения я хотел сильнее углубиться в проект, но ментор вовремя меня остановил и напомнил, что стажировка длится всего 4 недели и надо предоставить хоть какие-то результаты.

5. Я бы с радостью вернулся в компанию Digital Security уже в роли аналитика отдела анализа защищенности. Совет - ничего не бойтесь и идите до конца. Все классные специалисты прошли через что-то подобное и совершали на своём пути множество ошибок.

Олеся Березовская, тема исследования «Уязвимости веб-фреймворков Vue.js»

1. Стоит начать с того, что это моя вторая попытка попасть на Summer of Hack. Сама компания привлекла меня еще на втором курсе бакалавриата, когда нам предложили проходить факультатив — курс на hacktory.ai. Меня порадовала возможность обучаться основам веб-безопасности на практике, с краткой, понятной теорией и интересными лабами. Затем ребята с потока начали тут работать, и от них я узнала о стажировке. В качестве практики на 4 курсе я также выбрала курс на hacktory.ai, только на этот раз он был посвящен безопасности Java, а затем попробовала свои силы во вступительной анкете.

За все время общения с теми, кто работает в Digital Security, я поняла, что здесь очень много крутых ребят, гармонично сочетающих работу с саморазвитием. Такое сочетание позволяет развить свои навыки намного лучше, чем каждая составляющая в отдельности.

2. На стажировке в отделе пентеста было очень интересно, потому что организаторы и спикеры применили практико-ориентированный подход. В тех случаях, когда это было технически реализуемо, студенты не просто слушали материал, а тут же пытались выполнить задание — найти уязвимость в коде или проэксплуатировать ее на реальном ресурсе. Почти всегда то, о чем рассказывали, можно было «потрогать руками», будь то сайт на PHP или приложение под Андроид. Естественно, не обошлось и без домашней работы — анализа приложения на Python, и, наверное, все эти возможности что-то сделать с помощью полученных знаний запомнились больше всего. Чего-то такого я и ожидала от стажировки в дсеке — и благодаря её организаторам совсем не была разочарована.

3. На стажировке я занималась исследованием фреймворка Vue 2 с точки зрения поиска и предотвращения уязвимостей. Помимо исследования в мои задачи входила разработка прототипа лабораторной работы для Hacktory, и к концу стажировки была завершена его первая версия.

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

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

Статья про уязвимости Vue 2 уже находится в публичном доступе, почитать можно здесь: https://github.com/catrsys/vue-2-article 

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

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

5. Думаю, многие ребята, как и я, стремятся к тому, чтобы работать в Digital Security. Летняя стажировка является отличной возможностью прокачать свои навыки и узнать что-то новое, поэтому я бы с радостью пришла на Summer of Hack в следующем июле. Прозвучит банально, но я бы посоветовала (себе в том числе) продолжать идти вперед и получать как можно больше удовольствия от саморазвития, стремясь к работе, которая будет приносить радость самореализации.

Андрей Кутузов, тема исследования «Restriction bypass checker»

1. Мне давно хотелось заниматься тестированием на уязвимости, я ходил на курсы, тренировался на различных площадках, искал, где можно найти практический опыт и… И, увидел новость о Summ3r 0f H4ck 2022. На этот момент я уже знал о Digital Security и не раздумывая отправил отклик. Получил тестовое задание, выполнил его и был приглашен на стажировку.

2. Мне понравилось все. Воркшопы и лекции были крутыми. К сожалению, посещать все я не смог и старался ходить на все лекции анализа защищенности, который выбрал для себя изначально, но я смог поприсутствовать на первой лекции отдела исследований и это было очень интересно.  Что не хватило – онлайн трансляций или записанных лекций. 

Жаль, что у меня не получилось остаться на «прощальную пиццу» ☹️

3. Мой проект «Restriction bypass checker» – это расширение для PortSwigger Burp Suite, с помощью которого можно тестировать и обходить различные фильтры XSS. Все началось с чтения «HowTo», документаций и гайдов. Потом, поиск похожих расширений на Git. Осложнилось все тем, что я более-менее знаком с Python, но Burp Suite и большинство расширений на Java, которую я могу читать, но точно не писать на ней. К счастью, возможность разработки расширений Burp Suite на Python есть, хоть в этом есть достаточно много недостатков («заточенность» Burp Suite и документации для Java, вывод ошибок и донастройка окружения). В итоге, хоть получилось и неидеально, но проект был сделан и выполнял почти все поставленные задачи. Остались мелочи, которые легко можно доработать, а быть может и дополнить функциональность расширения.

Проект доступен здесь: https://github.com/whoishacked/burp_xss_restriction_bypass_checker 

4. В процессе стажировки был анализ приложения с уязвимостями, лекции на эту и другие темы, крутой проект. Что ж еще для стажера нужно?

Источник: https://habr.com/ru/company/dsec/blog/682620/


Интересные статьи

Интересные статьи

Вечером 13 августа Луна взойдет примерно через полтора часа после захода Солнца. Фаза её составит 95%, и опытный глаз уже без труда заметит, что Луна не полная — начала убывать. Положение Луны ...
Продолжаем знакомить вас с выпускниками магистратуры JetBrains и ИТМО «Разработка программного обеспечения», которые по завершении обучения пополнили преподавательский состав программы. В...
Эта статья — завершающая в цикле материалов о нашем опыте выстраивания процесса безопасной разработки для крупного ритейлера. Если пропустили, можете прочитать первые части: о безопасной ...
Всем привет. С некоторым запозданием я решил опубликовать эту статью. Каждый год я стараюсь подвести итоги произошедшего в области обработки естественного языка (natural language processing). Не ...
Основанная в 1998 году компания «Битрикс» заявила о себе в 2001 году, запустив первый в России интернет-магазин программного обеспечения Softkey.ru.