9 декабря, 2021

Как настроить Homebrew для установки и обновления инструментов с открытым исходным кодом на Mac OS (Часть 5)

Итак, мы подошли к середине цикла статей о подготовке Mac к хакингу. В прошлый раз мы познакомились с основами Git, а теперь пора научиться пользоваться менеджером пакетов.
Хороший менеджер пакетов необходим для эффективной работы на Linux/Unix. Без данного приложения нужные зависимости потребуется компилировать самостоятельно из исходного кода. Да, на вашем компьютере уже есть Mac App Store, но большинство инструментов, нужных хакерам и специалистам по безопасности, там отсутствуют.
Дело в том, что за добавление приложения в Mac App Store нужно платить. К тому же, Apple может и не допустить приложение к публикации. Не всем разработчикам такое по душе. Поэтому нам нужен другой менеджер пакетов – такой, который даст возможность скачивать бесплатное программное обеспечение – например, Hydra, Aircrack-ng, GNU Coreutils (если вы, как и мы, любите Linux больше, чем Unix), или какие-либо зависимости для инструментов, размещенных на GitHub.

Зачем вообще нужен менеджер пакетов?
Если вам понадобится скомпилировать Aircrack-ng на macOS, то сначала нужно будет удостовериться, что у вас есть все необходимые зависимости, что они находятся в нужных местах, и работают, как надо. Затем вам придется скачать исходники для Aircrack-ng, сконфигурировать и скомпилировать их, попутно решая возникающие по ходу действия проблемы.
По прошествии нескольких месяцев, вам, возможно потребуется обновить скомпилированную программу. Для этого нужно будет удалить программу с компьютера, проверить, какие библиотеки требуются для последней версии, а затем снова повторить весь процесс. Наконец, не помешает проверить, не осталось ли каких-то зависимостей, которые больше не нужны (в случае, если мы отслеживали все, что установили, в некоем подобии списка).
Это если вы обходитесь без менеджера пакетов. А если он у вас есть, то всю вышеперечисленную работу он возьмет на себя.

Читать также:  Metasploit для начинающего хакера. Получение доступа к токенам авторизации ( Часть 6)

Итак, какой менеджер пакетов лучше использовать?
Для macOS есть несколько менеджеров пакетов – например, Macports и Nix. Мы же рекомендуем использовать Homebrew. Он быстрый, простой в использовании, и использует библиотеки macOS по умолчанию вместо того, чтобы устанавливать новые, их дублирующие. Пакеты своевременно обновляются, а весь функционал доступен под правами пользователя – нет необходимости использовать sudo.
Но самое главное – Homebrew не засоряет вашу систему – все его файлы находятся в собственной «песочнице» (/usr/local).
При наличии Homebrew исходный код и бинарные пакеты скачиваются с уже установленными зависимостями. Затем Homebrew отслеживает, какое ПО было установлено, где оно находится, и для каких задач используется. Он также следит за информацией по конфигурации. В общем, с этим менеджером пакетов процесс поддержки программного обеспечения с открытым кодом на вашем Mac становится сущим пустяком.
Перед тем, как клонировать проект с GitHub, мы рекомендуем поискать его в Homebrew. Если там его не окажется, стоит подумать над созданием собственной brew-формулы. В репозиториях Homebrew немного пентест-инструментов, зато много библиотек и инструментов общего характера с открытым кодом, которые тоже могут пригодиться.

Шаг 1. Установите Homebrew

Сначала мы скачаем Homebrew с его сайта http://brew.sh. Но перед установкой нужно просмотреть исходники на GitHub. Вообще, использовать pipe для получения ПО из интернета не всегда хорошо, но в данном случае волноваться не стоит: исходный код размещен на GitHub, а их репозиториям можно доверять.
Откройте на вашем «Маке» приложение iTerm2 и задайте следующую команду:

 • /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Вам предложат ввести пароль.

Шаг 2. Создайте маркер доступа

Если вы обращаетесь к репозиторию Homebrew достаточно часто, вам потребуется маркер доступа, поскольку API GitHub ограничивает количество запросов к его серверам.

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

