- 635
- 733
- 15 Янв 2017
Автор: Jeremy Trinka
Давайте попробуем типичную ситуацию, в которой находится пентестер.
В пятницу после полудня жужжание ноутбуков заглушается ритмичной музыкой из наушников, подключенных к смартфону. Найденный хеш до сих пор не взломан, а компьютер, где происходит весь процесс, не выключался с утра вторника. Вторая банка энергетика ударилась о край мусорной корзины.
Выглаженный повседневно-деловой костюм, который вы вынуждены носить, начинает сковывать ваше дыхание, поскольку внутри зарождается разочарование. До того момента, когда вам нужно сообщить клиенту о результатах работы остается несколько часов, однако нет никакого желания появляться в офисе до того, как задача не будет решена полностью.
Сделайте глубокий вдох. Настало время отложить работу, вернуться в начало и попытаться взглянуть на текущую ситуацию под новым углом зрения.
Во времена Backtrack и ранних версий Kali Linux на фоновом изображении рабочего стола, используемом по умолчанию, висел следующий слоган: «Тем тише вы становитесь, тем больше сможете услышать» (который лучше было бы быстро поменять, чтобы не привлекать к себе внимание). Только после того, как я стал профессиональным пентестером, я понял мудрость этого изречения. Поскольку технологии непрерывно развиваются, как только вы проникли в чужую сеть, то должны в кратчайшие сроки разобраться, как устроена эта сеть. К сожалению, у большинства сетевых и системных администраторов, как и у обычных людей, есть привычки, и чтобы найти нечто интересное и представляющее ценность, все, что нам нужно – просто затаиться и слушать.
Когда речь заходит о тестировании на проникновении, начинается противостояние между двумя группировками. С одной стороны, пентестер хочет найти уязвимость, с другой – системный администратор хочет показать, что система устойчива к кибератакам. В некотором роде эта тема схожа с соревнованиями по любительскому футболу, спонсируемыми пивным пабом. После игры участники обеих команд проводят время в баре, но жажду выигрыша и успеха никто не отменял. Разница между футболом и пентестом в том, что в спортивной игре правила прозрачны, и все участники знают о стратегии достижения результатов.
Вне всякого сомнения, задача пентестера заключается в том, чтобы безопасно симулировать легитимную угрозу с целью определения рисков. Однако без досконального понимания ситуации сложно придумать хорошее лекарство. Сунь-Цзы однажды сказал:
«Если вы не знаете ни противника, ни себя, то будете проигрывать каждую битву».
Чтобы обезопасить сеть от киберугроз каждый администратор должен быть знаком не только со своими инструментами, но инструментами противника (по крайней мере, на информационном уровне). Находиться в темноте – не самый оптимальный путь.
Введение
В этой статье в основном я попытаюсь дать ответ на вопрос «почему», и затрону ответы на вопрос «как». Существует бесчисленное множество всяких видео и руководств, где рассказывается о том, как использовать инструменты, и вообще приводится намного больше информации, чем можно уместить в одну статью. Кроме того, я допускаю, что у других специалистов может быть другое мнение относительно упоминаемых утилит. Приведенный здесь список далеко не полный. Если ваше мнение отличается о моего, я буду рад почитать ваши комментарии.
Теперь переходим непосредственно к описанию инструментов.
1. Responder
На мой взгляд, эта утилита находится во главе списка. Когда исследователь начинает свою работу и заводит речь об «ограниченной функциональности», этот инструмент – первое, что приходит в голову. Если вы - пентестер, то после подключения к сети и начала поиска уязвимостей, Для просмотра ссылки Войди
- Для просмотра ссылки Войди
или Зарегистрируйся(LLMNR) - Для просмотра ссылки Войди
или Зарегистрируйся(NBT-NS) - Для просмотра ссылки Войди
или Зарегистрируйся(WPAD)
Если вы работаете сисадмином, то возможно что-то слышали об этих протоколах, но не сможете вспомнить откуда. Вы могли видеть упоминания этих понятий в учебной литературе от Microsoft, которая уже давно потеряла актуальность, или, в зависимости от того, как долго вы в теме, могли настраивать эти протоколы.
NBT-NS – протокол-пережиток прошлого, оставленный Microsoft в целях совместимости, чтобы приложения, где используется NetBIOS, могли работать в сетях TCP/IP. Протокол LLMNR схож с DNS и опирается на многоадресные (multicast) одноранговые (peer-to-peer) коммуникации для преобразования имен. Этот протокол появился во временя Windows Vista, что, как мы понимаем, не может сулить ничего хорошего. Даже если вы никогда не сталкивались ни с одним из вышеупомянутых понятий, пакеты данных протоколов распространяются по сети, о чем прекрасно осведомлены злоумышленника как реальные, так и вымышленные.
С другой стороны, протокол WPAD решает вполне конкретные задачи. В большинстве корпоративных сетей используется автоматическое конфигурирование прокси-сервера (PAC) с целью контроля доступа хостов к интернету. И WPAD позволяет осуществлять этот контроль относительно просто. Компьютеры в сети посылают широковещательное сообщение в поисках файла, используемого протоколом WPAD, и автоматической настройки прокси. И именно в этот момент может осуществляться вредоносная деятельность.
Специалисты по кибербезопасности хорошо знают, что большинство протоколов, где используется широковещательные и многоадресные коммуникации в любой форме, имеют уязвимости. Если посмотреть с позиции злоумышленника, то один из наиболее распространенных кейсов – кража учетных записей и взлом хешей, полученных после инициации или повторного использования «рукопожатий».
К сожалению, системные администраторы в основном уделяют внимание бесконечному списку задач, связанным с работоспособностью системы. Для особо занятых существуют простые методы защиты от подобного рода киберугроз, суть которых сводится к отключению соответствующих протоколов. Для передачи файла, связанного с автоматической настройкой прокси-сервера, необходимо использовать более безопасные методы, как, например, групповые политики. Понимаю, что соблазн воспользоваться автоматическим детектированием настроек весьма велик, однако старайтесь избегать подобного рода фишек.
2. PowerShell Empire
Прежде, чем утилита Для просмотра ссылки Войди
Произошедшее можно сравнить с коллективным подсознанием пентестеров, которые в один момент пришли к выводу, что наиболее продвинутый инструментарий уже находится на всех современных рабочих станциях по всему миру. Осталось только смастерить фреймворк, что и сделала команда Empire.
В итоге многие фреймворки и утилиты, используемые пентестерами во время эксплуатации и пост-эксплуатации брешей, стали адаптироваться под PowerShell. Конечно же, реальные злоумышленники также не могли обойти эту тему стороной.
Если взглянуть на эту ситуацию с позиции системного администратора, сей факт означает ровно одно: некоторые меры безопасности можно легко обойти. Агенты, включая вредоносы, которые не используют файлы, можно легко развернуть на базе PowerShell. Подобного рода разработки существуют исключительно в памяти, не хранятся на жестком диске и не используют USB (Для просмотра ссылки Войди
Наилучший метод защиты от бесфайловых вредоносов – или Для просмотра ссылки Войди
Кроме того, не лишним будет проанализировать, как используется PowerShell в вашей системе. Могут ли обычные пользователи использовать этот инструмент, и если да, то почему?
Когда речь заходит о предотвращении угроз, позвольте мне сразу же сэкономить вам много времени. Ограничения, связанные с политикой выполнения в PowerShell, легко обходятся (см. флаг «-ExecutionPolicy Bypass»).
3. Hashcat и словари
Эта сладкая парочка находится в моем списке абсолютно заслуженно. Взлом хешей и восстановление паролей – достаточно понятная тема, поэтому я не буду уделять этому вопросу много времени.
Для просмотра ссылки Войди
Пентестеры, если вы подбираете пароли при помощи одного ноутбука, то это неправильный подход. Нужно хотя бы два. Плюс хороший графический процессор для повышения вероятности успеха.
Сисадмины, сделайте ревизию своих политик и конфигураций. Хорошая практика – следовать индустриальным стандартам как, например, Для просмотра ссылки Войди
4. Инструменты для тестирования веб-приложений
Если вы – пентестер, то, вероятно, еще раз услышите прописную истину. Для всех остальных хотел бы сказать, что утилиты для тестирования веб-приложений и сканеры уязвимостей – не одно и то же.
Несомненно, сканеры уязвимостей (Для просмотра ссылки Войди
В наши дни многие организации внедряют корпоративные веб-приложения, интранет-сайты и системы отчетности. Предполагается, что раз сайт используется исключительно для внутренних нужд, то нет необходимости проводить исследование кода на предмет безопасности, и можно давать доступ всем пользователям. Такой подход приводит к тому, что рано или поздно находятся уязвимости, пригодные для эксплуатации.
Лично я во время пентестов вначале пытаюсь найти явные уязвимости, связанные неправильной конфигурацией служб и хостами с устаревшим программным обеспечением. Если поиски не увенчались успехом, я поднимаюсь на уровень выше и приступаю к тестированию веб-приложения. Поскольку эта область чрезвычайно обширна, всегда можно найти что-нибудь компрометирующее. Вот некоторые классы брешей, которые находятся наиболее часто:
- Для просмотра ссылки Войди
или Зарегистрируйся. - Для просмотра ссылки Войди
или Зарегистрируйся. - Для просмотра ссылки Войди
или Зарегистрируйся. - Для просмотра ссылки Войди
или Зарегистрируйся. - Для просмотра ссылки Войди
или Зарегистрируйся.
Ознакомьтесь с проектом Для просмотра ссылки Войди
Ознакомьтесь с двумя методологиями тестирования приложений:
- Для просмотра ссылки Войди
или Зарегистрируйся— Исходный код приложения должен быть доступен для анализа. - Для просмотра ссылки Войди
или Зарегистрируйся— Анализ приложения в рабочем состоянии.
5. Arpspoof и Wireshark
Вначале статьи я упомянул о том, что нужно взглянуть на ситуацию под новым углом зрения. Эта связка утилит как раз поясняет то, что имелось ввиду.
Arpspoof позволяет пентестеру оказаться между жертвой и шлюзом, а Для просмотра ссылки Войди
С того момента как была представлены первые теоретические концепции, MiTM-атаки (типа «человек посередине) до сих пор остаются эффективными в современных сетях. Учитывая, что на данный момент в подавляющем большинстве внутренних сетей используется протокол IPv4 (подобное положение вещей изменится еще не скоро) и архитектуру протокола ARP, традиционные MiTM-атака будет оставаться актуальной.
Многие ошибочно предполагают, что, если коммуникации происходят внутри сети, сей факт дает гарантию безопасности, и нет необходимости использовать шифрование внутри подсетей. Даже если ваша сеть находится вне интернета, никто не гарантирует, что злоумышленник не сможет проникнуть извне и подключиться к вашим коммуникациям.
Рассуждая в той же самой парадигме, можно предположить, что рабочая станция будет скомпрометирована злоумышленником из другой страны при помощи трояна, позволяющего осуществить MiTM-атаку. Альтернативный и более реалистичный сценарий связан с инсайдерской угрозой. Например, сотрудник, имеющий технические познания и не очень чистые помыслы, ознакомился с несколькими видео на Youtube и решил подкатить к секретарше, к которой вдруг «внезапно» вспыхнули симпатии. Угрозы, связанные с инсайдерами актуальные особенно в тех организациях, руководители которых хорошо известны и очень богаты. Помните, что зависть часто толкает людей на необдуманные поступки.
Теперь поговорим о методах защиты.
Шифруйте коммуникации даже во внутренних сетях. Ошибочно предполагать, что коммуникации внутри сети защищены просто потому, что шлюз не подключен к интернету. Все приложения, работающие по схеме клиент-сервер, по возможности должны шифровать свои коммуникации.
VLAN-сегменты должны быть правильно спроектированы, а вся сеть должны быть защищена от неавторизированных устройств. Возможно, следует внедрить систему управления сетевым доступом (Network Access Control; NAC) или стандарт 802.1X. Отключите неиспользуемые порты и подумайте о Sticky MAC-адресах, если у вас ограничен бюджет.
Задумывались ли вы когда-либо о тестировании IDS-системы? Существуют даже бесплатные варианты с открытым исходным кодом, позволяющие оценить эффективность. Например, Для просмотра ссылки Войди
Нумераторы поддоменов
Нумераторы поддоменов (subdomain enumerator) я решил выделить отдельно, поскольку эта тема полноценно не пересекается ни с одной из вышеперечисленных утилит, но заслуживает рассмотрения. Если вы читаете канал Для просмотра ссылки Войди
Почему эта тема актуальна?
Вне зависимости от того, кто пытается проникнуть в вашу сеть, нанятый пентестер или злоумышленник, разведка занимает 80% времени, и обычно первый шаг связан с перебором поддоменов. Злоумышленнику даже не нужно касаться вашей системы, чтобы понять точки соприкосновения со всемирной паутиной. Утилиты наподобие Для просмотра ссылки Войди
Сисадмины, если бы я вас спросил, насколько ваша система видима из интернета, смогли бы вы ответить мне на этот вопрос? Какие порты и протоколы доступны из «дикой природы»? Доступны ли веб-консоли? Запустите поиск по базе Whois для главного домена, используемого вашей организацией и зарегистрированного у популярного регистратора (Для просмотра ссылки Войди
Приведу пример. Если вы – системный администратор и не знакомы с Финиасом Фишером (Phineas Fisher), я не удивлюсь. Но если вы – пентестер, и не знаете, кто этот человек, то вам должно быть стыдно.
В 2016 году фирма «Hacking Team», располагавшаяся в Милане, была известна как производитель кибер-оружия для правительств по всему миру. Эти друзья были взломаны человеком под псевдонимом, указанным выше. В результате произошла утечка огромного объема данных, и появилась Для просмотра ссылки Войди
Сунь-Цзы сказал следующее:
«Если вы знаете врага и себя, вам не нужно беспокоиться о результате сотни битв».
Интерпретацию этого изречения оставляю на ваше усмотрение.