-Поиск по дневнику

Поиск сообщений в Ставратий_Константин

 -Подписка по e-mail

 

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 19.06.2015
Записей:
Комментариев:
Написано: 23





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

Понедельник, 16 Ноября 2015 г. 00:23 + в цитатник

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

 

Давайте рассмотрим несколько способов сбора информации, таких как:

 

Сканирование портов

Hunting for MSSQL

Service Identification

Сниффинг паролей

SNMP sweeping

 

Собираем информацию с Metasploit
Dante

 

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

 

Взято с сайта http://www.stanovlenie.org.ua/information-gathering-with-metasploit/


Метки:  

Meterpreter базовые команды

Воскресенье, 15 Ноября 2015 г. 18:40 + в цитатник

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

 

help

 

Команда ‘help‘, как и может ожидаться, отображает меню помощи ‘Meterpreter‘.

 

Подсказка команды Meterpreter
Dante

 

background

 

Команда ‘background‘ переводит текущую сессию Meterpreter в фоновый режим, и мы возвращаемся в командную строку ‘msf‘. Для того чтобы вернуться в сессии Meterpreter, просто необходимо обратится к ней снова.

Команда background в Meterpreter
Dante

 

Команда ‘cat’

 

Команда ‘cat‘ в meterpreter идентична такой же команде с *nix системах. Она отображает содержимое файла заданное в качестве аргумента.

Команда cat в Meterpreter
Dante

 

Команды ‘cd’ и ‘pwd’

 

Команды ‘cd‘ и ‘pwd‘ используются для изменения и отображения текущей работы непосредственно на целевом хоте. Изменение рабочей директории ‘cd‘ работает точно так же как это делается в системах ‘DOS‘ либо ‘*nix‘. По умолчанию текущая рабочая папка находится там, где произведено подключение.

 

Аргументы

cd: Путь к папке, для изменения.

pwd: не требуется

 

Пример использования:

Используем команду cd и pwd
Dante

 

Команда ‘clearev’

 

Команда ‘clearev‘ очистит логи приложений, системы и безопасности windows систем. В ней нет опций или аргументов.

Логи до очистки
Dante

 

Логи перед использованием Meterpreter для очистки журналов.

 

Пример использования:

Очистка логов пример
Dante

 

После очистки логи выглядят так:

Отображение логов после очистки
Dante

 

Команда ‘download’

 

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

Загружаем фаил с удаленного компьютера
Dante

 

Команда ‘edit’

 

Команда ‘edit‘ открывает файл, расположенный на целевом хосте. Он использует ‘vim‘ и все доступные команды данного редактора.

Пример использования:

Пример использования редактирования
Dante

 

Можете посмотреть документацию текстового редактора ‘vim‘, для более удобного использования.

 

Команда ‘execute’

 

Команда ‘execute‘ запускает команду на целевом компьютере.

Используем команду execute
Dante

 

Команда ‘getuid’

 

Запуск команды ‘getuid‘ покажет пользователю хост на котором запущен сервер Meterpreter.

Запуск команды getude
Dante

 

Команда ‘hashdump’

 

Команда ‘hashdump‘ сообщает модулю дамп содержимого базы данных SAM.

Используем команду hashdump
Dante

 

Команда ‘idletime’

 

Запуск команды ‘idletime‘ отобразит сколько времени работает пользователь на удаленной машине.

Используем команду idletime
Dante

 

Команда ‘ipconfig’

 

Команда ‘ipconfig‘ отображает сетевые интерфейсы и адреса на удаленной машине.

Используем команду ipconfig
Dante

 

Команды ‘lpwd’ и ‘lcd’

 

Команды ‘lpwd‘ и ‘lcd‘ используются для отображения и изменения, расположения рабочей директории. При получении оболочки meterpreter, расположение рабочей директории находится там где запустилась консоль Metasploit. Изменение рабочей директории, даст сессии вашего meterpreter, доступ к файлам расположенным в этой папке.

 

Аргументы:

 

lpwd: не требуются

lcd: Папка назначения

 

Пример использования:

Используем lpwd и lcd команды
Dante

 

Meterpreter команда ‘ls’

 

Точно так же как и в Linux, команда ‘ls‘ покажет список файлов в текущей директории на удаленной машине.

Команда ls в Meterpreter
Dante

 

migrate

 

Использование ‘migrate‘ сообщает модулю, что переходите на иной процесс жертвы.

Используем команду migrate
Dante

 

Команда ‘ps’

 

Команда ‘ps‘ отображает список запущенных на цели процессов.

Команда ps для Meterpreter
Dante

 

Meterpreter команда ‘resource’

 

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

 

По умолчанию, команды будут работать в текущей рабочей директории(на целевой машине), а файл ресурсов в локальной рабочей директории (атакующей машины).

Команда resource в Meterpreter
Dante

 

Аргументы:

path1: Расположение файла содержащего команды для запуска.

Path2Run: Место где запускаются команды найденные внутри файла

Пример использования, файл используемый ‘resource‘:

Файл который используется resource
Dante

 

Запуск команды resource:

Используем команду resource
Dante

 

Команда ‘search’

 

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

Команда search в Meterpreter
Dante

 

Аргументы:

Шаблон файла: Может содержать шаблоны

Поиск местоположения: Опционально, если иное не указано, будет происходить поиск по всей системе.

Пример использования:

Используем команду search
Dante

 

Команда ‘shell’

 

Команда ‘shell‘ предоставит вам стандартную shell оболочку в целевой системе.

Команда shell в Meterpreter
Dante

 

Команда ‘upload’

 

Как и с командой ‘download‘ вам необходимо использовать двойной слеш с командой ‘upload‘.

Используем команду upload
Dante

 

Команда ‘webcam_list’

 

Команда ‘webcam_list‘ запускаемая из оболочки meterpreter, покажет все имеющиеся в настоящее время веб-камеры на целевом компьютере.

Пример использования:

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

 

Команда ‘webcam_snap’

 

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

Подстказки команды webcam_snap
Dante

 

Опции:

-h: Отображение справочной информации о команде.

-i opt: Если подключено более одной веб-камеры, необходимо использовать эту опцию, для того чтобы выбрать устройство с которого будет происходить захват.

-p opt: Изменяет путь и имя файла изображения для сохранения.

-q opt: Выбор качества изображения 50 по умолчанию, 100 лучшее качество.

-v opt: По умолчанию значение истинно, когда открывает изображение после захвата.

Пример использования:

Используем команду webcam_snap
Dante

 

Пример захваченного изображения Meterpreter

Dante

 

Взято с сайта http://www.stanovlenie.org.ua/meterpreter-basic-commands/


Метки:  

О Metasploit Meterpreter

Воскресенье, 15 Ноября 2015 г. 18:16 + в цитатник

Что такое Meterpreter

 

 

Meterpreter является продвинутым динамично расширяемым payload который используется в памяти DLL инъекций stagers, и распространяется по сети во время выполнения. Он обращается к stager сокета и предоставляет комплексную сторону клиента Ruby API. Это особенность команд history, tab completion, channels и иных.

 

Meterpreter был изначально написан для Metasploit 2.x, общие расширения были объединены для 3.x, и в настоящее время происходит полное преобразование для Metasploit 3.3. Серверная часть реализована в простом C и сейчас компилируется с MSVC, что делает его более портативным. Клиент может быть написан на любом языке, но Metasploit имеет полнофункциональный Ruby API клиент.

 

 

Как работает Meterpreter

 

Цель выполняет начальный stager. Как правило, это один из bind, reverse, findtag, passivex и тд.

Stager загружает DLL префикс с Reflective. Reflective обрабатывает загрузку/инъекцию DLL.

Meterpreter инициализирует ядро, устанавливает TLS/1.0 ссылку на сокет и отправляет GET. Metasploit получает этот GET и конфигурирует клиент.

Наконец, Meterpreter загружает расширения. Он всегда загружает stdapi и загружает priv если модуль дает права администратора. Все эти расширения загружаются на TLS/1.0 с использованием протокола TLV.

 

Meterpreter цели разработки

 

Скрытность

 

Meterpreter содержится полностью в памяти и ничего не записывает на диск.

Не создаются новые процессы, Meterpreter внедряется во взломанный процесс и может легко мигрировать в иные запущенные процессы.

По умолчанию Meterpreter использует зашифрованное сообщение.

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

 

Мощный

 

Meterpreter использует каналы системной связи.

Протокол TLV имеет несколько ограничений.

 

Расширяемый

 

Характеристики могут быть увеличены во время выполнения и загружены по сети.

Новые функции могут быть добавлены к Meterpreter без возможности восстановления.

 

Добавление времени выполнения функции

 

Новые функции добавляются Meterpreter загрузкой расширений.

 

Клиент загружает DLL на сокет.

Сервер работает на жертве загружаясь в память DLL и инициализирует его.

Новое расширение регистрирует себя на сервере.

Клиент на атакующей машине загружает локальное расширение API и может сейчас вызвать расширенные функции.

 

Этот весь процесс непрерывен и занимает около 1 секунды, до завершения.

 

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

 

Взято с сайта http://www.stanovlenie.org.ua/about-the-metasploit-meterpreter/


Метки:  

Использование базы данных в Metasploit

Воскресенье, 15 Ноября 2015 г. 18:12 + в цитатник

Настройка базы данных нашего Metasploit

 

В Kali, вам необходимо будет запустить сервер postgresql, перед тем как использовать базу данных.

Старт сервера postgresql
Dante

 

 

 

После запуска сервиса Metasploit, это создаст пользователя базы данных msf3 и базу данных с именем msf3.

Старт Metasplit Framework
Dante

 

