Mac на службе у хакера. Часть 4 – Установка iTerm2 через встроенный терминал

Mac на службе у хакера. Часть 4 – Установка iTerm2 через встроенный терминал
image

Автор: Barrow

После того как мы рассмотрели вопросы шифрования и управления паролями, поговорим о работе с терминалом.

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

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

Terminal и iTerm2

Терминал, используемый по умолчанию в macOS, называется Terminal, и находится в папке Utilities внутри директории Applications. Можно воспользоваться поиском через Spotlight по ключевому слову Terminal.


Рисунок 1: Результат выполнения команды cat /dev/random | hexdump | grep --color=always "b6" в терминале

Основные возможности и функции стандартного терминала:

  • Множество цветовых схем
  • Группы окон
  • Вкладки
  • Разделение окна на области
  • Некоторая интеграция справочной информации
  • Прозрачность

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

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

Шаг 1: Загрузка iTerm2

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

  • cd ~/Downloads

Эта команда переключает нас на папку Downloads, которая находится внутри домашней директории (символ ~ обозначает домашнюю директорию).

Далее при помощи curl (поскольку wget не встроен в macOS) нам нужно загрузить iTerm2, используя соответствующую ссылку. Выполняем следующую команду:


Рисунок 2: Загрузка iTerm2-3010.zip припомощи Curl впапку Downloads

Curl – мощный инструмент, позволяющий работать из командной строки, для получения и загрузки файлов, используя синтаксис URL. Опция –O эквивалентна параметру --remote-name, который говорит о том, что нужно записать выходной поток в локальный файл, имя которого будет эквивалентно имени скачиваемого файла. Без параметра –O содержимое загружаемого файла отобразилось бы на экране. Более полная информация о curl доступна на соответствующей справочной странице, ознакомиться с которой можно при помощи следующей команды:

  • man curl

Шаг 2: Проверка контрольной суммы

После загрузки проверяем, совпадает ли контрольная сумма. Контрольная сумма архива (SHA-256) на момент написания статьи:

434f52c5d554005a94e1f471018d1480a029155205644dadd65377f5eeff3624

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

  • shasum -a 256 iTerm2-3010.zip

Команда выше генерирует хэш для указанного файла. Опция a позволяет указать алгоритм. Поскольку мы проверяем контрольную сумму SHA-256, указываем значение 256.


Рисунок 3: Вычисление контрольной суммы архива

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

Шаг 3: Распаковка iTerm2

Распаковываем архив при помощи следующей команды:

  • unzip iTerm2-3010.zip

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

  • ls

Теперь рядом с .zip архивом появился распакованный файл. Перемещаем iTerm.app в директорию Applications:

  • mv iTerm.app/ /Applications/

Затем удаляем архив, чтобы не засорять дисковое пространство:

  • rm iTerm2-3010.zip


Рисунок 4: Перемещение файла и удаление архива

Шаг 4: Запуск iTerm2

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

Лично я доверяю команде разработчиков iTerm и добавил исключение. Если вы не хотите добавлять исключение, тогда рекомендую продолжать пользоваться стандартным терминалом. Чтобы добавить исключение, переходим в папку Applications, выделяем iTerm.app, нажимаем control (или правую кнопку мыши) и в контекстном меню выбираем команду «Open». То же самое можно сделать в терминале при помощи следующей команды:

  • spctl --add /Applications/iTerm.app/

После выполнения этой команды, возможно, потребуется ввести имя пользователя и пароль. Spctl – альтернативный способ взаимодействия с Gatekeeper через командную строку. При помощи команды выше мы добавляем iTerm2 в список исключений безопасности. Далее запускаем iTerm2 при помощи следующей команды:

  • nohup open /Applications/iTerm.app/ &>/dev/null &

При использовании nohup команда будет оставаться запущенной, даже если мы закроем терминал, из которого появился процесс iTerm2. Команда Open запускает файл, как если бы мы дважды кликнули мышью. Далее указывается директория к запускаемому файлу. Конструкция &>/dev/null перенаправляет содержимое stdout и stderr в /dev/null. Обычно при использовании nohup создается файл nohup.out с информацией из stdout и stderr, но в нашем случае этот файл не нужен. Амперсанд в конце говорит о том, что команда должна запускаться в фоновом режиме, после чего появится строка в шелле.

Рисунок 5: Запуск iTerm.app

После того как запустился iTerm2, стандартный терминал можно закрыть.

Рисунок 6: Результат выполнения команды cat /dev/random | hexdump | grep --color=always "b6" в новом терминале

Заключение

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

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


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