Это последняя часть серии по настройке macOS для нужд пентестера. На данный момент в вашей системе установлены все основные утилиты.
Автор: Barrow
Это последняя часть серии по настройке macOS для нужд пентестера. На данный момент в вашей системе установлены все основные утилиты. Вы можете скачивать и компилировать проекты, хранящиеся в репозиториях на GitHub, или устанавливать недостающие зависимости и утилиты при помощи менеджера пакетов Homebrew. Установлены инструменты, позволяющие работать с проектами, написанными на Python и Ruby. Настало время организовать все установленное в единую и стройную систему.
Часть работы по выстраиванию подобной системы связана с организационными моментами. Все, что мы скачали и установили при помощи Homebrew и скомпилировали из исходников разбросано по разным директориям. Если продолжать действовать в таком духе и не заниматься упорядочиванием установленных утилит, будет сложно подобрать нужный инструмент для конкретного сценария (по крайней мере, если у вас не настолько хорошая память). Методы организации особенно актуальны в случае с теми утилитами и экспериментальными разработками, которыми вы редко пользуетесь.
В Kali Linux эта задача решается при помощи набора меню, встроенных в оконный менеджер. В качестве корневой директории мы будем использовать папку ~/pentest. Существует несколько способов организации утилит в виде иерархии категорий, и в процессе работы вы подберете наиболее удобную для вас структуру.
Мне нравится сегментировать утилиты по стадиям пентеста. Далее в каждой директории будут находиться символические ссылки на соответствующие утилиты (особенно, если этим инструментом я пользуюсь не особо часто).
льтернативный вариант: компилирование проекта сразу в нужной директории. В случае с утилитами, установленными при помощи Homebrew, или пакетами .pkg в директории можно разместить копию справочного файла readme с именем соответствующего инструмента (например, $toolname.readme). Этот метод особенно хорош для многофункциональных утилит. Дополнительно в данном файле можно делать различные пометки.
Фаза 1: Разведка
На этой стадии происходит сбор информации в активном или пассивном режиме. Цель этой фазы – собрать как можно больше сведений относительно цели. Чем больше информации, тем лучше.
Автор изображения JuanPabloGonzalez/123RF
Примеры вопросов, ответы на которые важно получить на этой стадии:
Ответы на вышеуказанные вопросы являются лишь верной айсберга. Чем больше информации вы соберете, тем лучше. Хотя с другой стороны, чем больше информации, тем больше времени уйдет на анализ. Если вы работаете в команде, то можно распределить фронт работы. Я использую методы, связанные с разведкой по открытым источникам (OSINT), в сочетании с утилитами, работающими в активном режиме. Вот некоторые инструменты, которые находятся в моей папке ~/pentest/recon:
Если утилит будет много, я могу ввести разделение на две категории: активные и пассивные. Инструменты, работающие в активном режиме, отсылают пакеты целевой системе. Утилиты, работающие в пассивном режиме, собирают информацию без взаимодействия с целевыми системами.
Фаза 2: Сканирование
Если Фаза 1 прошла успешно, мы получим много ценной информации: IP-адреса, имена сотрудников, адреса электронной почты и т. д. Следующая стадия – сканирование целевых систем.
Не вся собранная информация будет полезна, однако на этой стадии мы должны выявить уязвимые звенья. Мы будем обследовать периметр и устройства внутренних сетей на предмет наличия слабых мест, собирать более подробные сведения о системах и службах, на базе которых работают эти системы, и искать открытые порты, фаерволы, операционные системы, уязвимости и т. д.
Автор изображения TakashiHonma/123RF
Пример утилит, которые могут пригодиться на этой стадии:
Некоторые утилиты (например, Nmap) могут присутствовать в списках, используемых в нескольких фазах.
Фаза 3: Получение доступа
К этой стадии у нас уже собрано большой объем информации относительно целевых систем, и появились некоторые идеи, каким хостам нужно уделить внимание в первую очередь. Исследованы службы, работающие на базе устаревшего программного обеспечения, и, возможно, найдены уязвимости. Кроме того, мы можем запланировать атаку на основе социальной инженерии и нацелиться на службы хостов с известными брешами.
Автор изображения serezniy/123RF
Некоторые инструменты из этой категории:
И опять видим, что Nmap находится в еще одной категории, из-за своей гибкости и поддержки скриптов. Я также включил сюда утилиту, используемую для перебора паролей методом брутфорса, хотя не думаю, что мы будем использовать этот метод из-за временных ограничений. С другой стороны, если в вашем случае брутфорс допустим, запустить перебор в фоновом режиме будет не лишним.
Фаза 4: Поддержание связи с целевой системой
После того как мы скомпрометировали целевую систему, необходимо поддерживать связь с жертвой, чтобы получить еще больше информации. Здесь ключевым фактором является незаметность. На этой стадии происходит эксплуатация привилегий, использование средств удаленного доступа (RAT), руткиты и т. д. Наша цель – иметь доступ к системе в любой момент, когда мы того захотим.
Автор изображения mtkang/123RF
Примеры утилит из этой категории:
И опять видим, что Metasploit попал в еще одну категорию. На самом деле, эта утилита может пригодиться нам на всех стадиях.
Фаза 5: Сокрытие следов проникновения
На этой стадии можно предпринять массу различных мер: изменение (порчу) логов, удаление неактуальных файлов, очистка истории, сокрытие утилит, поддерживающих связь с целевой системой, и т. д. Основная задача этой фазы – сокрытие следов пребывания в целевой системе.
Автор изображения WichapolPolpitakchai/123RF
Ошибки во время согласованного пентеста повлияют на качество вашей работы. В случае с нелегальным доступом последствия могут быть еще хуже. Пример: подразделение агентства национальной безопасности США под кодовым названием Equation group не уделило должного внимания сокрытию своих следов. В итоге утилиты, используемые этим подразделением, выставили на продажу. Общая стратегия на этой стадии заключается в том, что нужно быть всегда на шаг впереди тех, кто занимается расследованием инцидентов.
Например, мы можем воспользоваться инструментами Metasploit или ClearLogs или даже тестовым редактором для очистки журналов событий. Кроме того, можно удалить файлы, где хранится история запуска команд.
Заключение
Если набор используемых нами инструментов будет упорядочен, мы сэкономим массу времени при проведении пентестов. Чрезвычайно важно быстро оценивать ситуацию и определять, какие инструменты подходят под конкретную задачу. Если конкретный тип атаки еще не автоматизирован, возможно, потребуется отдельная папка с экспериментальными разработками и эксплоитами, многие из которых можно найти на сайте Exploit Database. Если наша база инструментов будет рассортирована по фазам, переход между стадиями тестирования будет проходить легче и быстрее.
Собираем и анализируем опыт профессионалов ИБ