Использование Workspaces в Metasploit

 

Когда мы загрузили msfconsole, и запустили ‘db_status‘, мы можем подтвердить что Metasploit успешно подключен к базе данных.

Metasploit соединен с базой данных
Dante

 

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

 

Выдача команды ‘workspace‘ из msfconsole покажет текущие выбранные workspaces. По умолчанию workspace выбирается при подключении базы данных, которая представлена в * рядом её имя.

Вывод команды workspace
Dante

 

Как мы можем видеть, это очень удобно, когда речь идет об аккуратном хранении Давайте изменим текущий workspace на ‘msfu‘.

Изменяем текущий workspace
Dante

 

Для создания или удаления workspace, необходимо просто использовать ‘-a‘ или ‘-b‘ перед необходимым именем в строке msfconsole.

создаем либо удаляем workspace
Dante

 

Как мы видим это достаточно просто, используя туже команду и добавив ‘-h‘ переключатель, мы увидим иные доступные команды.

Подсказка workspace
Dante

 

Теперь любые сканирования или импорт из других приложений будут сохранены в этом workspace.

 

Теперь когда мы подключились к нашей базе данных и выбрали workspace мы можем просмотреть на заполненные данные. Во первых мы будем смотреть различные базы данных ‘db_‘ командами доступными для использования из msfconsole, список доступных команд вы можете посмотреть задав команду ‘help‘.

Подсказка по базам данных
Dante

 

Импорт и сканирование

 

Существует несколько способов которыми мы можем это сделать, это сканирование хоста или сети непосредственно из консоли, или импорт файла из более раннего сканирования. Давайте начнем с импорта сканирования хоста nmap в ‘metasploitable 2‘. Это делается при помощи ‘db_import‘ с последующим путем к нашему файлу.

Импортируем базу данных
Dante

 

После завершения мы можем подтвердить импорт используя команду ‘hosts‘. Это покажет все хосты, хранящиеся в нашем текущем workspace. Также мы можем сканировать хосты прямо из консоли используя команду ‘db_nmap‘. Результат сканирования будет сохранен и нашей текущей базе данных. Эта команда работает так же как версия ‘nmap‘ из командной строки.

Сканируем хосты прямо из консоли
Dante

 

Резервное копирование базы данных

 

Экспортировать нашу базу данных из Metasploit очень просто. Используя команду ‘db_export‘ мы можем сохранить всю нашу собранную информацию в XML файл. Этот формат легко можно использовать для последующего управления отчетами. Команда имеет два вывода, ‘xml‘ формат экспортирует всю текущую информацию хранящуюся в активном workspace и ‘pwdump‘ формат, который экспортирует все что связано с используемыми/собранными учетными данными.

Экспортируем базу данных из Metasploit
Dante

 

Использование команды hosts

 

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

 

Команда ‘hosts‘ была использована ранее для того чтобы подтвердить наличие данных в нашей базе данных. Давайте рассмотрим различные доступные опции и посмотрим как мы используем их для быстрого получения полезной информации. Использование команды ‘-h‘ выведет на дисплей меню справки.

Подсказка команды hosts
Dante

 

Начнем и команды вопроса для ‘hosts‘, для отображения только IP-адреса и типа операционной системы, используем переключатель ‘-c‘.

Команды для просмотра IP-адреса и ОС
Dante

 

Настройка модулей

 

Еще одна интересная особенность, доступная для нас, это возможность поиска во всех наших записях какой-либо конкретной информации. Представим себе, если мы захотим найти только машины основанные на Linux из нашего сканирования. Для этого мы используем опцию ‘-S‘. Эта опция может быть скомбинирована с нашим предыдущим примером, для помощи вывода тонкой настройки наших результатов.

Обнаружить только Linux машины
Dante

 

Использование вывода нашего предыдущего примера, мы скормим все что в ‘tcp‘ сканировании вспомогательным модулям.

Отправим tcp сканирование дополнительным модулям
Dante

 

Мы видим, по умолчанию, хостинг установлен в ‘RHOSTS‘ мы добавим переключатель ‘-R‘ команды hosts и загрузки модуля. Надеюсь он будет работать и сканировать нашу цель без каких-либо проблем.

Добавим опцию -R команды hosts
Dante

 

Конечно, это также работает, если наши результаты, содержат более одного адреса.

Команда hosts -R если результатов несколько
Dante

 

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

 

Сервисы

 

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

Подсказка команды services -h
Dante

 

Так же как в hosts командах, мы можем указать, какие поля будут отображаться. При помощи переключателя ‘-S‘ мы можем также искать службы, содержащие определенную строку.

Производим поиск службы
Dante

 

Здесь мы ищем все хосты содержащиеся в нашей базе данных с сервисным именем содержащим строку ‘http‘.

Ищем хосты в базе данных по имени
Dante

 

Поисковых комбинаций огромное количество. Мы можем использовать определенные порты или диапазоны портов. Полное или частичное имя сервиса, когда используются переключатели ‘-s‘ или ‘-S‘. Для всех хостов или выбрать несколько… Список можно продолжать и продолжать. Вот несколько примеров, но возможно вам потребуется поэкспериментировать, для того чтобы получить то что вы желаете и что вам необходимо найти.

Использование поисковых комбинаций
Dante

 

Экспорт CSV

 

Обе команды services и hosts дают нам возможность сохранения наших результатов запроса в файл. Значения формата файла разделяется запятыми или CSV. Вслед за ‘-o‘ с путем и именем файла, информация которая отображалась на экране в этот момент теперь будет сохранятся на диске.

Сохраняем информацию на диск
Dante

 

Команда creds

 

Команда ‘creds‘ используется для управления и используемых учетных данных для целей в базе данных. Запуск этой команды без каких-либо опций отображает сохраненные учетные данные.

Используем команду creds
Dante

 

Как с командой ‘db_nmap‘ успешные результаты, относящиеся к учетным данным, будут автоматически сохранены в нашем активном workspace. Давайте запустим вспомогательный модуль ‘mysql_login‘ и посмотрим что происходит, когда Metasploit сканирует наш сервер.

Старт вспомогательного модуля mysql_login
Dante

 

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

 

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

Используем команду creds -a
Dante

 

Команда loot

 

После того как вы взломаете систему (или три), одной из целей может быть получение хеша дампа. Из операционной системы Windows или *nix. В случае успешного хеша дампа, эта информация будет сохраняться в базе данных. Мы можем просмотреть дампы используя команду ‘loot‘. Как и почти с каждой командой, добавление переключателя ‘-h‘ будет отображать немного больше информации.

Подсказка к команде loot
Dante

 

Вот пример того как можно заполнить какую-либо базу данных с ‘loot‘.

Заполняем базу данных командой loot

Dante

 

Взято с сайта http://www.stanovlenie.org.ua/use-database-in-metasploit/


Метки:  

Базы данных в Metasploit

Воскресенье, 15 Ноября 2015 г. 18:06 + в цитатник

Хранение информации в базе данных используя Metasploit

 

 

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

 

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

 

Позсказка с базой данных в Metasploit
Dante

 

В следующей статье я рассмотрю создание базы данных в Metasploit.

 

Взято с сайта http://www.stanovlenie.org.ua/databases-in-metasploit/


Метки:  

‘Generate’ payloads для Metasploit

Воскресенье, 15 Ноября 2015 г. 18:00 + в цитатник

Во время разработки эксплоита вам наверняка необходимо генерировать shell код использующийся в вашем эксплоите. В Metasploit payloads может быть сгенерирована изнутри msfconsole. Когда вы используете определенный payload, Metasploit добавляет команды ‘generate‘, ‘pry‘ и ‘reload‘. Generate станет основным центром данной статьи, изучения использования Metasploit.

Используем генерирование в Metasploit
Dante

 

 

Давайте начнем с рассмотрения различных опций команды ‘ganerate’, запустим его с ‘-h’.

Команда -h с generate
Dante

 

Для генерации shell кода без каких-либо опций, просто выполните команду ‘generate’.

Генерируем shell код без параметров
Dante

 

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

Пример кода выше содержит практически универсальный плохой символ, нулевой байт (\x00). Предоставленные некоторые эксплоиты позволяют его использовать, но не многие. Давайте сгенерируем, тот же shell код, только на этот раз мы будем давать Metasploit инструкции для удаления этого нежелательного байта.

Чтобы этого достичь, мы задаем команду ‘ganerate’ за которой следует ‘-b’ с сопровождающими байтами которым мы хотим отказать в процессе генерации.

Отказываем байтам в генерации
Dante

 

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

Одним из различий является общий байт размер shell кодов. В предыдущей интеграции размер был 328 байт, в новом shell коде он на 27 байт больше.

Различия длины shell кода
Dante

 

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

Еще одним важным изменением является добавление используемого кодера. По умолчанию Metasploit выберет лучший кодер, для выполнения задачи под рукой. Кодер отвечает за удаление нежелательных символов(среди иного), введенных при использовании ‘-b’. Кодеры мы рассмотрим более подробно позднее.

При указании нежелательных символов, framework будет использовать лучший кодер для работы. Был использован кодер x86/shikata_ga_nai, когда был ограничен нулевой байт, во время генерации кода. Если мы добавим еще несколько нежелательных символов, может быть использован иной символ для выполнения той же самой задачи. Давайте добавим еще несколько байт в список и посмотрим, что происходит.

Удаляем генерацию еще нескольких байт из shell
Dante

 

Мы видим что кодер отличается от того что ранее успешно удалил наши нежелательные байты. Shikata_ga_nai, вероятно оказался не в состоянии кодировать payload с помощью нашего списка ограничения байт. Fnstenv_mov однако удалось достичь этого.

 

