Armitage
://boybitchkitty.gif1. Обзор Armitage
1.1 Что такое Armitage
Armitage является графической оболочкой для фреймворка Metasploit , значительно упрощающей работу с ним. С помощью Armitage можно представлять хосты-цели в визуальном режиме, получать подсказки о рекомендуемых эксплоитах в каждом конкретном случае.
Для опытных пользователей Armitage предлагает возможности удаленного управления и совместной работы с Metasploit. С помощью Red Team Collaboration ваша команда может совместно использовать одну и ту же сессию этого фреймворка, иметь общий доступ к данным и общаться между собой.
Armitage был создан для опытных специалистов по компьютерной безопасности, которые хорошо знакомы со спецификой своей работы, но не используют повседневно Metasploit. Однако, если вы хотите изучить этот фреймворк и разобраться во всех его тонкостях, Armitage также поможет вам в этом вопросе.
1.2 Управление кибер-атаками
Armitage спроектирован для использования возможностей Metasploit при организации хакерских атак. В общих словах эти возможности можно описать следующими действиями: обнаружение хостов; получение доступа к ним; повышение привилегий и другие необходимые операции на хосте, к которому был получен доступ; управление захваченным хостом. Давайте в общих чертах рассмотрим все эти четыре возможности. Чуть позже мы вернемся к ним для более детального обзора.
Схема работы Armitage
Для обнаружения хостов Armitage использует несколько возможностей управления хостами , заложенные в фреймворке Metasploit. Вы можете импортировать заранее полученный список хостов сети и запустить сканирование, чтобы создать базу данных целей. Armitage может представить эту базу данных в графическом режиме, так что вы всегда можете точно знать, с какой машиной в данный момент вы работаете, а с какими у вас настроены сессии.
Armitage помогает при работе с удаленным использованием эксплоитов - автоматически подбирает наиболее подходящие для данной цели сплоиты и даже выполняет их проверку на работоспособность - какие именно эксплоиты будут гарантированно работать против атакуемой вами машины. Если же эта функция Armitage не сможет вам помочь, вы можете воспользоваться другими инструментами, такими как Hail Mary
или же db_autopwn
.
Armitage расширяет клиентские возможности Metasploit. Вы можете просматривать базу данных эксплоитов в поисках нужного, генерировать специальные файлы (malware
) или создавать запускаемые файлы Meterpreter.
Когда вы получите доступ к удаленной машине, Armitage также поможет вам в дальнейших действиях на ней. В состав Armitage входят несколько инструментов , основанных на возможностях агента Meterpreter. Одним щелчком мыши в контекстном меню вы выполните операцию повышения прав в системе; загрузите дамп хэшей паролей в свою локальную базу данных; просмотрите файловую систему удаленной машины так, как будто это ваша локальная машина; можете запустить оболочку командной строки на удаленном хосте.
Наконец, Armitage помогает выполнить процесс создания pivot
. Возможности, которая позволяет вам использовать захваченные хосты как платформы для организации дальнейших атак на другие машины и исследования сети. С помощью Armitage также можно задействовать возможности прокси-модуля SOCKS, входящего в состав фреймворка Metasploit, для подключения внешних инструментов. Это дает дополнительные преимущества при использовании pivot
. Применяя эти инструменты, вы можете в последующем исследовать и перемещаться по сети.
Дальнейшее описание Armitage будет посвящено детальному описанию его возможностей, которые вы могли бы применить на практике.
1.3 Необходимые понятия
Для того, чтобы использовать Armitage, необходимо первоначально разобраться, что такое Metasploit. Ниже приведены сведения, без понимания которых невозможна дальнейшая работа.
Metasploit представляет из себя консольное приложение. Все действия, которые вы выполняете в Armitage, транслируются в команды, понятные для Metasploit. Естественно предположить, что при должном опыте работы с фреймворком вы можете задавать команды непосредственно в Metasploit, минуя Armitage (об этом будет рассказано немного позже). Если вы что-либо забыли и не знаете, что делать, введите в консоли команду help
и нажмите Enter.
Metasploit имеет модульную структуру. То есть, его возможности можно увеличивать за счет подключения соответствующих модулей. Любой сетевой сканер, эксплоит или payload
представляет из себя именно модуль. Например, если вы сканируете хост, вы используете соответствующий модуль. Но прежде чем использовать модуль, вы должны задать один или несколько параметров для его правильной работы. Использование эксплоитов аналогично. Для того, чтобы запустить эксплоит, вы должны выбрать нужный модуль сплоита, указать для него необходимые параметры и только затем запустить. Помощь Armitage заключается в облегчении выполнения этих задач.
Если вы успешно применили эксплоит к хосту, на нем открывается сессия для ввода команд. Armitage знает, как управлять соответствующей командной оболочкой и сессиями Windows meterpreter.
Meterpreter представляет из себя агент, с помощью которого можно выполнять множество операций после проникновения в машину. С помощью Armitage вы можете воспользоваться всем функционалом агента Meterpreter. Работа с этим агентом будет рассмотрена позже.
2. Приступаем к работе
2.1 Рекомендуемые требования
Armitage устанавливается вместе с Metasploit 3.7.0 одним пакетом. В нем имеются все необходимые зависимости, включая:
- Java 1.6.0+
- Metasploit 3.7.0+
- База данных и сопроводительная документация по ее подключению
Убедитесь в том, что у вас установлена официальная версия Sun Oracle Java. Связка Armitage+Metasploit не работает с другими версиями Java-окружениями.
Вам потребуется самая последняя сборка фреймворка Metasploit. Работа Armitage была протестирована на совместимость с последними версиями Metasploit. Нет никакой гарантии, что более ранние сборки Metasploit также будут работать с ним. Проверьте версию вашего фреймворка командой subversion
. Регулярно выполняйте обновление Metasploit командой msfupdate
.
Наконец, вам необходима база данных, которую вы будете подключать к Metasploit. Armitage потребует от вас имени пользователя, пароль, имя машины и базу данных, прежде чем вы выполните подключение.
Я настоятельно рекомендую вам использовать для управления базой данных PostgreSQL вместо MySQL. Имеются нерешенные проблемы, приводящие к краху базы данных MySQL, когда Metasploit пытается изменить схему базы данных. На базе данных под управлением PostgreSQL фреймворк прошел полное и успешное тестирование. Поэтому полный инсталляционный пакет Metasploit под Windows и Linux устанавливает именно PostgresSQL.
2.2 Установка под Linux
Для того, чтобы установить Armitage под Linux:
- Удостоверьтесь, что вы обладаете правами пользователя
root
- Скачайте и установите Metasploit Framework с сайта разработчиков http://www.metasploit.com/ (в результате вы получите полный пакет со всеми зависимостями под Linux.)
- После инсталляции, запустите обновление Metasploit командой
/opt/framework/app/msfupdate
- Установите VNC viewer (например, под Ubuntu это выполняется командой
apt-get install vncviewer
)
Для запуска Armitage выполните команду:
sudo armitage
Щелкните мышью на Start MSF для запуска демона Metasploit RPC и подключитесь к нему. Настройки для установленной базы данных Metasploit уже выставлены за вас. Вам нет никакой необходимости их менять.
2.3 Установка под BackTrack linux
Дистрибутив BackTrack Linux 5 уже имеет в своем составе предустановленные и готовые к использованию пакеты Metasploit и Armitage.
Откройте терминал и введите команду для запуска Armitage:
armitage
Щелкните мышью на кнопке Start MSF, чтобы запустить Metasploit и подключиться к Armitage.
Если вы хотите легко и без проблем пользоваться Armitage, BackTrack Linux является самым предпочтительным вариантом.
2.4.Установка под Windows
Для установки Armitage под Windows нужно выполнить следующие шаги:
- Убедитесь в том, что вы являетесь администратором системы (если это не так, перейдите под эту учетную запись, как описано здесь)
- Скачайте и установите Metasploit Framework с домашней страницы http://www.metasploit.com/ (вы получите пакет со всеми зависимостями под эту операционную систему)
- Обновите Metasploit, перейдя в меню Start - All Programs - Metasploit Framework - Metasploit Update
Для запуска Armitage:
- Перейдите в меню Start - All Programs - Metasploit Framework - Armitage
- Щелкаем по кнопке Start MSF и ждем подключения
- Если что-то пошло не так, запускаете Диспетчер задач комбинацией клавиш Ctrl-Alt-Del и останавливаете все Ruby-процессы в нем
2.5 Установка под MacOS X
Armitage работает под MacOS X, но эта операционная система не является поддерживаемой для него. Metasploit не имеет официального пакета под OS X. Существует множество мануалов по установке этого фреймворка с готовыми предустановками. Cedric Baillet создал пошаговое руководство по конфигурации Postgres и Ruby для использования Armitage под MacOS X.
Мною было вложено много сил в разработку Armitage, а также в поддержку его Windows-версии. Я рад, что были исправлены специфические баги Armitage под MacOS X, но я не смогу помочь вам с проблемами, связанными с установкой Metasploit и базы данных под эту операционную систему. Я не открою вам секрета, если скажу, что я не использую Metasploit под MacOS X и у меня нет никаких соображений по поводу того, чем я cмог бы помочь в этом случае.
Armitage хорошо работает под MacOS X в качестве удаленного клиента для Metasploit. Скачайте пакет для MacOS X, распакуйте его и двойным щелчком запустите файл Armitage.app
.
3. Обзор интерфейса пользователя
3.1 Обзор
Пользовательский интерфейс Armitage разделен на три основные панели: панель модулей (модульная панель) Modules, панель целей (целевая панель) Targets, панель вкладок Tabs. Размер панелей не является фиксированным - его можно легко изменять, перетягивая границы нужного окна.
Три панели Armitage
3.2 Модульная панель
Браузер модулей позволяет запускать соответствующие модули Metasploit, использовать эксплоиты, генерировать payload
. Чтобы найти нужный модуль, просмотрите дерево списка последних. Двойной щелчок на выбранном модуле запускает диалоговое окно его свойств с опциями.
Armitage автоматически поместит IP-адреса подсвеченных хостов из панели целей в качестве значения переменной RHOST для любого модуля, который вы выберете из списка.
Вы можете искать нужные вам модули еще одним способом. Щелкните мышью в окне поиска внизу окна, введите в нем маску (например, ssh_*
) и нажмите Enter. В дереве модулей будет показан результат поиска, причем оно будет раскрыто для быстрого обзора. Если хотите вернуть браузер модулей в первоначальное состояние, очистите строку поиска и снова нажмите клавишу Enter.
3.3 Целевая панель - графическое представление
В панели целей отображаются все хосты в сети, с которой вы работаете на данный момент. Armitage представляет каждую цель в ней в виде значка компьютера, с некоторой дополнительной информацией внизу (IP-адрес и т. д.). Версию операционной системы, запущенной на хостах, можно легко угадать по значку на мониторе каждого из компьютеров.
Панель целей Armitage
Значок красного компьютера в окружении электрических разрядов (192.168.1.106
) обозначает хост, к которому был получен доступ. Щелчок правой кнопкой мыши на этом компьютере открывает контекстное меню для запуска различных сессий, соответствующих этому хосту.
Зеленая стрелка указывает направление от одного хоста к другому. Создание опорных хостов pivot
позволяет Metasploit маршрутизировать атаки и сканировать сеть, используя промежуточные машины в этой сети. Светлозеленая стрелка обозначает, что между хостом и pivot
происходит обмен командами и данными.
Чтобы выбрать нужный хост, щелкните на нем мышкой. Если вам нужно выбрать несколько хостов одновременно, щелкните мышью на пустом месте целевой панели и создайте прямоугольник выделения, не отпуская кнопку мыши. В любом случае, Armitage попытается сам применить к выделенному хосту/хостам доступные на данный момент действия (например, запустить эксплоит).
Правый щелчок мыши на хосте открывает выпадающее контекстное меню, в котором представлены доступные опции, которые можно применить именно к этому конкретному хосту. В нем будет показаны опции атаки или входа в систему этого хоста, меню с открытыми сессиями, опции для редактирования информации о хосте.
Меню Login доступно только тогда, когда при сканировании портов удаленной машины было установлено, что Metasploit может подключиться к этим портам. Меню Attack появляется, когда будут обнаружены атаки, которые можно применить к этому хосту. Меню Shell и Meterpreter также появляется только тогда, когда открыта сессия Meterpreter для выбранного хоста.
В панели целей можно использовать сочетания клавиш (горячие клавиши). Изменение их доступно в меню Armitage - Preference.
- Ctrl Plus - увеличить масштаб
- Ctrl Minus - уменьшить масштаб
- Ctrl 0 - сбросить масштабирование
- Ctrl A - выбрать все хосты
- Escape - очистить выбор
- Ctrl C - расположить хосты в виде круга
- Ctrl S - расположить хосты рядами
- Ctrl H - расположить хосты по иерархии. Это работает, только когда имеется
pivot
- Ctrl R - обновить список хостов из базы данных
- Ctrl P - экспортировать хосты в графический файл
Правым щелчком мыши на пустом месте целевой панели можно вызвать меню для настройки отображения хостов и задать параметры масштабирования.
3.4 Цели - табличное представление
Может случиться так, что у вас будет много хостов, обнаруженных Armitage. С большим количеством машин, отображаемых в панели целей, работать становится трудно. Для этого случая в Armitage имеется возможность их представления в табличном виде. Чтобы переключиться в этот режим, перейдите в меню View - Targets - Table View. Armitage запомнит ваш выбор и для следующего раза представит их в точно таком же виде.
Armitage - отображение в табличном режиме
Для сортировки хостов в каждой колонке этой таблицы используйте заголовок столбца. Выделение строки и правый щелчок мыши на ней открывает меню с соответствующими опциями для него.
IP-адреса хостов, на которых открыты сессии, выделяются полужирным шрифтом (как на скриншоте). Если используется pivot
, Armitage также выделяет полужирным шрифтом его IP-адрес.
3.5 Вкладки
Все возможности Armitage доступны в третьей, нижней панели вкладок Tabs. Каждая панель консоли, которую вы открываете, представлена в этом окне отдельной вкладкой. Панель вкладок является окном, в котором вы будете проводить большинство своего времени при работе в Armitage.
3.6 Консоли
Через панель консоли вы можете управлять Armitage с помощью интерфейса командной строки. Консоль Metasploit, консоль Meterpreter, сессия командной оболочки - все они находятся на панели вкладок.
Эта панель имеет историю командной строки. Клавишами-стрелками ArrowUp/ArrowDown можно перемещаться по ранее введенным командам в поисках нужной.
В консоли Metasploit можно использовать клавишу Tab для автодополнения команд и параметров. Это работает так, словно консоль Metasploit находится вне Armitage.
Увеличение размера шрифта консоли можно сделать сочетанием клавиш Ctrl-Plus, уменьшение - сочетанием Ctrl-Minus, сбросить размер до первоначального значения - Ctrl-0. Если вам нужно изменить шрифт, перейдите в меню Armitage - Preferences.
Чтобы найти нужный текст в консоли, наберите Ctrl-F. Копирование всего текста консоли в буфер обмена можно выполнить клавишами Ctrl-A.
При выборе имени эксплоита или payload
'а в консоли, Armitage дополнит их командами use
или set PAYLOAD
соответственно.
3.7 Ведение отчетов
В Armitage ведутся логи всех консолей, оболочек, а также лог событий. Все эти отчеты организуются по дате и хостам. Все логи вы можете найти по адресу ~/.armitage
.
В эту же папку сохраняются копии снимком экрана (скриншоты), снимков web-камеры и файлы, скачанные через графический интерфейс (GUI). Если же вам не нужны такие возможности, вы можете отключить их, установив значение false
для параметра armitage.log_everything
.
4. Управление хостами
4.1 Рабочие пространства
Для добавления хостов в базу данных Metasploit, используйте меню Hosts. Для каждого добавленного хоста в Metasploit выделяется рабочее пространство, которое подобно отдельной базе данных. Рабочие пространства позволяют вам организовывать хосты в группы и перемещаться между ними.
Чтобы создать, переключиться или удалить рабочие пространства, выберите пункт Workspaces в меню.
4.2 Импорт хостов
При импортировании хостов в Metasploit вы добавляете информацию о них в базу данных последнего. Metasploit поддерживает импорт результатов сканирования хостов сторонними программами, например, Nessus, NMap и другими. Для загрузки результата такого сканирования, перейдите в меню Hosts - Import Hosts.
Если вам нужно добавить хост по его IP-адресу, выберите в меню Hosts - Add Hosts...
4.3 Сканирование в NMap
Вы можете запустить сканер NMap из Armitage и автоматически импортировать результаты его работы в Metasploit. Пункт меню Hosts - NMap Scan имеет несколько опций для выполнения подобной операции.
4.4 MSF Scans
В Metasploit есть много модулей для сканирования и распознавания хостов в сети. Эти модули работают достаточно хорошо и их результат является точным настолько, насколько этого позволяют соответствующие службы.
С помощью Armitage запуск многих из них легко выполнить через меню Hosts - MSF Scans. Выберите этот пункт, введите диапазон IP-адресов для сканирования и смотрите, как произойдет чудо.
Armitage применит все соответствующие модули для обнаружения работающих сервисов. Если хотите посмотреть на этот список, введите в поле поиска окна Модули служебное слово _version
и нажмите Enter.
Вы можете наблюдать процесс выполнения MSF Scan, перейдя в меню по пути View - Jobs.
Вы также можете выделить мышью один или несколько хостов, открыть контекстное меню и запустить MSF-сканирование через пункт Scan.