Обзорная статья о результатах участия в бесплатной пентест-лаборатории «Test lab v.7» под кодовым названием «Ахиллесова пята». Статья содержит информацию о работах по подготовке лаборатории, частичное прохождение, а также комментарии победителей.
«Test lab v.7» представляет собой корпоративную сеть виртуальной компании «SecureSoft LLC» на базе ОС Windows и Linux. Виртуальная компания специализируется на разработке программного обеспечения и имеет некоторые бреши в безопасности. Участникам предлагается, используя найденные уязвимости, проникнуть в сеть и получить доступ ко всем узлам «SecureSoft LLC», каждый из которых содержит секретный токен (их всего 10).
Лаборатория была запущена 01.05.2015 г. в 22:00 по московскому времени и доступна по сей день. На момент запуска было зарегистрировано порядка 1200 участников из разных стран. Для удобства общения и решения проблем был подготовлен форум на русском и английском языках. Действия участников можно было наблюдать на «Cyberattack world map».
Первому произвести успешную атаку на все узлы лаборатории удалось Омару Ганиеву (Beched). Спустя 6 дней интенсивной атаки Омар взял последний токен, таким образом став уже третий раз подряд чемпионом лабораторий «Test lab».
Внимание. Раздел содержит указания на прохождение части лаборатории.
Особенностью всех «Test lab» лабораторий является приближенность к реальным условиям работы корпоративной сети и моделирование векторов и сценариев атак, встречающихся в реальной жизни. Данный write-up описывает первые задания лаборатории и направление по прохождению следующих. Перед тем, как проходить задания, нам необходимо зарегистрироваться на сайте лаборатории и выполнить настройки в дистрибутиве, который будем использовать для выполнения пентеста виртуальной сети. Рекомендуется использовать дистрибутив Kali Linux. Это специализированный дистрибутив, созданный для специалистов по информационной безопасности и содержащий большое количество утилит для тестирования на проникновение. После прохождения регистрации и подключения по VPN к лаборатории, нам доступна следующая информация:
В контексте лабораторий тестирование на проникновение происходит в режиме GrayBox – когда известна частичная информация об атакуемой инфраструктуре. В данном случае у нас есть карта сети с обозначенными на ней узлами и их ролями.
Первое, с чего необходимо проводить тестирование на проникновение – сбор информации. Используем популярную утилиту сканирования портов — nmap. После этого вручную проверяем полученную информацию, а именно проверяем ответы от подключения к открытым портам с помощью telnet и смотрим сгенерированный код html страниц.
Специально к запуску 7-ой лаборатории была реализована мировая карта атак. Визуализация атак позволила увидеть географию участников. Согласно данным на момент написания статьи в лаборатории приняли участие специалисты из 63 стран и 194 городов. Наибольшее количество участников было из России (322 IP), на втором месте США (64 IP) и закрывает тройку Украина (37 IP). В рейтинге уникальных IP по городам лидирует Москва (242 адреса), на втором месте Киев (25 адресов) и на третьем — Петрозаводск (18 адресов).
Полный список стран участников: Algeria, Andorra, Armenia, Australia, Austria, Azerbaijan, Belarus, Belgium, Bosnia and Herzegovina, Brazil, Bulgaria, Canada, Chile, China, Croatia, Cyprus, Czech Republic, Denmark, Egypt, Estonia, Finland, France, Georgia, Germany, Greece, Hong Kong (SAR), Hungary, India, Indonesia, Iran, Ireland, Israel, Italy, Japan, Kazakhstan, Korea South, Kyrgyzstan, Latvia, Lithuania, Mexico, Moldova, Netherlands, Norway, Pakistan, Panama, Philippines, Poland, Portugal, Romania, Russia, Slovenia, Spain, Sweden, Switzerland, Syria, Thailand, Turkey, Ukraine, United Arab Emirates, United Kingdom, United States, Uzbekistan, Zambia.
Работа над лабораторией, как это у нас уже принято, ведется в несколько этапов:
1. Предложение и обсуждение идей для заданий.
2. Реализация стендового варианта задания, проверка.
3. «Допиливание» до финального варианта.
4. Объединение в общий сценарий.
Во избежание проблем во время запуска лаборатории, при реализации заданий обязательно учитываются:
— факт одновременного выполнения задания более чем одним участником;
— не все участники «белые и пушистые». Необходимо исключить возможность вандализма или попытки затруднить доступ другим участникам.
В некоторых случаях, когда задание требует получения полного контроля над системой, но при этом оно настолько интересно, что хочется включить его в лабораторию, приходится идти на некоторый компромисс. Тогда стараемся минимизировать риски. Например предусмотреть сценарием ограничение доступа для минимального количества участников одновременно.
Конечно, очень интересно наблюдать за атаками в реальном времени, находясь «по ту сторону». В этой лаборатории мы не использовали никаких систем обнаружения вторжений, поэтому ограничений в этом плане у участников не было и нет. Но, исходя из наблюдений, наличие такой системы отразило бы большую часть атак. Возможно, в следующей лаборатории мы включим задания по обходу IDS/IPS.
Большинство сканов портов, брутфорсов, сканов директорий и т.д. было сделано общедоступными утилитами с настройками «по-умолчанию»: «nmap scripting engine» и «DirBuster» в User-Agent, например. На одном из заданий мы оставили два варианта прохождения, но второй позволял еще и помешать другим — поэтому решили посмотреть, какой вариант предпочтут участники. К сожалению, как и предполагалось, через некоторое время начался вандализм :)
Поначалу мы решили подыграть и имитировать присутствие админа, который пытается разобраться что происходит и закрыть дыры. Около часа обрывали коннекты к шеллам, удаляли их и всячески мешали, но не закрывая саму возможность эксплуатирования. Потом, все же, пришлось альтернативный вариант закрыть, потому как некоторые недобросовестные участники постоянно пытались удалить сам токен, мешая другим пройти это задание — видимо, это занятие доставило им больше удовольствия, чем прохождение самой лаборатории.
Надеюсь, коллективный труд авторов статьи не был напрасным и она оказалась полезной. Буду рад рассмотреть все пожелания и замечания в ЛС. Всем хорошего дня!
Пара слов о лаборатории
«Test lab v.7» представляет собой корпоративную сеть виртуальной компании «SecureSoft LLC» на базе ОС Windows и Linux. Виртуальная компания специализируется на разработке программного обеспечения и имеет некоторые бреши в безопасности. Участникам предлагается, используя найденные уязвимости, проникнуть в сеть и получить доступ ко всем узлам «SecureSoft LLC», каждый из которых содержит секретный токен (их всего 10).
Хронология событий
Лаборатория была запущена 01.05.2015 г. в 22:00 по московскому времени и доступна по сей день. На момент запуска было зарегистрировано порядка 1200 участников из разных стран. Для удобства общения и решения проблем был подготовлен форум на русском и английском языках. Действия участников можно было наблюдать на «Cyberattack world map».
Первому произвести успешную атаку на все узлы лаборатории удалось Омару Ганиеву (Beched). Спустя 6 дней интенсивной атаки Омар взял последний токен, таким образом став уже третий раз подряд чемпионом лабораторий «Test lab».
В этой лаборатории, как и в прежних, я ворчал, что приходится много брутить или угадывать, но всё равно опять вынес для себя полезное =). Одним из наиболее нетривиальных заданий было эксплуатация уязвимостей на сервере terminal, где надо было провести DLL-hijacking в обход антивируса MSE. Также, несмотря на отвлекающие ложные пути, выделялось задание forum, в котором надо было эксплуатировать уязвимости руками, и в котором подводили фаззинг-словари по умолчанию в Burp Suite. Другие задачи полезны для отработки стандартных навыков и умения сопоставлять различные находки. Спасибо организаторам за тренировочную площадку!Вслед за Омаром, спустя некоторое время, собрать все токены удалось участникам MERRON, DarkCat и AV1ct0r. Несмотря на то, что лаборатория считается пройденной, самой сути она не лишается, а именно дать возможность всем желающим закрепить навыки практического пентеста, а также получить новые. Учитывая сложность заданий, мы подготовили частичное прохождение лаборатории.
Омар Ганиев (Beched), incsecurity.ru
Write-up
Внимание. Раздел содержит указания на прохождение части лаборатории.
Особенностью всех «Test lab» лабораторий является приближенность к реальным условиям работы корпоративной сети и моделирование векторов и сценариев атак, встречающихся в реальной жизни. Данный write-up описывает первые задания лаборатории и направление по прохождению следующих. Перед тем, как проходить задания, нам необходимо зарегистрироваться на сайте лаборатории и выполнить настройки в дистрибутиве, который будем использовать для выполнения пентеста виртуальной сети. Рекомендуется использовать дистрибутив Kali Linux. Это специализированный дистрибутив, созданный для специалистов по информационной безопасности и содержащий большое количество утилит для тестирования на проникновение. После прохождения регистрации и подключения по VPN к лаборатории, нам доступна следующая информация:
Первоначальная информация
- Тестируемая сеть компании: SecureSoft LLC.
- Server's IP address: 192.168.101.5
- Карта сети
В контексте лабораторий тестирование на проникновение происходит в режиме GrayBox – когда известна частичная информация об атакуемой инфраструктуре. В данном случае у нас есть карта сети с обозначенными на ней узлами и их ролями.
Первое, с чего необходимо проводить тестирование на проникновение – сбор информации. Используем популярную утилиту сканирования портов — nmap. После этого вручную проверяем полученную информацию, а именно проверяем ответы от подключения к открытым портам с помощью telnet и смотрим сгенерированный код html страниц.
Сбор информации
Запуск утилиты «nmap 192.168.101.5» выдал следующую информацию:
Открытый 22 порт предоставляет доступ по SSH. Пока запомним это.
Открытый 25 порт почтового сервера говорит о том, что мы можем попробовать выполнить подбор паролей (BruteForce) на достаточно большой скорости (в отличии от web-bruteforce), для bruteforce-атак хорошо подходит утилита Hydra. Проверка веб-сайта на 80 порту предоставила нам информацию об использованном правиле составления логинов учетных записей. В исходном коде веб-страницы можно обнаружить e-mail одного из сотрудников компании.
Открытый 22 порт предоставляет доступ по SSH. Пока запомним это.
Открытый 25 порт почтового сервера говорит о том, что мы можем попробовать выполнить подбор паролей (BruteForce) на достаточно большой скорости (в отличии от web-bruteforce), для bruteforce-атак хорошо подходит утилита Hydra. Проверка веб-сайта на 80 порту предоставила нам информацию об использованном правиле составления логинов учетных записей. В исходном коде веб-страницы можно обнаружить e-mail одного из сотрудников компании.
Используем полученную информацию для атаки
Проверив веб-сайт на порту 8100 видим, что это веб интерфейс к почтовому серверу на 25 порту. Воспользуемся этой информацией позже, а пока выполним подбор пароля к обнаруженной учетной записи.
Найденный логин и пароль предоставляет доступ к почте сотрудника SecureSoft LLC angela.allard через веб-интерфейс.
Просматривая почту angela.allard, обнаруживаем перечень сотрудников компании SecureSoft LLC.
Теперь в нашем распоряжении есть большой список сотрудников компании, который мы приведем к логике формирования логинов учетных записей <имя>.<фамилия>.
Полученный список скармливаем Hydra и… И немного ждем. Спустя некоторое время получаем пароль от учетной записи pauline.newman. Для атаки Bruteforce (подбор паролей) использовался словарь, состоящий из популярных паролей 2014 года, найденных через запрос google (на подготовку словаря ушло 5 мин.).
Почта второго сотрудника предоставила нам больше интересной информации. Во-первых, мы получили заветный token от задания Mail, и второе, мы получили дополнительную информацию для прохождения лаборатории.
Найденный логин и пароль предоставляет доступ к почте сотрудника SecureSoft LLC angela.allard через веб-интерфейс.
Просматривая почту angela.allard, обнаруживаем перечень сотрудников компании SecureSoft LLC.
Теперь в нашем распоряжении есть большой список сотрудников компании, который мы приведем к логике формирования логинов учетных записей <имя>.<фамилия>.
Полученный список скармливаем Hydra и… И немного ждем. Спустя некоторое время получаем пароль от учетной записи pauline.newman. Для атаки Bruteforce (подбор паролей) использовался словарь, состоящий из популярных паролей 2014 года, найденных через запрос google (на подготовку словаря ушло 5 мин.).
Почта второго сотрудника предоставила нам больше интересной информации. Во-первых, мы получили заветный token от задания Mail, и второе, мы получили дополнительную информацию для прохождения лаборатории.
Реализуем дополнительный вектор атаки
Это вводная часть прохождения лаборатории, надеюсь она поможет понять логику заданий и решить остальные задания самостоятельно.Как и в реальном тестировании на проникновение атакующая сторона собирает информацию об атакуемой системе в любых возможных и доступных местах.
Наиболее интересными могут оказаться ресурсы, предназначенные для ИТ/ИБ персонала – там может содержаться крайне критичная информация, которая поможет получить доступ ко всей сети. На предоставленной схеме отмечен интересный ресурс – Admin Tools. Утилитой nmap сканируем диапазон портов 1-10000 заинтересовавшего нас ресурса
.
Видим, что на нестандартном порту 3121 висит какое-то приложение. Опытным путем определяем, что там запущен веб-сайт Admin Tools.
Функционал этого сайта оказался нерабочим. На нем содержались утилиты, облегчающие работу системного администратора. На всплывающей подсказке к форме сабмита было обнаружено указание на загрузку SSH ключа, что наводку на то, что данный файлик может находится на этом сервере. После изучения структуры сайта и html-кода, не было найдено ничего полезного, поэтому было принято решение просканировать директории сайта утилитой dirb.
Был обнаружен файл .bash_history. Этот файл содержит историю команд, которые выполнялись в консоли, например, через SSH. В этом файле было обнаружено название приватного ключа SSH — ssh_key.priv, который был тут же скачан с сайта.
Теперь у нас появились данные для доступа во внутреннюю сеть компании SecureSoft LLC через 22 порт с помощью ssh. Также, в файле ssh_key.priv можно обнаружить token к заданию Admin Tools.
Наиболее интересными могут оказаться ресурсы, предназначенные для ИТ/ИБ персонала – там может содержаться крайне критичная информация, которая поможет получить доступ ко всей сети. На предоставленной схеме отмечен интересный ресурс – Admin Tools. Утилитой nmap сканируем диапазон портов 1-10000 заинтересовавшего нас ресурса
.
Видим, что на нестандартном порту 3121 висит какое-то приложение. Опытным путем определяем, что там запущен веб-сайт Admin Tools.
Функционал этого сайта оказался нерабочим. На нем содержались утилиты, облегчающие работу системного администратора. На всплывающей подсказке к форме сабмита было обнаружено указание на загрузку SSH ключа, что наводку на то, что данный файлик может находится на этом сервере. После изучения структуры сайта и html-кода, не было найдено ничего полезного, поэтому было принято решение просканировать директории сайта утилитой dirb.
Был обнаружен файл .bash_history. Этот файл содержит историю команд, которые выполнялись в консоли, например, через SSH. В этом файле было обнаружено название приватного ключа SSH — ssh_key.priv, который был тут же скачан с сайта.
Теперь у нас появились данные для доступа во внутреннюю сеть компании SecureSoft LLC через 22 порт с помощью ssh. Также, в файле ssh_key.priv можно обнаружить token к заданию Admin Tools.
Cyberattack world map
Специально к запуску 7-ой лаборатории была реализована мировая карта атак. Визуализация атак позволила увидеть географию участников. Согласно данным на момент написания статьи в лаборатории приняли участие специалисты из 63 стран и 194 городов. Наибольшее количество участников было из России (322 IP), на втором месте США (64 IP) и закрывает тройку Украина (37 IP). В рейтинге уникальных IP по городам лидирует Москва (242 адреса), на втором месте Киев (25 адресов) и на третьем — Петрозаводск (18 адресов).
Полный список стран участников: Algeria, Andorra, Armenia, Australia, Austria, Azerbaijan, Belarus, Belgium, Bosnia and Herzegovina, Brazil, Bulgaria, Canada, Chile, China, Croatia, Cyprus, Czech Republic, Denmark, Egypt, Estonia, Finland, France, Georgia, Germany, Greece, Hong Kong (SAR), Hungary, India, Indonesia, Iran, Ireland, Israel, Italy, Japan, Kazakhstan, Korea South, Kyrgyzstan, Latvia, Lithuania, Mexico, Moldova, Netherlands, Norway, Pakistan, Panama, Philippines, Poland, Portugal, Romania, Russia, Slovenia, Spain, Sweden, Switzerland, Syria, Thailand, Turkey, Ukraine, United Arab Emirates, United Kingdom, United States, Uzbekistan, Zambia.
По другую сторону баррикад. Комментарии организаторов
Работа над лабораторией, как это у нас уже принято, ведется в несколько этапов:
1. Предложение и обсуждение идей для заданий.
2. Реализация стендового варианта задания, проверка.
3. «Допиливание» до финального варианта.
4. Объединение в общий сценарий.
Во избежание проблем во время запуска лаборатории, при реализации заданий обязательно учитываются:
— факт одновременного выполнения задания более чем одним участником;
— не все участники «белые и пушистые». Необходимо исключить возможность вандализма или попытки затруднить доступ другим участникам.
В некоторых случаях, когда задание требует получения полного контроля над системой, но при этом оно настолько интересно, что хочется включить его в лабораторию, приходится идти на некоторый компромисс. Тогда стараемся минимизировать риски. Например предусмотреть сценарием ограничение доступа для минимального количества участников одновременно.
Конечно, очень интересно наблюдать за атаками в реальном времени, находясь «по ту сторону». В этой лаборатории мы не использовали никаких систем обнаружения вторжений, поэтому ограничений в этом плане у участников не было и нет. Но, исходя из наблюдений, наличие такой системы отразило бы большую часть атак. Возможно, в следующей лаборатории мы включим задания по обходу IDS/IPS.
Большинство сканов портов, брутфорсов, сканов директорий и т.д. было сделано общедоступными утилитами с настройками «по-умолчанию»: «nmap scripting engine» и «DirBuster» в User-Agent, например. На одном из заданий мы оставили два варианта прохождения, но второй позволял еще и помешать другим — поэтому решили посмотреть, какой вариант предпочтут участники. К сожалению, как и предполагалось, через некоторое время начался вандализм :)
Поначалу мы решили подыграть и имитировать присутствие админа, который пытается разобраться что происходит и закрыть дыры. Около часа обрывали коннекты к шеллам, удаляли их и всячески мешали, но не закрывая саму возможность эксплуатирования. Потом, все же, пришлось альтернативный вариант закрыть, потому как некоторые недобросовестные участники постоянно пытались удалить сам токен, мешая другим пройти это задание — видимо, это занятие доставило им больше удовольствия, чем прохождение самой лаборатории.
Комментарии участников
Большое спасибо за создание лаборатории. Все задания были интересными, хотя решение некоторых было не очевидным. Больше всего понравилось задание «ssh»: было очень увлекательно пытаться понять в чём заключалась уязвимость. Как итог, лаборатория — это отличная возможность получить новые знания и применить на практике уже имеющиеся.
MERRON
О лаборатории могу сказать что она была очень интересной, некоторые задания были очень непростыми. Так как я больше всего люблю веб, хотелось бы отметить задание под названием «forum», достаточно интересная задумка, и очень крутая реализация) Хочу пожелать удачи и развития всей команде, ну и большое спасибо за лабораторию, буду ждать следующих лабораторий.
DarkCat
Надеюсь, коллективный труд авторов статьи не был напрасным и она оказалась полезной. Буду рад рассмотреть все пожелания и замечания в ЛС. Всем хорошего дня!
Dor1s
А компания «DefconRU» как-то связана с DEF CON?
На официальном сайте информации не нашел.
rodionovs Автор
Здравствуйте!
Не связана никаким образом)
Dor1s
Понятно. Значит, вы чужой trademark используете в названии.
Почему тогда не GoogleRU или AppleRU? Куда более популярные чужие торговые знаки :)
Dink
Ну AppleRU такие же предприимчивые люди уже заняли))
rodionovs Автор
Как Вы правильно заметили, трейдмарк (судя по описанию), не принадлежит www.defcon.org
Dor1s
Вообще-то я заметил, что он принадлежит DEFCON®, Inc. Следовательно, для всех других лиц и компаний данный торговый знак — чужой.
Цитата с их сайта:
Но раз уж вы упомянули www.defcon.org, владельцем которого является DEF CON Communications, Inc., то у них тоже зарегистрированы права на торговый знак DEF CON с вариантом написания через пробел.
Это я все к чему. Сколько бы не было «таких же предприимчивых людей», факт их существования не очистит совесть и репутацию.
rodionovs Автор
Совершенно верно, указания на DefconRU там не значится :)
d00kie
Я думаю, это просто модный «лейбл», раскрученный мировым и, даже, Российским сообществом DEF CON, который можно спокойно юзать во славу 8)
Например первый же пост на блоге ДефконРу — отчет о ивенте, к слову — очень хорошем ивенте, бесплатном — для людей, но почему он не на блоге Пентестита, какой смысл несет этот «ДефконРу», кроме как аллиас к «Пентестит» — непонятно. Это может привести лишь к колизиям, про которую уже говорили в мейл треде ДефконГруппе и твитторе, что, в худшем случае приведет к расколу и не приятным эмоциям, что не на пользу сообществу.
rodionovs Автор
Спасибо за положительный отзыв о лаборатории! Что было «горячее», о том и написали :) Учитывая, что основным составом желающих были коллеги из PENTESTIT, решили написать о лаборатории. И, как можно увидеть из содержания статьи, никакой коммерческой рекламы она не содержит. Если есть еще интересные предложения и материал — с удовольствием обсудим и разместим. Обращу внимание, что в состав DefconRU входят специалисты из разных компаний.
Да, действительно, PENTESTIT и DefconRU многое связывает, но эта два разных проекта. PENTESTIT — коммерческий, DefconRU — нет. И поскольку к консенсусу в использовании ресурса defcon.ru в сообществе Defcon Russia прийти не удалось, команда DefconRU, в которую входит как часть сотрудников PENTESTIT, так и специалисты из других компаний и тусовок, решила отделить DefconRU и использовать его как некоммерческую площадку для обмена опытом в области практической ИБ. Как это может привести к расколу сообщества, не понятно, вроде полезное дело делаем :)
d00kie
Я не говорю, что раскол будет, я говорю, что он может быть — дальнейшее зависит от Вас. Я поясню — люди не любят, когда берут раскрученный бренд и начинают использовать в «для себя». Люди реагируют. Это реакция по сути негативное явление, но это ответная реакция… нет дыма без огня, это как раз про эту ситуацию 8) Все понимают, что слова «DefconRu — не коммерческий», это просто слова, ведь тут дело не в монетизации бренда или юридическом лице, а в его использовании. Например Российские Дефкон группы, обе две — то же юзают этот бренд, но исключительно в рамках объедения коммунити под теми идеями, ради которых «дефкон группы» и задуманы. Любые другие использования этого слова, в рамках нашей хак сцены — исключительная прерогатива владельцев конференции DEF CON. Напоминаю, что такое Defcon Group:
What does it mean to have a DC Group in my city?" The DC Group function is a cooperative environment where each member contributes somehow. They get together once a month and mull over a particular technical topic (no politics or 'save the planet' crap here). Hanging out to meet fellow hackers is recommended, but not required (some of you won't even get along with your own mom). Presentations given at the meetings should be put on the website for other groups to use as inspiration for their own groups.
Ваш единственно «законный», с точки зрения коммунити, шанс юзать это слово — регать в Москве вторую группу официально, устраивать регулярные встречи:
Q: Does this mean that there can be multiple groups in a single area?
A: DEF CON will not stop the formation of competing groups in the same city or region. We understand that there are often personality or political conflicts that might cause issues. As such, we assume that Darwin's law of evolution will take effect and only the strongest groups will survive. If you think you have what it takes to successfully lead a DCG in your area, we encourage you to read the DCG POC FAQ on this same site.
Все остальное, использование чужого «бренда», просто потому что он крутой… это и вызывает тот самый негативный ответ (исключая все остальные притенении, которые еще были к слову «Russia», которые теперь улажены).
d00kie
Дело в том, что нет никаких ограничений на спонсорство и зависимость Дефкон групп от компаний нет, ну создайте свою дефкон группу, пусть Пентестит будет спонсором и основой. Так вполне можно. Вся эта «антикомерческая» фигня, это траблы только группы Defcon-Russia, это мы придумали, и за это боремся, но Вам то не обязательно пытаться угодить нам, вы можете создать свою группу с блекджеком, и никто вам слова (за использование «дефкон») не скажет — вы официальная группа!