Payload генерация не удалась

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

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

Ограничили кодером много байт
Dante

 

Это подобно тому как удалить много букв из алфавита и попросить кого-то написать полное предложение. Иногда он просто не сможет этого сделать.

 

Использование кодера во время генерации payloads

Как упоминалось ранее, framework выберет лучший доступный кодер при генерации payload. Однако бывают случаи когда необходимо использовать определенный тип кодера независимо от того что думает Metasploit. Представьте себе, что эксплоит выполнится успешно только при условии что он не содержит буквенно цифровых символов. Кодер ‘shikata_ga_nai‘ в данном случае окажется бесполезен, так как он использует довольно много символов для кодирования. Посмотрев список кодеров мы видим что кодер ‘x86/nonalpha‘ присутствует.

Список кодеров
Dante

 

Давайте заново привяжем sheel payload но в этот раз скажем framework использовать кодер ‘nonalpha‘. Мы делаем это при помощи переключения с помощью ‘-e‘ и последующим именем кодера, как показано в списке ниже.

Генерируем с кодером nonalpha
Dante

 

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

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

Сохраняем вывод payload в фаил
Dante

 

Используя команду ‘cat‘ мы можем увидеть payload который сохранили в нашем файле. Как мы видим мы так же можем использовать более чем одну опцию при генерации shell кода.

 

Генерация payload с несколькими потоками

Следующий переключатель в нашем списке опций это переключатель итерации ‘-i‘. В двух словах он говорит framework, сколько проходов кодирования он должен сделать прежде чем производить окончательную payload. Одной из причин для этого может быть стелс или анти-вирус уклонение. Более подробно антивирусное уклонение я буду рассматривать в ином разделе MSFU.

Итак давайте сравним наш shell payload сгенерированный с использованием 1 итерации по сравнению с таким же shell кодом с 2 итерации.

Генерация payload с одной итерацией
Dante

 

Генерируем payload с двумя итерациями
Dante

 

Сравнивая два выхода, мы видим очевидный эффект второй итерации нашего payload. Прежде всего больше размер байт, нежели первый. Чем больше итераций делает payload, тем больше он будет. Во вторых сравним выводы байт и увидим что они также отличаются. Это связано со второй итерацией или вторым проходом кодирования. Он кодирует наш payload один раз, затем берет payload и кодирует снова. Давайте возьмем shell код и посмотрим какая разница получится при пяти итерациях.

производим генерацию с пятью итерациями
Dante

 

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

Мы потратили много времени, генерируя shell код с самого начала от значения по умолчанию. В случае привязки shell по умолчанию прослушивает порт 4444. Часто это необходимо изменить. Мы можем это сделать при помощи переключателя ‘-o‘ перед значением которое мы хотим изменить. Давайте посмотрим какие опции мы можем изменить для этого payload. Из msfconsole мы задаем команду ‘show options‘.

Просмотр возможных параметров для payload
Dante

 

По умолчанию наш shell прослушивает порт ‘4444‘ и выход функции ‘process‘. Мы изменим этот порт на ‘1234‘ и выход функции ‘seh‘ используя ‘-o‘. Синтаксис переменная=значение разделенные запятой между каждой опцией. В этом случае оба порта прослушиваются и выход функции изменяется следующим синтаксисом ‘LPORT=1234,EXITFUNC=seh’.

Меняем порт на 1234
Dante

 

Payload генерируется используя NOP Sled

Наконец давайте взглянем NOP sled длину и вывод формата опций. Когда генерируем payloads по умолчанию формат вывода дается в ‘ruby‘. Хотя ruby язык является чрезвычайно мощным и популярным, это не все коды. У нас есть возможность сообщить framework, для того чтобы дать наш payload в различных форматах кодирования таких как Perl, C и Java, для примера. Добавить NOP sled можно так же в начале при генерации shell кода.

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

Генерируем payload командой
Dante

 

Производим generate в языке c
Dante

 

Генерируем payload на java
Dante

 

Глядя на вывод из различных языков программирования мы видим что каждый вывод придерживается из соответствующего языкового синтаксиса. Хеш ‘#‘ используется для комментариев в Ruby, но в C он заменен косой чертой и астериском ‘/*‘. Глядя на все три вывода, массивы правильно объявляют формат выбранного языка. Что делает его готовым для копирования и вставки в ваш скрипт.

Добавление NOP sled (нет операции или следующей операции)осуществляется с переключателем ‘-s‘, перед числом NOPs. Это добавит sled в начале вашего payload. Имейте ввиду что чем больше sled тем больше будет shell код. Поэтому добавление 14 NOPs добавит 14 байт к общему размеру.

Генерируем payload командой
Dante

 

Добавление NOP sled к generate
Dante

 

Желтым цветом выделен наш NOP sled в начале payload. Сравнивая следующие строки в shell коде выше мы видим что они точно такие же. Всего как и ожидалось стало на 14 байт больше.

 

Взято с сайта http://www.stanovlenie.org.ua/generate-payloads-for-metasploit/


Метки:  

Типы Payload в Metasploit Framework

Воскресенье, 15 Ноября 2015 г. 17:44 + в цитатник

Расширяем типы Payload в Metasploit

 

 

Мы кратко рассмотрели три основные типа payload: singles, stagers и stages. Metasploit содержит много различных типов payload, каждый из которых отвечает за уникальную роль во framework. Давайте рассмотрим различные типы доступных payload, и получим представление о том когда следует использовать каждый тип.

 

Inline (Non Staged)

 

 

Single payload содержит эксплоит и полный shell код для выбора задачи. Inline payloads по конструкции является более стабильной, нежели их коллеги потому что они содержат все в одном. Однако некоторые exploits обычно поддерживают конечный размер этих payloads.

 

Staged

 

Stager payloads работает в сочетании с stage payloads для того чтобы выполнить определенную задачу. Stager устанавливает канал связи между атакующим и жертвой и читает в stage payload для выполнения на удаленном хосте.

 

Meterpreter

 

Meterpreter, является короткой формой Meta-Interpreter, продвинутой многогранной payload которые работают при помощи инъекции dll. Meterpreter располагается полностью в памяти удаленного хоста и не оставляет никаких следов на жестком диске, что делает его обнаружение чрезвычайно сложным при помощи обычных методов. Скрипты и плагины могут быть загружены или выгружены динамически по мере необходимости. Meterpreter чрезвычайно сильно разрабатывается и постоянно развивается.

 

PassiveX

 

PassiveX является payload который может быть использован для помощи в обходе брандмауэров ограничивающих исходящие. Он делает это при помощи элемента управления ActiveX, создавая скрытый экземпляр Internet Explorer. Используя новый элемент управления ActiveX, он общается с атакующим через HTTP запросы и ответы.

 

NoNX

 

NX (No eXecute) бит встроенная функция некоторых процессоров, для предотвращания выполнения кода в некоторых областях памяти. В Windows, NX реализована Data Execution Prevention (DEP)(предотвращение выполнения данных). Metasploit NoNX payloads разработана для того чтобы обойти DEP.

 

Ord

 

Ordinal payloads Windows stager основные payloads которые имеют свои преимущества и недостатки. Преимущества состоят в работе под любой вкус, и язык операционной системы Windows, начиная с Windows9x, без явного определения обратного адреса. Они также чрезвычайно малы. Однако два очень специфических недостатка делают их выбор не по умолчанию. Первый недостаток состоит в том что он опирается на факт, что ws2_32.dll загруженный в процесс, эксплуатируется до эксплуатации. Второй недостаток состоит в том что они менее устойчивы чем иные stagers.

 

Ipv6

 

Metasploit IPv6 payloads, название указывает на встроенную функцию в сетях IPV6 .

 

Reflective DLL injection

 

Reflective DLL injection является методом посредством которого stage payload вводится в память скомпроментированного хост-процесса, никогда не касаясь жесткого диска. VNC и Meterpreter payloads оба используют reflective DLL injection. Больше о этом вы можете прочитать в блоге Stephen Fewer, метод создания reflective DLL injection.

 

Теперь у нас есть понимание того что такое Payload, типы Payload и когда их использоать, давайте генерировать некоторые payloads.

 

Взято с сайта http://www.stanovlenie.org.ua/type-payload-to-metasploit-framework/


Метки:  

Понимание Payloads в Metasploit

Воскресенье, 15 Ноября 2015 г. 17:39 + в цитатник

Что означает Payload

 

 

Payload в Metasploit относится к exploit модулю. Существует три различных payload модуля в Metasploit Framework: Singles, Stagers и Stages. Эти различные типы предоставляют большую универсальность, и могут быть использованы через многочисленные типы сценариев. Будет или нет payload являться staged представляется в ‘/’ имени payload. Например ‘windows/shell_bind_tcp’ является single payload без stage, в то время как ‘windows/shell/bind_tcp’ состоит из stager(bind_tcp) и стадии(shell).

 

 

Содержание

 

1. Singles

2. Stagers

3. Stages

 

Singles

 

Singles payloads .вляются полностью самодостаточными и автономными. Single payload может быть таким же простым как добавление пользователя в целевую систему или запуск calc.exe.

 

Stagers

 

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

 

Windows NX против NO-NX Stagers

 

Надежность завершения для NX CPUs и DEP

NX stagers больше (VirtualAlloc)

По умолчанию сейчас NX+Win7 совместимы

 

Stages

 

Этапы payload компонентов которые загружаются с модулями Stagers. Различные этапы payload обеспечивающие расширенные возможности без каких-либо ограничений на размер, такие как Meterpreter, VNC Injection и iPhoneipwnShell.

 

Payload stages автоматически использует ‘middle stagers

 

