В этой части я хочу поговорить про выбор железа и про выбор ОС для хакера. Сразу по поводу ОС – я буду рассуждать о выборе между Linux и Windows, о дистрибутивах Linux я говорить не буду. Что касается аппаратной части, то я не являюсь большим спецом по железу, только поделюсь с вами некоторыми наблюдениями, которые сформировались на основе практики.
Компьютер для хакера
Начнём с хорошей новости – для тестирования на проникновение, хакинга, подойдёт любой средний компьютер. Если вы решили увлечься новым хобби или обучиться компьютерной безопасности (очень полезно для программистов веб-приложений, и всех остальных, кто не хотел бы стать жертвой хакеров), то вам не нужно идти в магазин за новым компьютером.
Тем не менее, при выборе нового компьютера можно учесть некоторые аспекты, которые помогут вашем компьютеру (а значит и вам), быть эффективнее в некоторых задачах.
Настольный компьютер или ноутбук?
У настольного компьютера множество преимуществ: он мощнее, дешевле, прост в апгрейде и ремонте, у него удобнее клавиатура, больше портов, крупнее экран и многое другое. И только один недостаток – недостаток мобильности. Если перед вами не стоит задача выезжать на объекты, и вообще вы только учитесь, то настольный компьютер будет предпочтительнее.
Видеокарта для пентестера
Видеокарта нам нужна, конечно же, не для игр. Она нам нужна для перебора хеш-сумм (хешей). Хеш – это результат обработки данных по специальному алгоритму (хеш-функцией). Их особенностью является то, что одинаковые данные имеют одинаковые хеши. Но из хеша невозможно восстановить исходные данные. Эта особенно часто применяется, например, в веб-приложениях. Вместо хранения паролей в открытом виде, на большинстве веб-сайтов хранятся хеши этих паролей. Если вы вводите свой логин и пароль, то веб-сайт рассчитывает хеш для введённого вами пароля и сравнивает, соответствует ли он тому, который сохранён ранее. Если соответствует, значит вы ввели верный пароль и получаете доступ к сайту. Для чего всё это? Представьте себе, что хакеру удалось получить доступ в базе данных (например, через SQL-инъекцию) и он узнал все хеши на сайте. Он хочет авторизоваться под одним из пользователей, но не может – веб-сайт требует ввода пароля, хеши он не принимает.
Восстановить пароль из хеша можно, например, методом перебора (есть ещё радужные таблицы, но сейчас не о них, да и суть их сводиться к тому же самому – вычислению хешей для кандидатов в пароли). Мы берём кандидат в пароли, например, «superbit» считаем для него хеш-сумму, сравниваем с имеющейся хеш суммой – если они совпадают, значит паролем для пользователя является «superbit», если нет, том мы берём следующий кандидат в пароли, например, «dorotymylove», считаем для него хеш-сумму, сравниваем с той, которую мы узнали из базы данных сайта, если она совпадает – значит мы узнали, пароль, если нет – продолжаем далее.
Эту операцию (перебор хешей) можно делать с использованием центрального процессора, имеется много программ, которые это умеют делать. Но было замечено, что намного быстрее перебирать хеши с помощью видеокарты. По сравнению с CPU, использование GPU увеличивает скорость перебора в десятки, сотни, тысячи и более раз! Естественно, чем быстрее перебираются хеши, тем больше вероятность приблизить успешный взлом.
Популярными видеокартами являются AMD, GeForce и Intel HD Graphics. Из Intel HD Graphics не всегда удаётся извлечь толк, не особо они мощные и их не покупают отдельно – поэтому мы не будем на них сильно останавливаться.
Главный выбор стоит между AMD и GeForce. Намного более популярны видеокарты GeForce. Они хорошо себя зарекомендовали в играх, у них огромная армия фанатов. Но вот для перебора хешей лучше подходят AMD, как бы это не расстраивало поклонников GeForce. Видеокарты AMD из средней ценовой категории показывают примерно такие же результаты как видеокарты GeForce из топовой категории. Т.е. вместо одной топовой GeForce можно купить 2 AMD подешевле и получить бОльшую скорость перебора хешей.
Перебор хешей понадобится:
при тестировании на проникновение веб-приложений (иногда);
при взломе Wi-Fi (практически всегда);
при взломе пароля зашифрованных дисков, кошельков, файлов, запаролленых документов и т.п.) (всегда).
Вот вам табличка для размышления.
Сетевое оборудование / Wi-Fi адаптер
Для выхода в Интернет сгодиться практически любой сетевой адаптер. Даже при тестировании веб-приложений редко упираемся в ограничения пропускной способности сетевой карты. Чаще всего, замедления связаны со скоростью ответа тестируемого сервера/веб-сайта, DoS/антибрутфорс-защитами, недостатку оперативной памяти на компьютере пентестера, недостаточной пропускной способности Интернет-канала и т.д. Но никогда я не сталкивался с недостаточной пропускной способностью своей сетевой карты.
Если вы собираетесь взламывать Wi-Fi, то подходят не все беспроводные сетевые карты. Если для вас это важно, то подробности здесь.
Оперативная память
Только при использовании одной программы я сталкивался с недостатком оперативной памяти. Этой программой является IVRE. Для большинства других ситуаций, оперативной памяти среднего и даже маломощного компьютера должно хватать для запуска практически любых приложений в один поток.
Если вы планируете использовать ОС для пентестинга в виртуальной машине, то в этой ситуации лучше позаботиться о достаточном количестве RAM.
Потребности виртуальных машин в ОЗУ:
Arch Linux с графическим интерфейсом – 2 гигабайта оперативной памяти для очень комфортной работы
Kali Linux с графическим интерфейсом – 2 гигабайта оперативной памяти для нормальной работы
Kali Linux с графическим интерфейсом – 3-4 гигабайта оперативной памяти для очень комфортной работы
Любой Linux без графического интерфейса – около 100 мегабайт для работы самой системы + то количество, которое будут потреблять запущенные вами программы
Windows последних версий – 2 Гб чтобы просто запустилось (много тормозов)
Windows последних версий – 4 и более Гб для комфортной работы.
Например, у меня в основной системе 8 гигабайт, я выделил на Arch Linux и Kali Linux по 2 гигабайта оперативной памяти, я запускаю их (если нужно) одновременно и с комфортом в них работаю. Если вы планируете использовать ОС для пентенстинга в виртуальных машинах, то я бы рекомендовал иметь никак не менее 8 гигабайт – этого хватит чтобы с комфортом запускать по одной-две системе, а в этих системах большинство программ.
Тем не менее, если вы планируете запускать множество программ (или одну программу во много потоков), либо если вы хотите построить виртуальную сесть из нескольких виртуальных машин, то 16 гигабайт лишними не будут (я планирую увеличить на своём ноуте до 16 гигабайт, благо есть два пустых слота).
Всё, что больше 16 гигабайт оперативной памяти, вряд ли когда-либо вам пригодиться при пентестинге.
Процессор
Если вы собираетесь перебирать хеши и делать это именно с помощью центрального процессора, а не графической карты, то чем мощнее процессор, тем быстрее будет идти перебор. Также мощный процессор с большим количеством ядер позволит с большим комфортом работать в виртуальных машинах (я выделяю каждой виртуальной машине с графическим интерфейсом по 2 ядра).
Подавляющее большинство программ (кроме тех, которые перебирают хеши), не требовательны к мощности процессора.
Жёсткий диск
Особых требований нет. Естественно, с SSD работать приятнее.
Компьютер пентестера на VPS/VDS
VDS это то же самое что и VPS, т.е. виртуальный выделенный/частный сервер. Если вы знакомы с виртуальными машинами и ставили когда-либо систему в VirtualBox, то VPS – это то же самое, только вместо запуска виртуальной машины на свой компьютере, мы арендуем ресурсы у хостинг-провайдера (чаще всего, эти сервера используются для веб-серверов, а не для пентестинга).
Казалось бы, зачем платить за аренду, если можно установить на своём компьютере в том же самом бесплатном VirtualBox? Вопрос совершенно правильный и многие именно так и поступают – устанавливают на локальном компьютере.
Тем не менее, вариант с VPS не лишён смысла. Например, если вы занимаетесь перебором паролей на веб-сайтах (естественно с разрешения владельца – мы же не правонарушители… в крайнем случае, через Tor…), то это может затянуться на дни-недели-месяцы… Если вы всё это время будете держать включённым свой компьютер, то вам за электричество набежит немногим менее, чем если бы вы арендовали за 400 рублей двухъядерный, с 2 Гб оперативной памяти  VPS. Ну и все плюсы VPS: быстрое стабильное Интернет-подключение, круглосуточная работа и т.д.