Читать также:  Взлом паролей от аккаунтов Фейсбука, Инстаграма и Твиттера путем брутфорса

Внизу страницы кликните на «Создать маркер доступа». Теперь, когда у вас есть маркер доступа, нужно применить его для Homebrew.

Шаг 3. Добавьте маркер доступа

Теперь, чтобы маркер доступа «заработал», нам придется отредактировать несколько bash-файлов в домашней директории, а именно – файлы .bashrc и .bash_profile. Файл .bashrc является конфигурационным для Bash – стандартной оболочки macOS. Файл .bash_profile – это файл персональных настроек для оболочек входа (SSH или консоли), а .bashrc – это файл с настройками для интерактивной оболочки.
Конечно, можно просто отредактировать .bash_profile, но мы рекомендуем хранить все настройки Bash в .bashrc. В этом случае настройки останутся неизменными, независимо от того, как будет создаваться shell. Если мы будем вызывать .bashrc из .bash_profile то, когда будем входить в систему через SSH, у нас будет та же среда, что и на локальном терминале.
Задать настройки можно вручную, используя Vim или любой другой простой текстовый редактор. Как вариант, можно сделать это с помощью текстового редактора по умолчанию, набрав в терминале open ~/filename.
Чтобы воспользоваться Vim, откройте новое окно в iTerm2 или зайдите в домашнюю директорию, набрав в терминале cd, а затем – обозначенную ниже команду. (Если у вас пока нет файла .bashrc, сначала создайте его с помощью touch .bashrc.)

 • vim .bashrc

Теперь добавьте маркер доступа в нижнюю часть файла .bashrc в режиме вставки. Используйте a для добавления после курсора, либо i – для вставки перед курсором.

 • export HOMEBREW_GITHUB_API_TOKEN="YOUR_TOKEN_HERE"

Нажмите Escape, чтобы вернуться в обычный режим из режима вставки. Затем введите :wq, чтобы сохранить файл. Двоеточие – это префикс перед командой, а wq означает «записать» и «выйти».
Теперь давайте отредактируем файл .bash_profile. Задайте команду (если у вас пока нет файла .bash_profile, сначала создайте его с помощью touch .bash_profile):

 • vim .bash_profile

А сейчас внизу файла .bash_profile добавьте указанную ниже команду. (Опять же, используйте a для добавления после курсора, либо i – для вставки перед курсором.)

 • source .bashrc

Теперь снова нажмите Escape и введите :wq, чтобы сохранить файл и выйти.
Теперь нам нужно, чтобы команды в файле .bashrc выполнялись так же, как и в командной строке. Используем для этого следующую команду:

 • source ~/.bashrc

Ну вот и все. Теперь продолжим работать с Homebrew!

Читать также:  Raspberry Pi 3 как компьютер для практики

Шаг 4. Научитесь работать с Homebrew

Homebrew аналогичен менеджерам пакетов Linux, и его легко использовать. Чтобы получить первичную информацию, применим команду help:

 • brew help

Как видите, все очень просто. Если вы знакомы с APT, то заметите сходство.
Теперь давайте установим пакет. Используем для этого популярный брутфорс-инструмент Hydra. Но сначала убедимся, что Hydra у нас есть.

 • brew search hydra

Затем получим о Hydra информацию, подтверждающую, что это именно то, что нам нужно. Используем для этого команду:

 • brew info hydra

И, наконец, установим Hydra. Можно сразу установить и GUI:

 • brew install hydra --with-gtk+

Теперь на вашем Mac есть версия Hydra.

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

Резюме

Устанавливать и поддерживать пакеты с Homebrew проще простого, особенно если вы уже знакомы с Linux. Если вам потребуется установить приложение с открытым исходным кодом, зайдите на сайт Homebrew, чтобы сэкономить время. Если нужного пакета там не окажется, обратитесь к GitHub. Как правило, этих двух вариантов бывает достаточно, чтобы удовлетворить любую потребность в программном обеспечении.

Предыдущие статьи(1 , 2 , 3 , 4).

Добавить комментарий