Лаборатория тестирования на проникновение «Test lab v.7» глазами хакеров
Обзорная статья о результатах участия в бесплатной пентест-лаборатории «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».
В этой лаборатории, как и в прежних, я ворчал, что приходится много брутить или угадывать, но всё равно опять вынес для себя полезное =). Одним из наиболее нетривиальных заданий было эксплуатация уязвимостей на сервере terminal, где надо было провести DLL-hijacking в обход антивируса MSE. Также, несмотря на отвлекающие ложные пути, выделялось задание forum, в котором надо было эксплуатировать уязвимости руками, и в котором подводили фаззинг-словари по умолчанию в Burp Suite. Другие задачи полезны для отработки стандартных навыков и умения сопоставлять различные находки. Спасибо организаторам за тренировочную площадку! Омар Ганиев (Beched), incsecurity.ru
Вслед за Омаром, спустя некоторое время, собрать все токены удалось участникам MERRON, DarkCat и AV1ct0r. Несмотря на то, что лаборатория считается пройденной, самой сути она не лишается, а именно дать возможность всем желающим закрепить навыки практического пентеста, а также получить новые. Учитывая сложность заданий, мы подготовили частичное прохождение лаборатории.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 одного из сотрудников компании. Используем полученную информацию для атаки Проверив веб-сайт на порту 8100 видим, что это веб интерфейс к почтовому серверу на 25 порту. Воспользуемся этой информацией позже, а пока выполним подбор пароля к обнаруженной учетной записи.
Найденный логин и пароль предоставляет доступ к почте сотрудника 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.
Это вводная часть прохождения лаборатории, надеюсь она поможет понять логику заданий и решить остальные такси самостоятельно.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
Надеюсь, коллективный труд авторов статьи не был напрасным и она оказалась полезной. Буду раз рассмотреть все пожелания и замечания в ЛС. Всем хорошего дня! Ссылки: Лаборатория «Test lab v. 7» | Обсуждение | Карта атак | Зал славы