Один recv() завершается с большими payloads

Stager получает middle stager

Middle stager затем выполняет полную загрузку

Кроме того лучше для RWX

 

Взято с сайта http://www.stanovlenie.org.ua/understanding-payloads-in-metasploit/


Метки:  

Использование эксплоитов в Metasploit

Воскресенье, 15 Ноября 2015 г. 17:33 + в цитатник
Смотрим эксплоиты в Metasploit
Dante

Выберите эксплоит в Metasploit и добавьте ‘exploit’ командой ‘check’ в msfconsole.

Выбираем эксплоит для использования
Dante

 

 

Show

Использование ‘exploit’ добавляет больше опций команде ‘show’.

 

msf exploit Targets

Metasploit Framework Эксплоит targets
Dante

 

msf exploit Payloads

Metasploit просматриваем payloads
Dante

 

msf exploit Options

Metaqsploit использование просмотра опций
Dante

 

Advanced

Metasploit просматривает продвинутые опции
Dante

 

Evasion

Metasploit просмотр evasion

Dante

 

Взято с сайта http://www.stanovlenie.org.ua/use-exploit-in-metasploit/


Метки:  

Работа с активными и пассивными эксплоитами в Metasploit

Воскресенье, 15 Ноября 2015 г. 17:28 + в цитатник

Все эксплоиты в Metasploit Framework делятся на две категории: активные и пассивные.

 

Активные эксплоиты

 

 

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

Brute-force будут выходить когда shell открывается из жертвы.

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

Вы можете запустить активный модуль в фоне, передав команде эксплоита ‘-j’:

Запускаем в фоне активный эксплоит
Dante

 

Пример активного эксплоита

 

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

Пример работы активного эксплоита
Dante

 

Пассивные эксплоиты

 

Пассивные эксплоиты, ожидают входящих хостов и используют из как только они подключаются.

 

Пассивные эксплоиты почти всегда сосредоточенны на таких клиентах как браузеры, FTP клиенты, и тд.

Так же они могут использоваться с email эксплоитами, ожидая соединения.

Пассивные эксплоиты сообщают shell когда они появляются они могут быть перечисленны путем передачи ‘-l’ команды sessions. Передача ‘-i’ взаимодействует с shell.

Выбираем пассивые эксплоиты
Dante

 

Пример пассивного эксплоита

 

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

Использование пассивного эксплоита

Dante

 

Взято с сайта http://www.stanovlenie.org.ua/work-to-active-and-passive-exploits/


Метки:  

Установка Metasploitable2 в Virtual Box

Воскресенье, 15 Ноября 2015 г. 17:22 + в цитатник

Как я и обещал, сегодня опишу установку уязвимой виртуальной машины Metasploitable2 в Virtual Box. Я даже какое-то время думал надо это писать или нет? Но обещал же! Мне привычнее делать что сказал.

 

Итак, начнем. Для начала нам необходимо установить Virtual Box. Это я описывать не буду, у меня уже установлен, и как я ставил я уже и не помню, так что не буду о этом говорить. Надеюсь сами разберетесь. Так что перейду сразу к следующему, а именно нам необходимо скачать уязвимую виртуальную машину Metasploitable2, официальная страница находится на сайте http://sourceforge.net/projects/metasploitable/files/Metasploitable2/

 

Вот тут со вторым я и первый раз обрадовался. Раньше этого не было, да и сейчас мне не радостно от того что я увидел вот это ‘Crimea blocked as per eo13658‘. Как может быть кто знает, живу я в Украине, и меня совершенно отказались пускать на данный сайт, хвала самой дерьмократической стране с её презервадентом. Блокирование связано с Крымом и чего-то там, подобным, лень читать было три страницы этой писанины.. Тьху на них с их политикой. Еще более обидно что от меня до Крыма, мягко говоря не близко, километров где-то 350.

 

Так решился этот вопрос просто при помощи прокси сервера. Ну да конечно пришлось поискать проксю, но времени не много ушло. Итог я таки открыл сайт http://sourceforge.net/projects/metasploitable/files/Metasploitable2/ и скачал виртуальную машину Metasploitable2. Да у меня она уже установлена была, но ведь для того чтобы написать как её установить надо начинать с того как её скачать. Так что у кого такая же проблема как у меня, используйте прокси.

 

Итак наконец машина Metasploitable2 скачалась, и мы имеем архив с ней

Архив с Metasploitable2
Dante

 

Теперь нам необходимо её распаковать, у меня архиватор кажется был по умолчанию в Kali Linux, а может нет, не помню уже, а переустанавливать ради того чтобы узнать желания нет. Я распаковывал в домашнюю директорию.

 

Теперь необходимо создать новую виртуальную машину. Запускаем Virtual Box, и жмем создать, для создания новой виртуальной машины. Пишем имя виртуальной машины, я ничего не придумывал, написал Metasploitable2, тип операционной системы Linux и версия Ubuntu. Жмем вперед

Создание новой виртуальной машины
Dante

 

Укахываем количество оперативной памяти виртуальной машины, я дал 2 гига.

Выделяем оперативную память виртуальной машине
Dante

 

Выбираем использовать существующий виртуальный жествий диск и выбираем диск который мы распаковали из архива.

Выбор жесткого диска
Dante

 

Жмем создать. Все, машина создана, теперь необходимо настроить сеть, чтобы в инет не лезла и не компроментировала безопасность вашей операционной системы. Заходим в настройки сети.

Настройка сети Metasploitable2
Dante

 

Выбираем виртуальный адаптер хоста, неразборчивый режим, все разрешаем, если виртуального адаптера хоста нет, то переходим в Virtual Box Файл >Настройки>Сеть>Виртуальные сети хоста, и добавляем новую виртуальную сеть.

 

Теперь запускаем нашу созданную виртуальную машину. Идет загрузка, требование ввести логин и пароль, вводим логин msfadmin и пароль msfadmin.

 

Запускаем нашу уязвимую машину Metasploitable2

Dante

 

Взято с сайта http://www.stanovlenie.org.ua/installation-metasploitable2-to-virtual-box/


Метки:  

Metasploitable 2 Руководство использования уязвимостей

Воскресенье, 15 Ноября 2015 г. 17:17 + в цитатник

Виртуальная машина Metasploitable является намеренно уязвимой версией Ubuntu Linux предназначенной для тестирования средств безопасности и демонстрации распространенных уязвимостей. Версия 2 этой виртуальной машины доступна для скачивания и поставляется еще более уязвимой нежели исходный образ. Эта виртуальная машина совместима с VMWare, VirtualBox и иными платформами общей виртуализации. По умолчанию, сетевые интерфейсы Metasploitable привязаны к NAT и Host-only сетевых адаптеров, и образ никогда не должен подвергаться воздействию враждебной сети.

 

Я постараюсь изложить многие из уязвимостей в Metasploitable 2. Со временем этот документ будет дополниться и расширятся, по мере моих скромных сил и загруженности.

 

Начнем

После загрузки виртуальных машин, в консоли вводим логин и пароль, соответственно login «msfadmin» и пароль «msfadmin». Из shell Metasploitable2 выполните команду ifconfig, для идентификации IP— адреса.

Смотрим адрес виртуальной машины
Dante

 

Сервисы

Из нашей атакующей системы, (Linux в частности у меня Kali Linux), определяем открытые сетевые сервисы, на этой виртуальной машине используя сканер Nmap Security Scanner. Следующая команда будет сканировать все TCP порты на Metasploitable 2:

Использование сканера nmap
Dante

 

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

 

Сервисы: Unix Basics

 

Порты TCP 512, 513 и 514, известные как «r» сервисы, были неправильно настроены для удаленного доступа из любого хоста (стандарт «.rhosts + +» ситуации). Для того чтобы воспользоваться этим, убедитесь что у Вас установлен клиент «rsh-client»(в Ubuntu если), и запустите следующую команду в качестве вашего локального root пользователя. Если Вам будет предложен ключ для SSH, это будет означать что инструменты rsh-client не были установлены и Ubuntu по умолчанию использует SSH.

 

# rlogin -l root 192.168.56.101

Last login: Fri Jun 1 00:10:39 EDT 2012 from :0.0 on pts/0
Linux metasploitable 2.6.24-16-server #1 SMP Thu Apr 10 13:58:00 UTC 2008 i686

root@metasploitable:~#

 

Это приблизительно также просто как gets. Следующий сервис который мы рассмотрим это сетевая файловая система (NFS). NFS может быть идентифицирован, путем зондирования порта 2049, или же используя portmapper для списка сервисов. Пример ниже использует rpcinfo для идентификации NFS и showmount -e для определения «/»(корня файловой системы) экспортируется. Вам понадобится rpcbind и nfs-common пакеты Ubuntu для того чтобы следовать дальше.

Файловая система NFS
Dante

 

Тривиальное получение доступа к системе с возможностью записи файловой системы. Для этого (потому что работает SSH) мы сгенерируем новый ключ SSH на вывод нашей атакующей системы, монтируем экспорт NFS, и добавляем наш ключ root аккаунта в authorized_keys file:

Получаем доступ к системе
Dante

 

Сервисы: Backdoors

 

Порт 21, Metasploitable2 запускает vsftpd, популярный FTP-сервер. Данная версия содержит в себе backdoor который позволяет неизвестному злоумышленнику подсунуть свой исходный код. Backdoor был быстро обнаружен и устранен, однако до того не мало людей скачали его. Если имя пользователя отправляется до конца последовательности «:)» (смайлик), версия backdoor откроет shell на порт 6200. Мы можем продемонстрировать это с Telnet или же используя Metasploit Framework модуль автоматического эксплоита:

 

