- 620
- 729
- 15 Янв 2017
Автор:Barrow
Настройка системы для пентестов практически завершена. После того как мы вооружились Git и Homebrew, настало время сделать еще один небольшой, но очень важный шаг, и познакомиться с Ruby.
Ruby представляет собой объектно-ориентированный скриптовой язык, используемый в таких популярных проектах как Metasploitи WPScan. Хотя Ruby установлен по умолчанию в macOS, средства управления средой, на базе этого языка (например, работа с gem файлами и версиями Ruby), по сути, отсутствуют.
Управление версиями Ruby нужно по нескольким причинам. Во-первых, версия Ruby, встроенная в macOS, вместе с сопутствующими библиотеками обычно устаревшая. Во-вторых, для корректной работы некоторых хакерских утилит требуются специфические версии Ruby, и нам нужно одновременно несколько рабочих версий.
Существует два средства управления версиями Ruby: rbenv и RVM(Ruby Version Manager). Rbenv - небольшого размера с поддержкой модулей. Больше заточен под философию Unix-среды «делай что-то одно и хорошо». Хотя лично я предпочитаю RVM, в котором собраны все средства, необходимые для управления средами, что позволяет удовлетворить практически все наши нужды. Кроме того, этот менеджер рекомендован для работы с Metasploit Framework.
В этой статье мы рассмотрим установку RVM в macOS и обновление Ruby до последней версии.
Шаг 1: Установка GPG
Текущая версия RVM подписывает и проверяет все релизы, в том числе установочный скрипт rvm-installer. В большинстве случаев все автоматизировано, и во время установки проверяется, подписаны ли файлы.
Для начала нам нужно установить GPG, утилиту с открытым исходным кодом, которая позволит нам шифровать и подписывать все данные, используемые во время коммуникаций. Если у вас уже установлен Homebrew, воспользуйтесь следующей командой:
- brew install gpg
Рисунок 1: Установка GPG
Шаг 2: Установка RVM
Запускаем RVM-установщик при помощи следующей команды:
- curl -L https://get.rvm.io| bash -s stable --autolibs=enabled --ruby
Шаг 3: Проверка версии Ruby
Проверяем версию Ruby, используемую по умолчанию на нашей машине, при помощи следующей команды:
- rvm list
Рисунок 2: Проверки версии Ruby при помощи RVM
Как видно из рисунка выше, в нашей системе используется самая новая версия Ruby.
Шаг 4: Установка более ранних версий Ruby
Используя RVM, установить более раннюю версию Ruby, которая может потребоваться для запуска некоторых утилит, не составит особого труда. Откройте iTerm и введите следующую команду:
- rvm install 2.2.5
Рисунок 3: Установка более ранней версии Ruby
Я выбрал версию 2.2.5, поскольку уже существует бинарныйфайл, и не нужно тратить время на компиляцию. При помощи следующей команды, вы можете получить список версий, которые легко скачать и установить:
- rvm list known
Шаг 5: Переключение между версиями
Посмотреть список всех установленных версий можно при помощи следующей команды:
- rvm list
- rvm use 2.2.5
Рисунок 4: Переключение на версию 2.2.5
Шаг 6: Удаление неиспользуемых версий
Если необходимые вам утилиты стали использовать последнюю версию Ruby, удалить ненужные версии можно при помощи следующей команды:
- rvm remove 2.2.5
Рисунок 5: Удаление версии2.2.5
Если вы хотите удалить только Ruby, но оставить все остальное, имеющее отношение к этой версии, используйте следующую команду:
- rvm uninstall 2.2.5
Заключение
RVM – мощная и полезная утилита со множеством функций, которые могут пригодиться как разработчику, так и пентестеру. Вначале рекомендую ознакомиться со справочной документацией при помощи команды «man rvm». После установки этого менеджера версий мы сможем работать с проектами на Ruby, которые хранятся на GitHub. Теперь нам не нужно беспокоиться относительно конфликтов множества версий Ruby, установленных в системе.