10 декабря мы запустили очередную, 14-ю по счету лабораторию тестирования на проникновение Test lab. На сайте лабораторий зарегистрировано уже более 30.000 участников со всего мира. Если коротко: атакующему предстоит выполнить поиск и эксплуатацию уязвимостей и ошибок конфигураций в сетевых сервисах и веб-приложениях, декомпилировать клиентские приложения на Python, C, Java, повысить привилегии, обойти WAF и использовать скомпрометированные узлы для дальнейшего развития атаки.
Лаборатории Test lab — это бесплатные площадки для развития навыков анализа защищённости в корпоративной среде. Каждая лаборатория уникальна, имеет единую инфраструктуру, полноценную легенду и множество векторов атак, из которых участникам необходимо составить результативный сценарий компрометации.
При разработке лабораторий основными критериями являются реалистичность, актуальность заложенных уязвимостей и методов их эксплуатации, максимально приближая действия атакующих к реальным условиям.
Несмотря на постоянно растущее количество регистраций (более 30.000), за 4 дня работы новой лаборатории в ней приняли участие менее 500 атакующих, из которых только 105 смогли скомпрометировать хотя бы 1 систему.
Лаборатория Test lab 14 разработана в виде распределенной сети, в которую включены 26 узлов, размещенных в 8 подсетях за 2 внешними шлюзами, объединенных между собой IPSEC-туннелем. Большая часть узлов содержит уязвимость, в случае успешной эксплуатации которой можно получить токен.
За четыре дня работы лаборатории определились ее фавориты, но несмотря на круглосуточную активность, скомпрометировать всю лабораторию пока никому не удалось. После того, как активное продвижение во внутрь остановилось (примерно на третий день), энтузиазм участников спал, но вектора атаки стали подбираться более тщательно.
Накануне вечером мы провели голосование, пытаясь узнать, какое из заданий понравилось больше. Если ориентироваться на промежуточные результаты, наиболее интересными заданиями оказались: certificate (реверс python-приложения, обработанного Cython+SSTRIP), site (WAF bypass с отличным знанием Linux или другой вектор, о котором мы расскажем позже) и java (реверс-инжиниринг Java-приложения). Мы не знаем, насколько серьезно и честно отвечали участники, но в списке ответов присутствуют никем еще не выполненные задания.
Чтобы снизить вероятность атакующим мешать друг другу, мы делим лабораторию на несколько рубежей, размещая задания в зависимости от ожидаемого количества участников. Так, например, на первом рубеже (шлюзы) доступно ограниченное количество сервисов (mail, web, vpn), некоторые из которых содержат уязвимости или ошибки конфигураций, позволяя атакующему развить атаку вглубь сети. На этот рубеж приходится максимальная нагрузка, при этом обеспечить практически 100% доступность сервисов не сложно. Области, в которых участники в процессе атаки могут «уронить» что-то, размещаются в труднодоступном месте, где вряд-ли встретятся более одного участника в один момент времени (сценарии и вектора атаки в таких случаях прорабатываются более детально).
Статистика за прошедшие дни:
- Общее количество выполненных заданий: 153 (10.12), 229 (11.12) и 87 (12.12)
- Самый успешно атакуемый сервер: mail
- Фавориты (по количеству собранных токенов первыми): BadBlackHat (3 токена), penlab14 (2 токена), rack2009 (2 токена) и Electron (2 токена)
- Фавориты (по количеству собранных токенов): BadBlackHat, pr0phet, penlab 14, rack2009, MichaelFaraday, malchikserega, Mister_Bert0ni и nenf — 70% выполненных заданий
Для общения созданы 2 группы в Telegram: на русском и английских языках. Поскольку участники любят использовать единый ник на всех площадках, часто происходит следующее: участники сопоставляют в Telegram ники тех, кто находит токен первым, и «заваливают» их вопросами. Примерно 2 дня ушло на то, чтобы выполнить 70% заданий, после чего продвижение вглубь остановилось. Некоторые успевают не только атаковать лабораторию, но и «помочь» другим:
Несмотря на сведенный к минимуму сценарий с использованием атак методом перебора, выполнение некоторых заданий без этого не обходится. Для успешной атаки на mail-сервер необходимо предварительно (путем выполнения других заданий) выяснить все используемые учетные записи и попробовать подобрать пароль к одной из них. Те, кто это сделал, знают, что пароль простой, тем не менее, советуют словарь из 10 млн. комбинаций. Шутка это или конкурентная борьба, остается только догадываться.
В целом, участники стараются помогать друг другу, объединяя свои усилия в команды с приватными обсуждениями или просто задавая вопросы в общих группах:
Не считая разовой проблемы с одним из серверов в лаборатории, за 4 дня работы мы обеспечили практически 100% доступность ИТ-структуры.
Для участия необходим зарегистрироваться на сайте лаборатории, после чего будет доступна информация для VPN-подключения к серверу, за которым расположены шлюзы лаборатории. Участие бесплатное, присоединяйтесь.
Кто знает, кто станет победителем The c[RU].sh.
Обновление
При написании статьи мы не обратили внимание на постфикс "-1000". В действительности словарь xato-net-10-million-passwords-1000.txt в содержит только 1K записей.