root@ubuntu:~# telnet 192.168.56.101 21

Trying 192.168.56.101…

Connected to 192.168.56.101.

Escape character is ‘^]’.

220 (vsFTPd 2.3.4)

user backdoored:)

331 Please specify the password.

pass invalid

^]

telnet> quit

Connection closed.

root@ubuntu:~# telnet 192.168.56.101 6200

Trying 192.168.56.101…

Connected to 192.168.56.101.

Escape character is ‘^]’.

id;

 

uid=0(root) gid=0(root)

 

На порту 6667, Metasploitable2 работает демон UnreaIRCD IRC. Данная версия содержит в себе backdoor, существовал несколько месяцев незамеченным, срабатывает отправляя письма «AB» следующие по команде системы на сервере, на любом слушающемся порту. Metasploit имеет модуль эксплоит для того чтобы получить интерактивную оболочку, как вы можете видеть ниже.

Эксплоит UnreaIRCD в Metasploit
Dante

 

Гораздо более простым является старый backdoor режима ожидания «ingreslock» что работал на порту 1524. Порт ingreslock был популярным лет десять назад, для добавления backdoor на зараженный сервер. Доступ прост:

Backdoor режима ожидания ingreslock
Dante

 

Сервисы: ненамеренные Backdoors

 

В дополнение к злонамеренным backdoors в прошлом разделе, некоторые сервисы по своей природе практически являются backdoors. Первый который установлен в Metasploitable2 это distccd. Эта программа позволяет просто масштабировать большие работы компилятора, подобно конфигурированию систем. Проблемой с этой службой злоумышленник может легко злоупотребить, для того чтобы запустить команду по своему выбору используя модуль Metasploit, как Вы можете видеть это ниже.

Используем эксплоит в distccd
Dante

 

Samba конфигурируется с возможностью совместной записи файлов и «wide links» включен(по умолчанию), также может быть использован в качестве backdoor для доступа к файлам которые не предназначены для совместного использования. Пример ниже использует модуль Metasploit, для того чтобы обеспечить доступ к корневой файловой системе, используя анонимное соединение и доступные для записи части.

Backdoor samba
Dante

 

Эксплоит samba в Metasploit
Dante

 

root@ubuntu:~# smbclient //192.168.56.101/tmp

Anonymous login successful

Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.0.20-Debian]

smb: \> cd rootfs

smb: \rootfs\> cd etc

smb: \rootfs\etc\> more passwd

getting file \rootfs\etc\passwd of size 1624 as /tmp/smbmore.ufiyQf (317.2 KiloBytes/sec) (average 317.2 KiloBytes/sec)

root:x:0:0:root:/root:/bin/bash

daemon:x:1:1:daemon:/usr/sbin:/bin/sh

bin:x:2:2:bin:/bin:/bin/sh

[..]

 

Слабые пароли

 

В дополнение к более откровенным backdoors и ошибкам конфигурации, Metasploit2 имеет ужасный пароль безопасности для обеих систем и аккаунтов баз данных. Основной административный пользователь имеет пароль msfadmin соответствующий имени пользователя. Обнаружив список пользователей системы, или используя еще один недостаток, захватив парольный файл или же путем перечисления пользовательских Ids через Samba, используя brute force атаку можно быстро получить доступ к нескольким учетным записям пользователей. Как минимум следующие слабые системные записи, присутствуют в системе.

 

Имя аккаунта

пароль

msfadmin

msfadmin

user

user

postgres

postgres

sys

batman

klog

123456789

service

service

 

В дополнение к этим аккаунтам, сервис PostgreSQL может получить имя postgres и пароль postgres, в то время как служба MySQL является открытой для пользователя с именем root и пустым паролем. Сервис VNC обеспечивает удаленный доступ к рабочему столу, используя пароль password.

 

Уязвимые веб сервисы

 

Metasploitable2 имеет умышленно уязвимые предустановленные веб приложения. Веб сервер запускается автоматически, при загрузке Metasploitable2. Для того чтобы получить доступ к веб-приложению, откройте веб-браузер и введите URL http://<IP>, где <IP> является адресом Metasploitable2. Одним из способов достижения этой цели является установка Metasploitable2 в качестве гостевой операционной системы в Virtual Box и изменение сетевых настроек с сетевого сервиса «NAT» на «Виртуальный адаптер хоста»(Host Only). Установку Metasploitable2 в Virtual Box с Host Only, я опишу в следующей статье.

В этом примере Metasploitable2 работает на IP 192.168.56.101. Переход на http://192.168.56.101/ показывает стартовую страницу веб-приложений.

Страница уязвимых веб-приложений
Dante

 

Примечание: 192.168.56/24 «host only» по умолчанию в Virtual Box. IP адрес присваивается начиная со «101». В зависимости от порядка запуска гостевых операционных систем, IP адрес Metasploitable2 будет меняться.

Для того чтобы получить доступ к определенным веб-приложениям, нажмите на одну из предоставляемых ссылок. Отдельные веб-приложения могут быть дополнительно доступны путем добавления имени каталога приложений на http://<IP>, напишите URL http://<IP>/<папка приложения>/. Например для приложения Multillidae можно получить доступ введя в адресной строке http://192.168.56.101/mutillidae/. Приложения устанавливаются в Metasploitable2 в каталоге /var/www. (примечание: посмотреть данную категорию в metasploitable2 можно используя команду «ls /var/www»). В текущей версии, на момент написания, присутствующие приложения:

mutillidae

dvwa

phpMyAdminmutillidae

dvwa

phpMyAdmin

tikiwiki

twiki

tikiwiki-old

dav

 

Уязвимый веб-сервис: Mutillidae

 

Веб-приложение Mutillidae (NOWASP (Mutillidae)), содержит все уязвимости из Топ 10 OWASP плюс ряд иных уязвимостей, таких как HTML-5 веб хранилище, кеширование, и click-jacking. DVWA, Mutillidae позволяет пользователю изменить уровень безопасности от 0(полностью небезопасно) до 5(безопасно). Помимо того присутствуют три уровня подсказок, от уровня 0(без подсказок), до уровня 2(нуб максимальное количество подсказок). Если приложение повреждено пользовательской инъекцией или взломом, вы можете нажать кнопку «Reset DB» для сброса приложения в оригинальное состояние.

Примечание: Учебники по использованию Mutillidae вы можете найти в сети.

Уязвимое приложение Mutillidae
Dante

 

Включить подсказки в приложении вы можете нажав кнопку «Toggle Hints» в строке меню:

Включаем подсказки в Mutillidae
Dante

 

Приложение Mutillidae содержит как минимум следующие уязвимости:

 

страница

Уязвимость

add-to-your-blog.php

SQL инъекция входа в блог

SQL инъекция логина имени пользователя

Cross сайт скриптинг входа в блог

Cross сайт скриптинг логина имени пользователя

Log инъекция логина имени пользователя

CSRF

JavaScript обхода проверки

XSS в форме названия через ввод имени пользователя

Показ подсказок может быть изменён пользователем, даже если они не должны показываться в безопасном режиме

arbitrary-file-inclusion.php

Системный файл compromise

Загрузка любой страницы из любого сайта

browser-info.php

XSS через реферера HTTP заголовка

JS инъекция через реферера HTPP заголовка

XSS через строку пользовательского агента HTTP заголовка

capture-data.php

XSS через любой GET, POST или Cookie

captured-data.php

XSS через любой GET, POST или Cookie

config.inc*

Содержит unencrytped учетные данные базы данных

credits.php

Непроверенное перенаправление и движение вперед

dns-lookup.php

Cross сайт скриптинг на поля host/ip

O/S Команда инъекции на поля host/ip

Эта страница пишет log. SQLi и XSS на log возможны

GET для POST возможна только потому что чтение POSTed переменные не применяются

footer.php*

Cross сайт скриптинг через HTTP заголовок HTTP_USER_AGENT

framing.php

Click-jacking

header.php*

XSS через логин имени пользователя и подписи

Setup/reset пункта меню базы данных может быть включен путем установки uid значения куки 1

html5-storage.php

DOM инъекции на добавление ключа ошибки сообщения, потому что ключ выводится в сообщении об ошибке без кодирования

index.php*

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

Вы можете использовать SQL инъекцию значения куки UID, потому что он используется для просмотра.

Вы можете изменить свое звание, чтобы администратор изменил UID значение.

HTTP Response Splitting через ввод логина пользовательского имени потому что потому что он используется для создания HTTP заголовка.

Эта страница отвечает за кеш-контроль, но не делает этого.

Эта страница разрешает X-Powered-By HTTP заголовок.

HTML комментарии.

Существуют тайные страницы, которые просматривали перенаправление пользователя на страницу phpinfo.php. Это можно сделать при помощи brute forcing.

log-visit.php

SQL инъекция и XSS через реферера HTTP заголовка

SQL инъекция и XSS через строку агента пользователя

login.php

SQL инъекция обхода подлинности, через поле имени пользователя и поле пароля.

SQL инъекция через поле имени пользователя и поле пароля.

XSS через поле имени пользователя

JavaScript обхода проверки

password-generator.php

JavaScript инъекция

pen-test-tool-lookup.php

JSON иньекция

phpinfo.php

Эта страница нарушает правила конфигурации сервера PHP

Применить раскрытие пути

Раскрыть путь платформы

process-commands.php

Создает куки, но не делает из только HTML

process-login-attempt.php

То же самое что login.php. Это страница действий

redirectandlog.php

То же самое что credits.php. Это страница действий

register.php

SQL инъекция и XSS через имя пользователя и поле подписи пароля

rene-magritte.php

Click-jacking

robots.txt

Содержит каталоги которые поддерживаются как частные

