HackWare.ru
Этичный хакинг и тестирование на проникновение, информационная безопасность
Выбор дистрибутива для тестирования на проникновение: Kali Linux VS BlackArch
Никакого холивара — только факты.
Начну, пожалуй, с самого главного. Уровень тестера на проникновения зависит от его знаний и возможности владеть специализированными инструментами. А в какой среде эти инструменты запущены — совершенно неважно. К примеру, если вы проверяете сайт на SQL-инъекции, то ваше «мастерство» зависит исключительно от умения пользоваться sqlmap или jSQL (или чем-то подобным), а в какой среде вы их запускаете: Linux Mint, Kali Linux, BlackArch или даже Windows — это не суть.
Тем не менее, если мы говорим о производительности труда, т. е. о скорости выполнения задач и достижения результатов, то на это среда влияет довольно значительно. Чтобы использовать sqlmap в Windows, нужно скачать и установить правильную версию Python, также скачать sqlmap, и даже если всё делать правильно — работать в командной строке Windows — это мука: отсутствие поддержки автодополнения по клавише TAB, необходимость прописывать полные пути до файлов (или же необходимость устанавливать переменные окружения). Если мы переходим к Linux Mint, то там нужно скачать архив с sqlmap, распаковать и правильно запустить (желательно ещё и правильно установить, чтобы упростить дальнейшие запуски). И в Windows и в Linux Mint вам самим нужно следить за обновлениями программ, которые отсутствуют в репозиториях.
В Kali Linux или BlackArch вы просто набираете в консоли sqlmap с опциями и программа начинает работать для вас. За обновлениями вам следить не нужно — она обновиться сама, как только будет новая версия в репозиториях.
Т.е. видно, насколько всё проще в специализированных дистрибутивах. При этом если вы не умеете пользоваться sqlmap, то никакой дистрибутив, ни с какими крутыми хакерскими обоинами на рабочем столе вам не поможет. Это я и есть моя мысль, что среда никак не влияет на ваши возможности, она только влияет на производительность труда.
Т.е. получается, что специализированный дистрибутив, вроде бы как, всегда лучше? Всё зависит от конкретной ситуации. Например, вы хотите проверить свой сайт на SQL инъекции один раз. При этом вам не нужны все остальные инструменты и вам постоянно досаждают «закидоны» Kali Linux среди которых: проблемы с добавлением программ в автозапуск, отсутствие автостарта служб, которые на «дружественных» дистрибутивах сами запускаются при загрузке системы, постоянный рут и странный репозиторий; то тогда продуктивнее будет использовать тот дистрибутив, к которому вы привыкли, просто установив на него нужные вам программы.
Создатели Kali Linux не рекомендуют её для начинающих пользователей. Тем не менее, начинающие пентестеры столкнуться с большим количеством вопросов, если будут устанавливать программы самостоятельно из исходных кодов. Т.е. если вы изучаете тему пентестинга то, конечно, лучше выбрать специализированный дистрибутив.
Kali Linux VS BlackArch
Хорошо, мы определились, что нам нужен специализированный дистрибутив. Но какой выбрать? Ответ: любой, который вам больше нравиться. Поскольку, как я уже сказал, всё зависит исключительно от ваших знаний и умений, а где именно вы запускаете инструменты — это дело десятое.
Я расскажу о двух дистрибутивах с которыми работаю сам. Я не говорю про другие не от того, что они хуже (может быть и лучше), просто я не вижу смысла все их изучать — они примерно одинаковые, они различаются набором инструментов (это не очень важно, т. к. любой инструмент можно установить самостоятельно) и обоями рабочего стола.
При этом довольно интересно сравнить Kali Linux (которая основана на Debian) и BlackArch (основанный на Arch), т. к. их различия глубже и не сводятся к обоям рабочего стола.
Kali Linux — специализированный дистрибутив, с монолитным репозиторием («обычные» программы содержаться вместе с инструментами для тестирования), в систему внесены настройки, наиболее востребованные для пентестеров (подготовлено шифрование дисков с возможностью уничтожения мастер слота по паролю, отключена автозагрузка сетевых служб, пользователем по умолчанию является рут). При этом многое из этих специальных настроек можно изменить: вернуть обычного пользователя и т.д.
Дистрибутив Kali Linux сделан очень качественно, а благодаря простоте установки и своей кажущейся простоте, он завоевал свою заслуженную популярность.
BlackArch — это не что иное, как просто Arch Linux с дополнительным пользовательским репозиторием, в котором и содержаться все инструменты для тестирования на проникновение. Отсюда вытекает главный минус дистрибутива (ибо это Arch) — это его кажущаяся сложность. У дистрибутива отсутствует графический установщик и это отпугнёт большинство начинающих изучение.
Тем не менее, даже при средне-начальном знакомстве с Linux (или просто по готовым инструкциям), BlackArch можно превратить в очень дружественную операционную систему с очень приятным современным видом. Вот так выглядит мой BlackArch:
А вот так выглядит моя Kali Linux:
Согласитесь, даже не так-то просто сориентироваться, что это именно эти дистрибутивы. За что бы я не брался, у меня из всего получается Linux Mint. ))))
Как я уже упомянул, BlackArch труднее установить чем Kali Linux. Ещё одна трудность — необходимость настраивать некоторые службы перед запуском. К примеру, Apache и SSH на моём BlackArch удалось просто запустить, а вот MariaDB пришлось настраивать. Но для чего эти страдания, если инструменты везде одни и те же? В Arch (а, следовательно, и в BlackArch) самые свежие версии программ. Помню как при переходе на Linux (это был Linux Mint) меня постоянно расстраивало, что NetBeans, PHP, Java, Wine там полугодичной-годичной давности. В Arch новые версии в стабильный репозиторий попадают очень быстро. Забавно, но о выходе новой версии Wine я узнал проглядывая список обновления системы, а не из фида новостей.
Сейчас, со вторым переходом (первый был летом) на rolling release в Kali Linux также должны быть программы посвежее. Но, как показывают мои наблюдения, это затронуло только основы Debain и в меньше степени распространяется на инструменты для тестирования на проникновение.
Что касается специализированных инструментов. Разработчики BlackArch с маниакальным стремлением добавляют новые и обновляют существующие инструменты. Если посмотреть на появившиеся за последние недели/месяцы новые инструменты для тестирования на проникновение, то многие из них уже есть в BlackArch. Про Kali Linux такого не скажешь. Опять же, в Kali Linux самые популярные инструменты обновляются быстро — иногда в день выхода релиз кандидатов и даже бета-версий, а средне и малопопулярные инструменты могут оставаться не обновлёнными месяцами. Опять же, возможно, с rolling release это измениться в лучшую сторону (первые наблюдения показывают, что не изменилось).
Видеодрайвера для видеокарт AMD
У меня графическая карта от AMD, и, хотя это и ноутбучная версия, она показывает прекрасные результаты при переборе паролей с использованием GPU. Чтобы вся эта «шарманка» работала, нужны проприетарные драйвера AMD. Был период, когда из репозиториев во всех стабильных Debian’ах просто пропали проприетарные драйвера AMD где-то на полгода. Нет, естественно я без драйверов не сидел — нашёлся специалист, который пропатчил бинарники и написал инструкцию для установки и поделился своим добром со всеми. Это хорошо, но в Arch (BlackArch) имеется пользовательский репозиторий со стандартными (непатченными) драйверами, содержащих драйвера как стабильной, так и тестовой версий, при этом для достижения совместимости и упрощения установки, имеются все необходимые пакеты в этом же самом репозитории, что значительно упрощает установку — всё сводиться к нескольким командам.
Сейчас в Debian (Kali Linux) вернулись проприетарные драйвера в официальные репозитории. При установке которых иногда возникают серьёзные проблемы
Учитывая это положение — по этому пункту ни одна из систем не получает дополнительных баллов. Будем считать, что в этом они равны.
Ну и пожалуй последнее объективное различие: при установке на флешку (это мой любимый вариант, т. к. позволяет использовать железо напрямую + не затрагивает основную систему и её загрузчик), Kali Linux серьёзно лагает, а во время обновлений просто невозможно работать. У BlackArch всё не так: обновления и установка программ проходят быстро (меня это каждый раз потрясает), при этом можно продолжать работу — система совершенно не замечает происходящего процесса обновлений — всё очень плавно и никаких лагов.
Ну и последний, уже субъективный, довод — мне BlackArch просто больше нравиться. Я познакомился с этим дистрибутивом совсем недавно и, возможно, изменю своё мнение по мере накопления опыта работы с дистрибутивом, но пока он меня полностью устраивает.
Выводы
BlackArch (Arch Linux) не самый простой дистрибутив. Я бы его рекомендовал только тем, кто в Linux чувствует себя уверенно. С BlackArch (Arch Linux) придётся намного глубже изучить сам Linux, его устройство. Знать Linux полезно и для пентестинга и для обслуживания системы. Например, после знакомства с Arch Linux для меня такие проблемы как незагрузка системы (из-за переноса носителя на другой компьютер, из-за чего изменилась нумерация дисков) или чёрный экран при старте (из-за проблем с драйверами) — превратились из нерешаемых проблем, из-за которых нужно всё переустанавливать, в элементарные задачи, решаемые на раз-два. Но здесь главное не переусердствовать и не превратиться во владельца жигулей. Вы знаете, все владельцы жигулей прекрасно разбираются в устройствах автомобилей и умеют их ремонтировать — я знаю о чём говорю, т. к. сам был владельцем жигулей. Так вот, главное не превратиться в того, кто постоянно что-то настраивает и ремонтирует в своей системе вместо того, чтобы просто работать. Вместо того, чтобы собирать информацию, вы будете разбираться с запуском СУБД, веб-серверов и т.д.
Т.е. новичка однозначно BlackArch не рекомендуется. Но уверенным пользователям можно и попробовать. Затраченные на изучения старания окупятся продвинутым пониманием устройства Linux и возможностью создать/настроить идеальную для себя рабочую среду.
Русскую документацию по BlackArch вы найдёте на сайте BlackArch.ru.