Rhosts metasploit что это
Практический пример работы с Metasploit Framework
Введение
Начинаем работать с Metasploit
Перед запуском Metasploit полезно было бы понять, что делают хотя бы некоторые его команды. Давайте составим ниже небольшой список наиболее распространенных и применимых на практике команд. Графическое представление вывода этих команд также будет представлено в этой статье и мы воспользуемся им для объяснения процесса пентестинга хостов в дальнейшем.
Список наиболее употребимых команд :
i) search : запустив команду search без указания ключевых слов, мы получим список всех доступных эксплоитов. Если значение имеет имя определенного сплоита, то этой командой мы ищем такой в базе данных системы.
vi) use : команда говорит фреймворку Metasploit запустить эсплоит с указанным конкретным именем.
vii) set RHOST : указываем этой командой Metasploit определенный хост в сети для его изучения. Хост можно задать как по его имени, так и по IP-адресу.
viii) set RPORT : задаем для Metasploit порт удаленной машины, по которому фреймворк должен подключиться к указанному хосту.
ix) set payload : команда указывает имя payload’а, который будет использоваться.
x) set LPORT : задаем номер порта для payload’а на сервере, на котором был выполнен эксплоит. Это важно, так как номер этого порта открыт именно на сервере (он не может быть использован никакими другими службами этого сервера и не резервируется для административных нужд). Советую назначать такой номер из набора четырех случайных цифр, порядок которых начинается с 1024. И тогда у вас все будет хорошо. Также стоит упомянуть, что вам необходимо менять номер порта каждый раз, когда вы успешно запустите эксплоит на удаленной машине.
xii) help : команда help выдаст полный перечень всех доступных команд системы. Я же привел здесь его краткую версию.
Теперь, когда вы знакомы со всеми основными командами, вы можете запустить эксплоит. Для иллюстрации, давайте выберем сценарий, на примере которого я покажу, как получить контроль над удаленной машиной.
Сценарий
OS : Microsoft Windows Server 2003
Kernel version : Linux bt 2.6.38 # SMP Thu Mar 17 20:52:18 EDT 2011 i686 GNU/Linux
Metasploit version : Built in version of metasploit 3.8.0-dev
Единственная информация об удаленной машине, которой мы располагаем, это то, что на ней запущен Windows 2003 Server. Требуется получить доступ к командной оболочке этого удаленного сервера.
Подробные шаги:
Шаг 1 :
Шаг 2 :
На нашей машине, в операционной системе BackTrack, переходим в меню по пути:
Application > BackTrack > Exploration Tools > Network Exploration Tools > Metasploit Framework > msfconsole
Шаг 3 :
Шаг 4 :
Шаг 5 :
В общем случае запуск команды use запускает окружение указанного эксплоита. В нашем же случае мы будем использовать команду use exploit/windows/dcerpc/ms03_026_dcom для запуска этого сплоита.
Шаг 6 :
Шаг 7 :
Шаг 8 :
Теперь, когда все готово и эксплоит отконфигурирован должным образом, настало время запустить его.
Мы можем воспользоваться командой check для того, чтобы убедиться в том, что наша машина-жертва доступна для выполнения на ней эксплоита. Эта опция имеется не для всех сплоитов. Например, на скриншоте Figure8 хорошо видно, что в нашем случе это именно так.
Команда exploit запускает выбранный сплоит, который выполняет все необходимые действия для того, чтобы на удаленной машине смог выполниться payload.
Шаг 9 :
Теперь, когда дополнительное соединение между жертвом и нашей машиной установлено, нам необходимо получить контроль над сервером. Мы можем воспользоваться help для получения списка всех доступных команд, которые мы можем выполнить на удаленном сервере для выполнения соответствующих действий.
Ниже показаны результаты некоторых команд meterpreter :
Таким образом, мы успешно использовали Metasploit фреймворк для получения доступа к удаленному серверу с запущенным на нем Windows 2003 Server. Мы предоставили себе возможность выполнять команды в командной оболочке, что дает нам право полностью контролировать удаленную машину и запускать любые задачи на ней, какие только нам потребуются.
Потенциальные возможности использования фреймворка Metasploit:
Заключение
Что такое Metasploit? Руководство для начинающих
Тестирование на проникновение позволяет ответить на вопрос, как кто-то со злым умыслом может вмешаться в вашу сеть. Используя инструменты пентеста, «белые хакеры» и профессионалы в области безопасности могут на любом этапе разработки или развертывания исследовать сети и приложения на предмет недостатков и уязвимостей путем взлома системы.
Одним из таких средств пентеста является проект Metasploit. Этот фреймворк с открытым исходным кодом, созданный на Ruby, позволяет проводить тестирование с помощью командной строки или графического интерфейса. Его можно расширить, создавая собственные надстройки с поддержкой нескольких языков.
Что такое Metasploit Framework и как он используется?
Metasploit Framework — это мощнейший инструмент, который могут использовать как киберпреступники, так и «белые хакеры» и специалисты по проникновению для исследования уязвимостей в сетях и на серверах. Поскольку это фреймворк с открытым исходным кодом, его можно легко настроить и использовать на большинстве операционных систем.
С помощью Metasploit пентестеры могут использовать готовый или создать пользовательский код и вводить его в сеть для поиска слабых мест. В качестве еще одного способа поиска угроз, после идентификации и документирования недостатков, эту информацию можно использовать для устранения системных недостатков и определения приоритетности решений.
Краткая история Metasploit
Проект Metasploit был создан на языке Perl в 2003 году Эйч Ди Муром (H.D. Moore) при содействии основного разработчика Мэтта Миллера для использования в качестве портативного сетевого инструмента. Он был полностью переведен на язык Ruby к 2007 году, а в 2009 году лицензию приобрела Rapid7, и теперь этот инструмент остается частью ассортимента этой бостонской компании, специализирующейся на разработке систем обнаружения вторжений и инструментов эксплуатации уязвимостей систем удаленного доступа.
Части этих других инструментов находятся в среде Metasploit, которая встроена в ОС Kali Linux. Компания Rapid7 также разработала два запатентованных инструмента OpenCore: Metasploit Pro и Metasploit Express.
Этот фреймворк стал основным инструментом разработки эксплойтов и устранения уязвимостей. До Metasploit пентестерам приходилось выполнять все проверки вручную, используя различные инструменты, которые могли поддерживать или не поддерживать тестируемую платформу, а также вручную писать собственный код и внедрять его в сети. Дистанционное тестирование было чем-то экстраординарным, и это ограничивало работу специалиста по безопасности собственным регионом и местными компаниями, а организациям приходилось тратить целые состояния на собственных ИТ-консультантов или специалистов по безопасности.
Кто использует Metasploit?
Благодаря широкому спектру применений и доступному открытому исходному коду Metasploit используется самыми разными людьми, от профессионалов кибербезопасности до хакеров. Metasploit полезен для всех, кому нужен простой в установке и надежный инструмент, выполняющий свою работу независимо от платформы или языка. Это программное обеспечение пользуется популярностью у хакеров и широко доступно, что мотивирует специалистов по безопасности изучать платформу Metasploit, даже если сами они ей не пользуются.
Современная версия Metasploit содержит свыше 1677 эксплойтов для более 25 платформ, включая Android, PHP, Python, Java, Cisco и другие. Фреймворк также содержит около 500 единиц информационного наполнения («пейлоад»), среди которых вы найдёте:
Сфера применения и преимущества Metasploit
Все, что вам нужно для использования Metasploit после его установки, — это получить информацию о цели либо путем сканирования портов, либо путем получения цифрового отпечатка операционной системы, либо с помощью сканера уязвимостей, чтобы найти способ проникнуть в сеть. Затем остается просто выбрать эксплойт и полезную нагрузку. В этом контексте эксплойт — это средство для выявления слабости в вашей сети или системе и использования этой уязвимости для получения доступа.
Платформа состоит из различных моделей и интерфейсов, которые включают: msfconsole на базе библиотеки curses, msfcli для всех функций msf из терминала или командной строки, Armitag — инструмент с графическим интерфейсом на Java, который используется для интеграции с MSF, а также веб-интерфейс сообщества Metasploit, поддерживающий удаленный пентест.
«Белые хакеры» и специалисты по пентесту, пытающиеся определить уязвимости или извлечь уроки из атак киберпреступников, должны понимать, что последние не афишируют своих действий. Киберпреступники отличаются скрытностью и любят работать через VPN-туннели, таким образом маскируя свой IP-адрес, а многие из них используют выделенный виртуальный сервер, чтобы избежать прерываний, которыми обычно страдают многие провайдеры виртуального хостинга. Эти два инструмента конфиденциальности также будут полезны для «белых хакеров», которые намереваются вступить в мир эксплойтов и пентеста с помощью Metasploit.
Как упоминалось выше, Metasploit предоставляет вам эксплойты, пейлоады, вспомогательные функции, кодировщики, перехватчики, шелл-код, а также послеэксплойтный код и NOP.
Вы можете получить сертификат специалиста Metasploit Pro онлайн, чтобы стать сертифицированным пентестером. Проходной балл для получения сертификата — 80%, а экзамен занимает около двух часов и разрешается пользоваться справочной литературой. Его стоимость составляет 195$, и после успешного прохождения вы сможете распечатать свой сертификат.
Перед экзаменом рекомендуется пройти учебный курс Metasploit и иметь профессиональные или рабочие знания в следующих областях:
Как установить Metasploit
Metasploit доступен в виде программы установки с открытым исходным кодом, которую можно скачать с сайта Rapid7. Минимальные системные требования включают наличие последней версии браузера Chrome, Firefox или Explorer, а также
Операционная система:
Оборудование
После установки при запуске вы столкнетесь со следующими вариантами:
Учимся использовать Metasploit: советы
Легкость изучения Metasploit зависит от вашего знания Ruby. Однако, если вы знакомы с другими скриптовыми языками и языками программирования, например Python, перейти к работе с Metasploit не составит большого труда. В остальном это интуитивно понятный язык, который легко выучить на практике.
Поскольку этот инструмент требует от вас отключения вашей собственной системы защиты и позволяет генерировать вредоносный код, вы должны знать о потенциальных рисках. Если возможно, установите эту программу в отдельной системе, а не на вашем личном устройстве или компьютере, содержащем потенциально конфиденциальную информацию или имеющем доступ к такой информации. При пентесте с Metasploit вам следует использовать отдельное рабочее устройство.
Зачем нужно изучать Metasploit
Эта платформа необходима всем аналитикам безопасности или пентестерам. Это важное средство для обнаружения скрытых уязвимостей с помощью различных инструментов и утилит. Metasploit позволяет поставить себя на место хакера и использовать те же методы для разведки и проникновения в сети и серверы.
Вот схема типичной архитектуры Metasploit:
Пошаговая инструкция по Metasploit
После установки инструментов для тестирования откройте консоль Metasploit. Она выглядит так:
Проще всего ввести в консоли команду help, чтобы отобразился список команд Metasploit и их описания. Это выглядит так:
Первый мощный и полезный инструмент, который вам нужен, — это графический интерфейс Armitage, который позволяет визуализировать цели и рекомендовать наиболее подходящие эксплойты для доступа к ним. Этот инструмент также показывает расширенные функции для более глубокого проникновения и дальнейшего тестирования после того, как было выполнено начальное проникновение с помощью эксплойта. Чтобы выбрать его в консоли, перейдите в Applications — Exploit Tools — Armitage («Приложения» — «Инструменты для эксплойтов» — Armitage).
После того, как на экране появится поле формы, введите хост, номер порта, идентификатор пользователя и пароль. Нажмите Enter после заполнения всех полей, и вы будете готовы к запуску эксплойта.
Ресурсы для изучения Metasploit
Одно из основных достоинств сообщества программного обеспечения с открытым кодом заключается в объединении ресурсов и обмене информацией. Это современное воплощение того, почему был создан интернет. Это средство, способствующее гибкости и дающее безграничные возможности для сотрудничества.
В связи с этим мы предлагаем список ресурсов, которые позволят вам в полной мере реализовать потенциал Matspoit.
Один из лучших ресурсов и первое место, которое вам следует посетить, — это собственная обширная база знаний Metasploit. Там вы найдете руководства для начинающих, метамодули, эксплойты, а также обнаруженные уязвимости и исправления для них. Вы также сможете узнать о различных типах сертификатов Metasploit и о том, как их получить.
Еще один полезный ресурс — Varonis Cyber Workshop. Он предлагает ряд учебных пособий и занятий с экспертами в области кибербезопасности.
Тест на проникновение с помощью Metasploit Framework: базовое руководство для системного администратора
Редко кто из экспертов, специализирующихся на тестировании защищенности, сталкивался с ситуацией, когда не смог полностью скомпрометировать сеть в ходе внутреннего тестирования на проникновение. Причем причины успехов этичных хакеров банальны: слабые пароли, отсутствие критичных обновлений безопасности, ошибки конфигурации. Возникает вопрос: если причины незащищенности такие тривиальные, можно ли разработать перечень ключевых проверок, которые мог бы провести системный администратор самостоятельно и есть ли единый инструмент, позволяющий это реализовать? Попробуем разобраться.
В качестве инструмента мы выберем популярный у этичных хакеров Metasploit Framework, который можно установить самостоятельно, а можно уже воспользоваться тем, что есть в составе комплекса «Сканер-ВС» или Kali Linux. Сразу отметим, что в данной статье мы не будем фокусироваться на тестировании безопасности веб-приложений, так как это является отдельным направлением тестирования.
Прежде чем погружаться в решение технических задач, надо разобраться, а что может заинтересовать потенциальных злоумышленников, и как они будут этого добиваться.
Информация, интересующая злоумышленников
Киберзлоумышленники, как правило, руководствуются такими мотивами как непосредственный заработок на успешном взломе (кража финансовых средств, вымогательство, выполнения заказа для заинтересованной стороны) либо собственное любопытство и проверка своих возможностей. Целью может быть все, что позволит либо украсть, либо заработать. Помимо любой системы, используемой организацией, целью могут быть папки на файловых серверах, а также документы на рабочих станциях пользователей.
Зоны повышенного риска
Основными причинами того, что кто-то не поставил обновление безопасности или оставил пароль по умолчанию, является отсутствие ответственного сотрудника и/или надлежащего контроля со стороны руководства.
Исходя из этих причин, можно обозначить следующие болевые точки, которые подтверждаются нашей практикой проведения тестов на проникновение.
Базовый алгоритм работы с Metasploit Framework
Так как в качестве инструмента для проведения тестирования защищенности мы выбрали Metasploit Framework, то необходимо привести базовый алгоритм работы с модулями, входящими в его состав.
Работа с модулем состоит из следующих шагов:
Методология тестирования защищенности
Тестирование защищенности информационных систем зачастую представляет собой творческий процесс, который тем не менее можно и нужно структурировать, чтобы получать сопоставимые и полные результаты тестирования.
Неплохое описание методологий тестирования защищенности приводится в следующих источниках:
В PTES приведена подробная структура задач, решаемых в ходе тестирования защищенности и примеры использования различных инструментов, но при этом применение такого средства как Metasploit Framework практически не описано. OSSTM в большей степени предназначен для менеджеров по информационной безопасности и содержит техническую информацию в очень ограниченном объеме. NIST SP 800-115 был принят в 2008-м году и не полностью отражает современные подходы к тестированию защищенности. OWASP Testing Guide посвящен тестированию защищенности исключительно web-приложений и содержит подробное и структурированное описание методов тестирования, а также варианты применения различных инструментов.
Рассмотрим следующие этапы тестирования защищенности, присутствующие в практически любом проекте по тестированию на проникновение:
Этап 1. Постановка задачи
Тестирование защищенности любой ИТ-инфраструктуры начинается с постановки задачи. В нашем случае мы ограничимся поиском максимального количества реальных уязвимостей, которые могут быть проэксплуатированы потенциальными злоумышленниками, имеющими физический доступ к компьютерной сети организации.
Для демонстрации работы некоторых модулей в статье будут приводиться результаты их запуска против такой учебной цели, как Metasploitable 2. Metasploitable 2 представляет собой виртуальную Linux-машину, содержащую массу уязвимых сервисов. Является стандартом де-факто для обучения начинающих специалистов по тестированию защищенности.
Этап 2. Сбор информации и поиск целей
Для проведения тестирования защищенности специалистам предоставляют доступ в сеть предприятия. В ходе предварительного сбора проводится сканирование узлов, определяются имена компьютеров, обнаруживаются общедоступные сетевые папки, критичные ресурсы.
Сканирование портов можно провести с помощью команды db_nmap – утилиты-«обертки» для nmap в Metasploit Framework, которая позволяет сохранять результаты сканирования в базу данных.
После завершения сканирования сети имеет смысл выгрузить данные из базы Metasploit с помощью команды db_export и импортировать получившийся xml-файл в MS Excel или LibreOffice Calc. В дальнейшем данный файл можно использовать для поиска узлов с определенными портами и вести рабочие заметки с результатами тестирования каждого узла.
Поиск общедоступных сетевых папок
Как мы уже рассмотрели выше, в общедоступных сетевых папках может быть масса полезной для злоумышленника информации. Имеет смысл искать данные папки как с анонимной учетной записью (пустой логин/пустой пароль), так и с учетной записью обычного пользователя.
Для поиска SMB-ресурсов необходимо воспользоваться модулем auxiliary/scanner/smb/smb_enumshares, а для NFS: auxiliary/scanner/nfs/nfsmount.
Поиск СУБД
Для поиска СУБД MS SQL имеет смысл использовать модуль auxiliary/scanner/mssql/mssql_ping, так как он позволяет не только обнаружить серверы СУБД по открытому UDP порту 1434, но и определить TCP-порт, по которому база данных ждет подключения.
Определение имен NetBIOS
Зачастую полезно определить имена NetBIOS, так как в них тоже может содержаться полезная информация (например, к какой системе относится тот или иной узел). Для этого можно воспользоваться модулем auxiliary/scanner/netbios/nbname.
Этап 3. Поиск уязвимостей
Сначала рассмотрим основные методы выявления уязвимостей, которые представлены в следующей таблице:
№ | Метод | Тип уязвимостей | Примеры |
---|---|---|---|
1 | Определение уязвимостей по версии продукта | Опубликованные | Определение версии продукта по баннеру сетевого сервиса и поиск информации об известных для данного продукта уязвимостях в интернет-поисковике |
2 | Попытка эксплуатации | Ошибки конфигурации, опубликованные уязвимости | Попытка подключения к Windows системе посредством нулевой сессии и выгрузки перечня учетных записей пользователей. Запуск эксплойта против сетевого сервиса без предварительного анализа его соответствия данной службе. Попытка перехвата трафика с помощью arp-poisoning |
3 | Анализ конфигурации | Ошибки конфигурации, опубликованные уязвимости | Анализ содержимого реестра Windows |
4 | Реверс-инжиниринг | Уязвимости нулевого дня | Дизассемблирование исполняемого файла с целью изучения логики исполнения программы и работы с данными |
5 | Анализ исходного кода | Уязвимости нулевого дня | Поиск в php-коде фрагментов, связанных с фильтрацией данных, вводимых пользователем с целью обхода правил фильтрации и внедрения JavaScript-кода |
6 | Фаззинг | Уязвимости нулевого дня | Ввод в web-форму различных вариантов SQL-запросов и анализ получаемых сообщений об ошибках |
Из данного перечня в Metasploit Framework имеются модули для реализации методов «Попытка эксплуатации», «Фаззинг» и частично «Определение уязвимостей по версии продукта».
«Определение уязвимостей по версии продукта» полноценно не реализовано в Metasploit Framework, так как для автоматизированного выявления потенциальных уязвимостей в первую очередь используются сканеры уязвимостей. Тем не менее стоит отметить, что некоторые модули эксплуатации в Metasploit Framework поддерживают метод check, который можно использовать для определения наличия уязвимости до ее эксплуатации.
В случае, если под рукой нет сканера уязвимостей наподобие того, что есть в составе «Сканер-ВС», который может за десятки минут прогнать около 60 тыс. проверок, в том числе и для отечественных решений и средств защиты информации, то придется проводить анализ вручную.
Для ручного анализа уязвимостей подойдут данные о версиях сетевых сервисов, полученные на предыдущем этапе в ходе сканирования портов. Специалист по тестированию защищенности, формируя поисковые запросы Google вида «сервис версия» +vulnerability +exploit, находит страницы с описанием уязвимостей и эксплойтов.
Известные базы данных уязвимостей:
Отдельно необходимо отметить, что ФСТЭК России ведет регулярно пополняемый банк данных угроз безопасности информации.
Например, проведя анализ результаты сканирования портов Metasploitable 2, мы можем обнаружить, что на 21-м порту ждет подключений Very Secure FTP Daemon (VSFTPD) версии 2.3.4. Простой поиск в Google информации о наличии уязвимостей в данной версии FTP-сервера приведет к тому, что мы узнаем, что какой-то весельчак внедрил закладку, получившую название «smiley face backdoor». Принцип использования программной закладки прост: в ходе авторизации в имени пользователя нужно использовать смайлик «:)», после чего на удаленной машине откроется порт 6200 с командной оболочкой с правами администратора. Вводимые имя пользователя и пароль могут быть любыми.
В составе Metasploit Framework есть набор модулей для фаззинга реализаций таких протоколов как dns, ftp, http, smb, smtp, ssh и др. Данные модули доступны по адресу: auxiliary/fuzzers/.
Необходимо отметить, что так как проекты по тестированию защищенности обычно ограничены сроком в 2-3 недели, специалисты ограничиваются автоматизированным и ручным поисками уязвимостей по версиям, а также попытками эксплуатации.
Этап 4. Эксплуатация и проведение атак
Для эксплуатации уязвимостей в сетевых сервисах и прикладном ПО используются эксплойты из раздела exploit Metasploit Framework. На текущий момент в Metasploit Framework количество готовых к использованию эксплойтов уже приближается к двум тысячам.
Подходящие эксплойты можно найти с помощью команды search по коду CVE, названию или версии сервиса (например, search vsftpd).
При эксплуатации уязвимости задается так называемая полезная нагрузка (payload). Полезной нагрузкой называется код, который запускается на скомпрометированной машине. В Metasploit Framework имеются различные полезные нагрузки: удаленная командная строка, создание учетной записи, загрузка системы удаленного администрирования и т.п. Зачастую удобнее всего пользоваться именно командной строкой. Причем в Metasploit Framework имеется динамически расширяемая полезная нагрузка – Meterpreter, но она заслуживает отдельной статьи.
Продолжая разбор примера с vsftpd, запустим найденный эксплойт и получим удаленный доступ к командной строке с правами администратора.
Для данного эксплойта только один вариант полезной нагрузки, который и используется по умолчанию:
Самой опасной атакой на протяжении десятилетий остается подбор паролей. Metasploit Framework содержит множество модулей, предназначенных для проведения подобных атак. В следующей таблице представлены модули, с которыми чаще всего приходится сталкиваться в ходе тестирования защищенности.
№ | Протокол/приложение | Путь к модулю |
---|---|---|
1 | smb | auxiliary/scanner/smb/smb_login |
2 | ftp | auxiliary/scanner/ftp/anonymous (проверка возможности анонимного входа) auxiliary/scanner/ftp/ftp_login |
3 | ssh | auxiliary/scanner/ssh/ssh_login |
4 | telnet | auxiliary/scanner/telnet/telnet_login |
5 | postgresql | auxiliary/scanner/postgres/postgres_login |
6 | mysql | auxiliary/scanner/mysql/mysql_login |
7 | oracle | auxiliary/admin/oracle/oracle_login |
8 | tomcat | auxiliary/scanner/http/tomcat_mgr_login |
Полный список аналогичных модулей Metasploit Framework можно получить, набрав команду search login.
Необходимо отметить, что большинство модулей требует задания списка учетных записей и проверяемых паролей, но некоторые уже содержат готовые списки значений по умолчанию, которыми целесообразно воспользоваться.
Давайте подберем пароли по умолчанию к СУБД PostgreSQL и сервер приложений Apache Tomcat, установленным на Metasploitable 2:
В Metasploit Framework имеются модули для проведения специфических компьютерных атак. В настоящей статье ограничимся рассмотрением нескольких самых распространенных.
В ходе данной атаки злоумышленник пытается «испортить» (to poison — отравить) ARP-таблицы двух узлов, трафик между которыми он хочет перехватывать. Зачастую атака проводится против рабочей станции определенного пользователя (системного администратора, главного бухгалтера и т.п.) и контроллера домена или маршрутизатора. После «порчи» ARP-таблиц оба узла-жертвы направляют сетевые пакеты друг другу через компьютер злоумышленника. Злоумышленник, запустив сниффер, перехватывает интересующие его данные, например, сессии аутентификации с хешами паролей.
Для осуществления атаки arp-poisoning в Metasploit Framework можно воспользоваться модулем:
auxiliary/spoof/arp/arp_poisoning.
Особенностью реализации протокола NTLM является то, что для успешной авторизации не требуется знать пароль, а достаточно лишь иметь хеш пароля и имя учетной записи. Данной уязвимости может быть подвержена любая операционная система, в которой используется протокол NTLM.
Атаку pass-the-hash можно провести с помощью модуля exploit/windows/smb/psexec.
В результате данной фазы тестирования защищенности мы имеем перечень уязвимостей, которые реально могут быть проэксплуатированы злоумышленниками, причем удаленно. В качестве результата запуска эксплойтов и проведения атак у нас имеется доступ к различным системам, а также информация о скомпрометированных учетных записях.
Важное примечание.
Запуск эксплойтов легко может привести к недоступности сервиса или целого сетевого узла. Для минимизации негативных последствий подобных тестов специалисты по тестированию защищенности:
В качестве доказательств успешного проникновения специалисты по тестированию защищенности собирают скриншоты, подтверждающие наличие доступа.
Этап 5. Расширение зоны влияния и эскалация привилегий
Зачастую наличие доступа к какой-либо системе позволяет расширить его на другие системы. Иногда возможна и эскалация привилегий, позволяющая обычному пользователю стать администратором.
Рассмотрим две типовые ситуации, знание которых облегчает проведение тестирования защищенности.
Пользователи, использующие одинаковые пароли
Пользователи любят использовать одинаковые пароли в различных системах, поэтому целесообразно проверять однажды подобранные пары логин: пароль во всех доступных системах.
ИТ-специалисты, забывающие удалить из тестовой среды критичные данные
Модули постэксплуатации в Metasploit Framework
В Metasploit Framework имеется набор так называемых постэксплуатационных модулей, позволяющих решать следующие задачи для расширения доступа и повышения привилегий:
В результате после выполнения данного шага специалисты по тестированию защищенности получают максимальный доступ, а также выявляют реальные локальные уязвимости.
Этап 6. Разработка отчета
Если результаты тестирования защищенности интересуют не только самого системного администратора, то имеет смысл подготовить качественный отчет.
Основной составляющей отчета является информация об уязвимостях, которая, как правило, представляется в следующем структурированном виде:
В Metasploit Framework отсутствует функционал по генерации отчетов по тестированию защищенности, и отчет придется разрабатывать самостоятельно.
С шаблоном отчета и нюансами его разработки можно познакомиться в статье Отчет по пентесту: краткое руководство и шаблон.
Заключение
Мы рассмотрели применение Metasploit Framework для возможности самостоятельного применения администраторами для тестирования защищенности и убедились в доступности и эффективности данного инструмента. Большинство «болевых точек» могут быть с легкостью проверены благодаря широкому набору модулей данного фреймворка. Единственной проблемной областью применения для тестирования защищенности исключительно Metasploit Framework является необходимость проводить трудоемкий ручной поиск уязвимостей, но данная проблема может быть устранена применением сканера уязвимостей, например, из состава «Сканер-ВС».