secret-administrative-pages.php

Эта страница дает подсказки о том как открыть конфигурацию сервера

set-background-color.php

Инъекции каскадных таблиц стилей и XSS через поле color

show-log.php

Отказ сервиса, если вы полностью заполните log

XSS через hostname, IP клиента, HTTP заголовок браузера, реферальный заголовок HTTP, и поле даты

site-footer-xss-discusson.php

XSS через HTTP строку заголовка агента пользователя

source-viewer.php

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

text-file-viewer.php

Загрузка произвольных веб-страниц в интернет или локально включая файлы паролей сайтов.

Фишинг

user-info.php

SQL инъекция, для сброса всех имен пользователей и паролей через поле имени пользователя или поле пароля.

XSS через любое из отображаемых полей. Внедрение XSS на странице register.php.

XSS через поле имени пользователя

user-poll.php

Параметр pollution

GET для POST

XSS через выбор параметра

Cross сайтовая подделка запроса, чтобы заставить пользователя выбрать.

view-someones-blog.php

XSS через любое отображаемое поле. Они вводятся на добавлении страницы вашего блога.

 

Уязвимый Web сервис: DVWA

 

Из домашней страницы DVWA: «Damn Vulnerable Web App» (DVWA) это PHP/MySQL веб-приложение, является чрезвычайно уязвимым. Его основной целью должна быть помощь для профессионалов в области безопасности, для проверки своих навыков и инструментов в законной среде, помощи веб разработчикам лучше понять процессы безопасности веб приложений и изучению безопасности веб приложений и среде разработки.

DVWA содержит инструкции на домашней странице.

 

Имя пользователя по умолчанию = admin

Пароль по умолчанию =password

Уязвимый сервис DVWA
Dante

 

Уязвимые Web Сервисы: Раскрытия Информации

 

Помимо того опрометчиво раскрывающуюся информацию о PHP можно найти на http://<IP>/phpinfo.php. В этом примере, URL будет http://192.168.56.101/phpinfo.php. Данная уязвимость раскрытия информации PHP обеспечивает внутреннюю информацию системы и информацию о версии службы, которые могут быть использованы для поиска уязвимостей. Например зная что версия PHP показанная в скриншоте является версией 5.2.4, это может сказать что система может быть уязвима к CVE -CVE-2012-1823 и CVE -CVE-2012-2311 уязвимостям которые повлияли на PHP 5.3.12 и 5.4.X, аж до 5.4.2.

Уязвимые веб сервисы раскрытия информации

Dante

 

Взято с сайта http://www.stanovlenie.org.ua/metasploitable-2-manual-use-vulnerable/


Метки:  

Команды Msfconsole

Воскресенье, 15 Ноября 2015 г. 16:51 + в цитатник

Msfconsole имеет много различных вариантов команд которые вы можете выбрать. Ниже записан набор команд Metasploit.

 

back Вернуться назад из текущего контекста

banner Выводит на дисплей баннер Metaspoit

cd Изменить текущий каталог

color Переключить цвет

connect Связь подключения с хостом

edit Редактирование текущего модуля с $VISUAL или $EDITOR

exit Выход из консоли

get Получает значение переменной в конкретном контексте

getg Получает значение глобальной переменной

go_pro Запуск графического интерфейса Metasploit

grep grep выходной другой команды

help Меню помощь

 

info Отображение информации на один или больше модулей

irb Зайдите в irb скриптовый режим

jobs Отображает и управляет работами

kill Уничтожить работу

load Загрузить framework плагин

loadpath Ищет и загружает модули из пути

makerc Ищет и загружает модули из пути

popm Pops последний модуль из стека и делает его активным

previous Устанавливает ранее загруженный модуль в качестве текущего модуля

pushm Помещает активный или список модулей в стек модуля

quit Выйти из консоли

reload_all Перезагрузить все модули из всех определенных путей модуля

rename_job Переименовать работу

resource Выполнить команду, сохраненную в файле

route Маршрут трафика посредством сессии

save Сохраняет активные хранилища данных

search Ищет имена и описания модулей

session Damp сессии объявления и отображение информации о сессиях

set Устанавливает в значение контекст-специфическую переменную

setg Устанавливает в значение глобальную переменную

show Отображает модуль данного типа или все модули

sleep Ничего не делать в течении указанного количества секунд

spool Написать консольный вывод в файл как на экран

threads Просмотр и манипуляция фоновыми потоками

unload Выгрузить framework плагин

unset Сбрасывает одну или несколько контекст-зависимых переменных

unsetg Сбрасывает одну или более глобальных переменных

use Выбор модуля по имени

version Показать номер версии framework и консольной библиотеки

 

back

После того как Вы закончили работу с конкретным модулем, или же если Вы случайно выбрали неправильный модуль, Вы можете выполнить команду «back», для того чтобы выйти из текущего контекста. Однако это не требуется. Потому как в коммерческих маршрутизаторах вы можете переключать модули из других модулей. Как напоминание, переменные необходимо перенести, если они установлены в глобальном масштабе.

Выполнение команды back
Dante

 

banner

Просто показывает случайно выбранный баннер

Показ случайного баннера Metasploit
Dante

 

check

Есть не так много exploits которые его поддерживают, но так же есть опция «check», которая будет проверять, для того чтобы увидеть является ли цель уязвимой для каждого exploit вместо его использования.

Проверяем уязвимость цели для эксплоит
Dante

 

color

Вы можете включить или отключить, если вывод msfconsole будет содержать цвета.

Отключаем или включаем цвета
Dante

 

connect

Существует миниатюрный netcat clone построенный в msfconsole, которая поддерживает SSL, прокси и отправку файлов. Используя команду «connect» с ip-адресом и номером порта, Вы можете подключится к удалённому хосту изнутри msfconsole также как если бы Вы работали с netcat или telnet.

Подключаемся к хосту через msfconsole
Dante

 

Вы можете увидеть все дополнительные опции, введя параметр «-h».

Дополнительные опции connect
Dante

 

edit

Команда редактирования позволит изменить текущий модуль с $VISUAL или $EDITOR. По умолчанию будет открыт текущий модуль в Vim.

Редактирование в Metasploit
Dante

 

exit

Команда exit просто выходит из msfconsole.

Команда в Metasploit, exit
Dante

 

help

Команда help предоставляет Вам список и небольшое описание всех доступных команд.

Metasploit команда help
Dante

 

info

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

Команда info также предоставляет следующую информацию:

Информация об авторе и лицензировании.

Ссылки уязвимостей (то есть CVE, BID и тд.)

Любую полезную нагрузку которую модуль может иметь.

Metasploit команда info
Dante

 

irb

Запуск команды irb доставит Вас прямо в оболочку Ruby интерпретатора, где Вы можете выполнять команды и создавать скрипты Metasploit на лету. Эта функция также очень полезна для понимания внутренностей Framework.

Вывод команды irb
Dante

 

jobs

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

Вывод команды jobs
Dante

 

kill

Команда kill убивает все работы которые поставляются с рабочим идентификатором.

Команда kill в Metasploit Framework
Dante

 

load

Команда load, загружает плагин из директории плагинов Metasploit. Аргументы передаются как key=val в shell.

Metasploit команда load
Dante

 

loadpath

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

Metasploit команда loadpath
Dante

 

unload

Команда unload наоборот выгружает предварительно загруженный плагин и удаляет любые расширения команды.

Metasploit команда unload
Dante

 

resource

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

Metasploit команда resource
Dante

 

Некоторые атаки, такие как Karmetasploit используют файлы ресурсов для запуска набора команд в файле karma.rc создающем атаку. Позже мы рассмотрим как вне Karmetasploit, это мажет быть полезным.

Karmetasploit в Metasploit Framework
Dante

 

Пакетные файлы могут ускорить тестирование и разработку в разы, а так же позволяют пользователю автоматизировать многие задачи. Кроме того, загрузка пакетного файла из msfconsole, они также могут быть переданы при запуске с помощью «-r». Простой пример ниже, создает пакетный файл для отображения номера версии Metasploit при запуске.

Пакетные файлы Metasploit
Dante

 

route

Команда «route» в Metasploit позволяет маршрутизировать сокеты через сессии или «comm», обеспечивая основные возможности поворотов. Для добавления маршрута, Вы передаете подсети и маске сети номер следующей сессии.

route -h команда Metasploit
Dante
Команда route в Metasploit
Dante

 

search

Msfconsole включает в себя обширные регулярные выражения базирующиеся на функции поиска. Если у Вас есть общее представление о том что Вы ищете, Вы можете найти его с помощью команды «search». В выводе который Вы можете видеть ниже, поиск делается для MS Bulletin MS09-011. Функция поиска будет искать эту строку в модуле имен, описаний, ссылок и тд.

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

search команда Metasploit Framework
Dante

 

help

Вы можете уточнить ваши поиски используя встроенную систему ключевых слов.

Система ключевых слов Metasploit
Dante

 

name

Для поиска с использованием имени описания, используйте «name» ключевое слово.

Использования имен описаний
Dante

 

path

Используйте ключевое слово «path» для поиска путей модулей.

Использование ключевого слова path
Dante

 

platform

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

Сужаем поиск до конкретной платформы
Dante

 

type

Использование «type» позволяет фильтровать по типу модуля, к примеру post, exploit и тд.

Metasploit использование type
Dante

 

author

Поиск с ключевым словом «autor» позволяет искать модули по необходимым авторам.

Поиск по авторам
Dante

 

multiple

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

Объединяем ключевые слова
Dante

 

sessions

Команда «session» позволяет Вам перечислить, взаимодействовать или уничтожить порожденную сессию. Сессия может быть shell, Meterpreter сессией, VNC и тд.

Metasploit команда sessions -h
Dante

 

Чтобы перечислить все активные сессии, введите к ключевому слову «session» опцию «-l».

Перечисление активных сессий
Dante

 

Для взаимодействия с конкретной сессией, Вам просто необходимо использовать «-i» переключатель с последующим номером id сессии.

Взаимодействие с конкретной сессией
Dante

 

set

Команда «set» позволяет Вам настроить Framework опции и параметры для текущего модуля с которым Вы работаете.

Команда set в Metasploit
Dante

 

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

Устанавливаем кодер в metasploit
Dante

 

unset

Противоположна команде «set». «Unset» удаляет параметр предварительно настроенный с командой «set». Вы можете удалить все установленные переменные используя «unset all».

Metasploit команда unset
Dante

 

setg

Для того чтобы избежать излишнего ввода символов во время теста на проникновение, вы можете устанавливать глобальные переменные в msfconsole. Вы можете сделать это при помощи команды «setg». После того как они были установлены, Вы можете использовать их во многих эксплоитах и дополнительных модулях, так как Вам нравится. Так же Вы можете сохранить их и использовать в следующий раз при старте msfconsole. Тем не менее ловушка может состоять в том что можно забыть глобальные переменные что Вы сохранили, поэтому всегда проверяйте настройки перед запуском эксплоитов. Или же Вы можете использовать команду unset, для того чтобы сбросить глобальную переменную. В примере который показан все переменные введены большими буквами (т. е. LHOST) однако Metasploit регистронезависимый, так что это не обязательно.

Metasploit команда setg
Dante

 

После настройки различных параметров, Вы можете выполнить команду «save», для того чтобы сохранить текущую среду разработки и настройки. Ваши сохраненные настройки будут автоматически загружены при запуске который избавит Вас от необходимости устанавливать все заново.

Сохраняем настройки в Metasploit
Dante

 

show

Ввод «show» в строке msfconsole покажет каждый модуль в Metasploit.

Вводим show в msfconsole
Dante

 

Есть количество команд «show», которые вы можете использовать, однако те которые вы будете использовать наиболее часто являются ‘show auxiliary’, ‘show exploits’, ‘show payloads’, ‘show encoders’ и ‘show nops’.

 

auxiliary

Выполнение ‘show auxiliary‘ отобразит список всех доступных вспомогательных модулей в Metasploit. Как вспоминалось ранее, вспомогательные модули включают в себя сканеры, отказы сервисных модулей и тд.

Выполняем show auxiliary в Metasploit
Dante

 

exploits

Естественно «show exploits» будет командой, в которой вы будете наиболее заинтересованы так как в основе её работы лежит вся эксплуатация Metasploit. Работа «show exploits» предоставит список всех эксплоитов содержащихся во framework.

Выполняем show exploits
Dante

 

Использование msfconsole payloads

Запуск «show payloads» покажет все различные payloads для всех платформ которые доступны в Metasploit.

Выполнение show payloads
Dante

 

payloads

Как Вы можете видеть, есть много доступных payloads. К счастью когда Вы находитесь в работе определенного эксплоита, работа ‘show payloads’ будет показывать только payloads которые совместимы с данным эксплоитом. Например если используете OC Windows Вы не будете видеть payloads для Linux.

Используем payloads
Dante

 

options

Если вы имеете выбранный конкретный модуль, Вы можете использовать команду «show options», для того чтобы отобразить какие настройки доступны и/или необходимы для этого конкретного модуля.

Вывод show options
Dante

 

targets

Если Вы не уверены, является ли операционная система уязвимой для определенного эксплоита, запустите ‘show targets’ из модуля эксплоита, для того чтобы увидеть какие цели поддерживаются.

Вводим show targets из эксплоита
Dante

 

advanced

Если вы производите дальнейшую тонкую настройку эксплоита, Вы можете увидеть более продвинутые опции запустив ‘show advanced’.

Ввод show advanced
Dante

 

encoders

Запуск ‘show encoders’ покажет список кодеров, которые доступны в MSF.

Ввод show encoders
Dante

 

nops

Наконец выдача команды ‘show nops’ покажет все NOP генераторы что может предложить Metasploit.

Запуск show nops
Dante

 

use

Когда Вы решили, определенный модуль сделать используемым, введите команду «use» и выберите её. Команда «use» изменяет контекст определенного модуля, выставляя специфический тип команды. Обратите внимание, на выводе ниже, что любые глобальные переменные которые были ранее установлены уже настроены.

Metasploit команда use
Dante

 

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

 

Взято с сайта http://www.stanovlenie.org.ua/command-msfconsole/


Метки:  

Metasploit Msfconsole

Воскресенье, 15 Ноября 2015 г. 16:40 + в цитатник

Что такое msfconsole?

 

 

Msfconsole вероятно является самым популярным интерфейсом для Metasploit Framework (MSF). Данный интерфейс обеспечивает централизованную консоль типа «все в одном» и позволяет Вам эффективный доступ практически ко всем опциям доступным в MSF. Msfconsole может показаться пугающим вначале, но как только вы узнаете синтаксис команд, вы научитесь ценить доступную силу этого интерфейса.

 

Преимущества в использовании msfconsole

 

Поддерживается только способ доступа к большинству функций в Metasploit.

Обеспечивает базовую консоль интерфейса фреймворков.

 

Содержит большинство функций и высокую стабильность интерфейса MSF.

Полная readline поддержка, табуляции, и завершения команд.

Возможно выполнение внешних команд в msfconsole:

msfconsole выполнение внешних комманд
Dante

 

Запуск msfconsole

 

Для того чтобы запустить msfconsole, просто запустите msfconsole из командной строки. Msfconsole находится в директории /usr/share/metasploit-framework/msfconsole.

Запускаем msfconsole
Dante

 

Как использовать командную строку

 

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

 

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

 

Введите help или ? только в командной строке MSF и появится список доступных команд вместе с описанием того для чего они используются.

Команды доступные в Metasploit Framework
Dante

 

Tab завершения

 

Msfconsole предназначен для того чтобы быть быстрым в использовании и одной из особенностей которые помогают в этой цели является tab завершение. С широким массивом доступных модулей, может быть достаточно трудно вспомнить точное название и путь к конкретному модулю, который вы хотите использовать. Как и в большинстве иных оболочек вводя то что вы знаете, и нажав на кнопку «Tab» система представит Вам список опций, доступных для Вас или автодополнение строки, если есть только один вариант. Tab завершение зависит от расширения ruby readline и почти каждая команда в консоли поддерживает Tab завершение.

use exploit/windows/dce

use .*netapi.*

set LHOST

show

set TARGET

set PAYLOAD windows/shell/

exp

Tab дополнения
Dante

 

Msfconsole является наиболее часто используемым интерфейсом для Metasploit. Знание команд msfconsole поможет Вам получить прочную основу для работы с Metasploit в целом.

 

Взято с сайта http://www.stanovlenie.org.ua/metasploit-msfconsole/


Метки:  

Интерфейс Msfcli

Воскресенье, 15 Ноября 2015 г. 16:17 + в цитатник

Msfcli обеспечивает мощный интерфейс командной строки для framework. Это позволяет легко добавлять metasploit exploits в любой скрипт который вы можете создать.

Был удален 2015-06-18

Msfcli интерфейс
Dante

 

 

 

Обратите внимание что при использовании msfcli переменные задаются при помощи = и все опции являются чувствительными к регистру.

Msfcli переменные
Dante

 

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

Опции для определенныъ модулей
Dante

 

Для отображения payloads, которые доступны для текущего модуля, добавьте букву P к командной строке.

Msfcli отображение payloads
Dante

 

Преимущества msfcli

 

Поддерживает запуск exploits и вспомогательных модулей

Полезен для решения конкретных задач

Удобный для обучения

Удобен в тестировании или разработке новых exploit

Хороший инструмент для одноразовой эксплуатации

Идеален если вы точно знаете какие exploit и опции Вам необходимы

Замечателен для использования в скриптах и базовой автоматизации

Интерфейс для Metasploitыл удален

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

Взято с сайта http://www.stanovlenie.org.ua/interface-msfcli/


Метки:  

Основы Metasploit

Воскресенье, 15 Ноября 2015 г. 14:44 + в цитатник

Существует множество различных интерфейсов в рамках Metasploit framework, каждый со своими сильными и слабыми сторонами. Таким образом, нет ни одного идеального интерфейса для использования с Metasploit framework, хотя msfconsole поддерживает только доступ к большинству основных Framework. Это все же полезно однако необходимо чувствовать себя комфортно со всеми интерфейсами, которые предлагает Metasploit framework.

Metasploit Framework основы
Dante

 

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

Взято с сайта http://www.stanovlenie.org.ua/metasploit-fundamentals/


Метки:  

Mixins и плагины Metasploit framework

Воскресенье, 15 Ноября 2015 г. 14:38 + в цитатник

Быстрый вывод в Ruby

Каждый класс имеет только одного родителя.

Класс может включать в себя множество модулей.

Модули могут добавлять новые методы.

Модули могут перегружать старые методы.

Metasploit модули наследуют Msf::Module и включают mixins для добавления новых функций.

 

Metasploit Mixins

Mixins довольно простая причина выбора Ruby.

 

Mixinsвключаетодин класс в другой.

 

Эти оба различия и похоже на наследование.

Mixins могут переопределять методы класса.

 

Mixins может добавлять новые функции и позволяет модулям иметь различные flavors”.

 

Спецификация протокола (то есть HTTP, SMB)

Спецификация поведения (то есть brute force)

connect() реализует TCP minix

connect() затем перегружает FTP, SMB и другие.

Mixins могут менять поведение.

 

Сканер mixin перегрузки run()

Изменение сканера run() для run_host() и run_range()

Он вызывает их параллельно на основе настройки THREADS

Mixin BruteForce аналогичен

Mixins Metasploit
Dante

 

 

Metasploit Плагины

Плагины работают непосредственно с API.

 

Они манипулируют framework в целом

Плагины подключаются в подсистему событий

Они автоматизируют определенные задачи, которые было бы утомительно делать вручную

 

Плагины работают только в msfconsole.

 

Плагины могут добавлять новые консольные команды

Они расширяют общую функциональность Framework

Взято с сайта http://www.stanovlenie.org.ua/mixins-and-plugins-metasploit-framework/


Метки:  

Metasploit модель объекта

Воскресенье, 15 Ноября 2015 г. 14:32 + в цитатник

В Metasploit Framework все модули являются Ruby классов.

 

     Модули наследуются от типа специфического класса.

     Специфический тип класса наследуется от Msf::Module класса.

      Это является общим API между модулями.

 

Payloads немного отличаются.

      Payloads создаются во время выполнения из различных компонентов.

     Склеивает вместе stagers со stages

Взято с сайта http://www.stanovlenie.org.ua/metasploit-object-model/


Метки:  

Модули и расположение в Metasploit

Воскресенье, 15 Ноября 2015 г. 14:19 + в цитатник

Metasploit как представляется пользователю, состоит из модулей.

 

Exploits

Определяются как модули использующие аппаратуру.

Exploit без payload является модулем Auxiliary

 

Payloads, Encoders, Nops

Payloads состоит из кода работающего удаленно.

 

Encoders предназначен для убеждения что payloads приложен к месту назначения.

Nops удерживает payload соответствующего размера.

 

Местоположение модулей

Дерево первичных модулей

Расположен в /usr/share/metasploit-framework/modules/

 

Заданное пользователем древо модулей

Расположен в ~/.msf4/modules/

Данное расположение идеально подходит для частного набора модулей.

 

Загрузка дополнительных деревьев на время выполнения

Передайте опцию m при запуске msfconsole (msfconsole -m)

Используйте команду loadpath в msfconsole

Взято с сайта http://www.stanovlenie.org.ua/modules-and-location-in-metasploit/


Метки:  

Файловая система и библиотеки Metasploit

Воскресенье, 15 Ноября 2015 г. 14:10 + в цитатник

Давайте рассмотрим одну часть архитектуры Metasploit Framework. В частности библиотеки и организацию файловой системы.

Библиотеки и файловая система Metasploit
Dante

 

Файловая система Metasploit Framework, изложена в интуитивной форме и организована в каталоги.

 

data: редактируемые файлы, используемые Metasploit

documentation: предоставляет документацию для framework

external: исходный код и сторонние библиотеки

lib: “meatдля framework базового кода

modules: плагины которые могут быть загружены во время выполнения

scripts: Meterpreter и иные сценарии

tools: различные полезные утилиты командной строки

 

Библиотеки

Rex

Базовая библиотека для большинства задач

Handless sockets, протоколы, текстовые преобразования и другие

SSL, SMB, HTTP, XOR, Base64, Unicode

 

Msf::Core

Обеспечивает «базовую» API

Определяет Metasploit Framework

 

Msf::Base

Обеспечивает «дружественным» API

Обеспечивает упрощенные интерфейсы для использования Framework

http://www.stanovlenie.org.ua/file-system-and-library-metasploit/


Метки:  

Архитектура Metasploit

Воскресенье, 15 Ноября 2015 г. 13:55 + в цитатник

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

 

Итак, программа Metasploit Framework имеет следующую архитектуру.

Архитектура Metasploit

http://www.stanovlenie.org.ua/architecture-metasploit/


Метки:  

Требования Metasploit Framework

Воскресенье, 15 Ноября 2015 г. 13:50 + в цитатник

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

 

Оборудование

Пространство на жестком диске

Оперативная память

Процессор

Доступ в интернет

 

Программное обеспечение

Гипервизор

Kali Linux

Metasploitable

 

Аппаратные средства

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

 

 

Пространство жесткого диска

Вам понадобится минимум 10гигобайт дискового пространства. Так как придется использовать виртуальные машины с большими размерами файлов, это значит что Вам невозможно будет использовать файловую систему FAT32, потому что он не поддерживает файлы больших размеров. Выбирайте файловые системы NTFS, ext3 или любой иной формат. Рекомендуется объем дискового пространства 30 гигабайт.

 

Если Вы захотите создать копии своей работы это так же будет занимать ценное пространство вашей системы. Будьте внимательны и будьте готовы освободить необходимое пространство по мере необходимости.

 

Оперативная память

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

 

Linux Хост минимальное количество оперативной памяти 1Gb желательно 2 или более.

Kali Гостевая операционная система 512Mb оперативной памяти, лучше 1Gb или больше. У меня Kali Linux установлена основной операционной системой, так что верхнее мне не нужно, да и для остального у меня пока 8Gb, надеюсь до 16 дойти.

Metasploitable Гостевая операционная система, оперативной памяти минимум 256 Mb рекомендовано 512 Mb. Больше будет еще лучше.

(Необязательно) на ОС Windows Минимально требуется памяти 256Mb, и 1Gb рекомендуется. Хотя, как всегда, чем больше тем лучше.

 

Процессор

Частота процессора всегда является проблемой с данной аппаратурой хотя старое оборудование лучше модернизировать или использовать для иных целей. Хотя конечно сам не с самым последним оборудованием работаю. По минимуму VMware Player требует 400MHz либо процессор более быстрый (рекомендовано 500MHz). Чем больше выделите тем лучше.

 

Доступ в интернет

Хорошее решение доступ в интернет через кабель cat5(витая пара) от роутера, свича или хаба. Если в сети нет DHCPсервера, Вам придется назначить статистические IPадреса для Вашей гостевой виртуальной машины. Подключение к беспроводной сети может работать также хорошо, как и Ethernet кабель, однако потеря сигнала на расстоянии через объекты, будет серьёзно ограничивать возможности подключения.

 

Программное обеспечение

Есть несколько требований к программному обеспечению необходимому для metasploit framework. Нам необходимо иметь как атакующую машину (Kali Linux), так и зараженную машину (metasploitable 2), а также гипервизор для запуска обоих в безопасной уединенной сетевой среде.

 

Гипервизор

Рекомендуемый гипервизор для лучшей совместимости с Kali и metasploitable является VMware Player. Так как VMware Player является свободным, Вам необходимо зарегистрироваться для загрузки. Однако хорошая виртуализация приложений и техники стоит того чтобы зарегистрироваться, если Вы еще не являетесь зарегистрированным членом. Так же Вы можете использовать платные альтернативы VMware Workstation или VMware Fusion.

Существуют множество различных вариаций когда дело доходит до гипервизора, который хочется использовать. В дополнение к VMware некоторые часто используют VirtualBox и KVM.

 

Kali Linux

Kali Linux является продвинутым дистрибутивом Linux, предназначенным для тестирования на проникновение и безопасность. В состав инструментов Kali Linux входит metasploit со многими установленными уже инструментами безопасности, которые также можно использовать на компьютере жертвы. Загрузить последнюю версию Kali Linux можно по адресу http://www.kali.org/downloads/

 

После того как Вы скачаете Kali Linux, Вам необходимо обновить систему до последней версии metasploit которая доступна в репозитариях с помощью команды

«apt-get update && apt-get upgrade»

 

Metasploitable

Одна из проблем с которой придется столкнутся когда начнем использовать framework, это попытка настройки целей для сканирования и атаки. К счастью, команда Metasploit об этом знает и выпустила уязвимую виртуальную машину VMware под названием «Metasploitable».

Metasploitable является намеренно уязвимой виртуальной машиной Linux. Эта виртуальная машина может быть использована для проведения подготовки по вопросам безопасности, тестирования инструментов безопасности и практики методов тестирования общего проникновения. Эта виртуальная машина может быть использована на всех последних продуктах VMware и иных средствах виртуализации таких как VirtualBox. Вы можете скачать файл образа Metasploitable2 из http://sourceforge.net/projects/metasploitable/files/Metasploitable2/

 

Никогда не используйте виртуальную машину в ненадежной сети, не подключайте её к интернету, используйте NAT или режим Host-only

 

После того как Вы скачаете виртуальную машину, извлеките её из архива, откройте файл vmx с помощью VMware и включите его. По истечению какого-то времени, система будет загружена и готова к действию. Введите пароль и логин по умолчанию

«msfadmin:msfadmin»

Уязвимая машина Metasploitable2

Взято с сайта http://www.stanovlenie.org.ua/requirements-metasploit-framework/


Метки:  

Metasploit Framework Введение

Воскресенье, 15 Ноября 2015 г. 04:17 + в цитатник

«Если бы у меня было восемь часов для того чтобы срубить дерево я бы первые шесть часов потратил на заточку своего топора»

 

Это высказывание говорит мне в последние годы о тот что проблемы которые все больше беспокоят меня, такие как возможная анонимность и безопасность в сети, возможно решить только лишь при помощи правильного набора инструментов, которые приведут к желаемому. Итак, какое-же отношение, данное полуфилософское высказывание, имеет к Metasploit Framework?

http://www.stanovlenie.org.ua/metasploit-framework-introduction/


Метки:  

Дневник Ставратий_Константин

Пятница, 19 Июня 2015 г. 19:23 + в цитатник
Все о том что мне интересно, компьютеры информационная безопасность


Поиск сообщений в Ставратий_Константин
Страницы: [1] Календарь