Компьютер для хакера

Начнём с хорошей новости – для тестирования на проникновение, хакинга, подойдёт любой средний компьютер. Если вы решили увлечься новым хобби или обучиться компьютерной безопасности (очень полезно для программистов веб-приложений, и всех остальных, кто не хотел бы стать жертвой хакеров), то вам не нужно идти в магазин за новым компьютером.

Тем не менее, при выборе нового компьютера можно учесть некоторые аспекты, которые помогут вашем компьютеру (а значит и вам), быть эффективнее в некоторых задачах.

Настольный компьютер или ноутбук?

У настольного компьютера множество преимуществ: он мощнее, дешевле, прост в апгрейде и ремонте, у него удобнее клавиатура, больше портов, крупнее экран и многое другое. И только один недостаток – недостаток мобильности. Если перед вами не стоит задача выезжать на объекты, и вообще вы только учитесь, то настольный компьютер будет предпочтительнее.

Видеокарта для пентестера

Видеокарта нам нужна, конечно же, не для игр. Она нам нужна для перебора хеш-сумм (хешей). Хеш – это результат обработки данных по специальному алгоритму (хеш-функцией). Их особенностью является то, что одинаковые данные имеют одинаковые хеши. Но из хеша невозможно восстановить исходные данные. Эта особенно часто применяется, например, в веб-приложениях. Вместо хранения паролей в открытом виде, на большинстве веб-сайтов хранятся хеши этих паролей. Если вы вводите свой логин и пароль, то веб-сайт рассчитывает хеш для введённого вами пароля и сравнивает, соответствует ли он тому, который сохранён ранее. Если соответствует, значит вы ввели верный пароль и получаете доступ к сайту. Для чего всё это? Представьте себе, что хакеру удалось получить доступ в базе данных (например, через SQL-инъекцию) и он узнал все хеши на сайте. Он хочет авторизоваться под одним из пользователей, но не может – веб-сайт требует ввода пароля, хеши он не принимает.

Восстановить пароль из хеша можно, например, методом перебора (есть ещё радужные таблицы, но сейчас не о них, да и суть их сводиться к тому же самому – вычислению хешей для кандидатов в пароли). Мы берём кандидат в пароли, например, «superbit» считаем для него хеш-сумму, сравниваем с имеющейся хеш суммой – если они совпадают, значит паролем для пользователя является «superbit», если нет, том мы берём следующий кандидат в пароли, например, «dorotymylove», считаем для него хеш-сумму, сравниваем с той, которую мы узнали из базы данных сайта, если она совпадает – значит мы узнали, пароль, если нет – продолжаем далее.

Эту операцию (перебор хешей) можно делать с использованием центрального процессора, имеется много программ, которые это умеют делать. Но было замечено, что намного быстрее перебирать хеши с помощью видеокарты. По сравнению с CPU, использование GPU увеличивает скорость перебора в десятки, сотни, тысячи и более раз! Естественно, чем быстрее перебираются хеши, тем больше вероятность приблизить успешный взлом.

Популярными видеокартами являются AMD, GeForce и Intel HD Graphics. Из Intel HD Graphics не всегда удаётся извлечь толк, не особо они мощные и их не покупают отдельно – поэтому мы не будем на них сильно останавливаться.

Главный выбор стоит между AMD и GeForce. Намного более популярны видеокарты GeForce. Они хорошо себя зарекомендовали в играх, у них огромная армия фанатов. Но вот для перебора хешей лучше подходят AMD, как бы это не расстраивало поклонников GeForce. Видеокарты AMD из средней ценовой категории показывают примерно такие же результаты как видеокарты GeForce из топовой категории. Т.е. вместо одной топовой GeForce можно купить 2 AMD подешевле и получить бОльшую скорость перебора хешей.

Этот момент я переосмыслил. Сравнивая данные из этой таблицы и цены в Интернет-магазинах, пришёл к выводу, что разницы нет. Топовые GeForce мощнее топовых Radeon в два с лишним раза. А цена выше примерно в два раза. Плюс нужно знать, что у драйверов AMD очень болезненные отношения с большинством дистрибутивов Linux. В настоящее время hashcat на Linux поддерживает работу только с AMDGPU-Pro, который поддерживает только новые видеокарты. И даже если вы планируете покупать компьютер с новой видеокартой AMD, то для начала ознакомьтесь со списком поддерживаемых дистрибутивов Linux – он куцый, вполне возможно, что вашей ОС там нет.

В общем, возможно когда-то Radeon действительно были лучше GeForce для перебора паролей, когда-то драйвера AMD ставились в Linux одной командой, но сейчас это не так. Если бы сейчас я собирал компьютер или покупал ноут, то выбрал бы модели с GeForce.

Перебор хешей понадобится:

  • при тестировании на проникновение веб-приложений (иногда);
  • при взломе Wi-Fi (практически всегда);
  • при взломе пароля зашифрованных дисков, кошельков, файлов, запаролленых документов и т.п.) (всегда).

Вот вам табличка для размышления.

Сетевое оборудование / Wi-Fi адаптер

Для выхода в Интернет сгодиться практически любой сетевой адаптер. Даже при тестировании веб-приложений редко упираемся в ограничения пропускной способности сетевой карты. Чаще всего, замедления связаны со скоростью ответа тестируемого сервера/веб-сайта, DoS/антибрутфорс-защитами, недостатку оперативной памяти на компьютере пентестера, недостаточной пропускной способности Интернет-канала и т.д. Но никогда я не сталкивался с недостаточной пропускной способностью своей сетевой карты.

Оперативная память

Только при использовании одной программы я сталкивался с недостатком оперативной памяти. Этой программой является 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: быстрое стабильное Интернет-подключение, круглосуточная работа и т.д.

Кстати, я серьёзно: не используйте VPS для анализа уязвимостей и даже сканирования портов без предварительного разрешения. Или ОБЯЗАТЕЛЬНО используйте Tor. Люди, обслуживающие VPS, намного чаще сталкиваются с нарушениями (в основном, спамеры разные, нарушения авторских прав и т.д.), там есть специальный человек/команда, кто реагирует на абузы. И если вы кого-то сканируете со своего домашнего компьютера и вашему Интернет-провайдеру это до лампочки, то обслуживающий персонал хостинга читает все поступившие жалобы (даже те, которые автоматически сгенерированы программами, например, в ответ на то, что вы просканировали порты на чьём-то компьютере) и просит вас устранить нарушения… В общем, Tor…

VPS – это отличный выбор для пентестеров, которые специализируются на веб-приложениях, особенно при задачах:

  • клонирование веб-сайтов (можно даже без Tor’а)
  • брут-форсинг учётных данных как веб-приложений, так и разнообразных сервисов, которые имеют удалённый вход
  • долгое сканирование веб-приложений на уязвимости
  • сканирование больших подсетей

Ещё без VPS не обойтись при фишинге (например, клон оригинального сайта для выманивания логинов и паролей у простаков), DNS спуфинге и ряде других атаках.

Если кому-то интересно, вот моя ОС для пентестинга в облаке (я установил Arch Linux + репозиторий BlackArch), сделал веб-интерфейс с открытым доступом для своих любимых программ: https://suip.biz/ru/

Ну и «в нагрузку» VPS позволяет организовать свой собственный веб-сервер, почтовый сервер, файловое хранилище, облако для кооперации, ownCloud, VPN ну вообще что угодно, что умеет Linux с белым IP. Я, например, организовал мониторинг новых версий программ (на том же VPS где и https://suip.biz/ru/ — зачем платить два раза): https://softocracy.ru/

VPS позволяет как устанавливать компьютер с интерфейсом командной строки, так и с графическим окружением рабочего стола. Как говориться, на «на вкус и цвет…» все фломастеры разные, но лично я ярый противник установки ОС с графическим окружением рабочего стола в качестве сервера. Хотя бы потому, что это просто дорого – для комфортной работы нужно покупать тарифные платы с 2+ гигабайт оперативки. И даже этого может быть мало, в зависимости от запущенных программ и их количества.

У VPS в качестве хакерского компьютера есть спои плюсы, а для некоторых это может стать единственным вариантом (если нет возможности установить Linux в качестве второй системы, а также в виртуальный компьютер).

ARM компьютер

ARM компьютер – это маломощный, потребляющий мало электричества компьютер. Они все разные, как и «большие» компьютеры, они различаются производительностью, портами, периферией.

ARM устройство это отличный вариант, если вам нужен работающий круглыми сутками компьютер, но вы не хотите использовать свою основную машину, платить за VPS и боитесь счетов за электричество.

Компьютер на базе ARM прекрасно подойдёт для:

  • Долгих атак на веб-приложения (брут-форс, анализ, создание зеркала на жёстком диске и т.д.)
  • Долгих атак на Wi-Fi (фишинг с мошеннической точкой доступа, ожидание рукопожатия без использования деаутентификации и т.д.)
  • Прокси сервера с Tor, резальщиком рекламы и прочим, что можно сделать на базе компьютера
  • Wi-Fi мониторинга (можно не только атаковать, но и находиться в режиме постоянного прослушивания эфира на предмет чужих атак, появившихся в радиусе досягаемости точек доступа и клиентов)
  • Мониторинга радиосигналов различных раций, создания собственных базовый станций GSM (при наличии соответствующего дополнительного оборудования, естественно)…

Самым популярным, на слуху, является Raspberry Pi 3. Из самых мощных можно выделить ODROID-C2

На ARM устройство я бы рекомендовал устанавливать ОС без графического окружения рабочего стола и среди устройств выбирать те, которые помощнее. В результате может получиться помощник, которого почти не видно, который никогда не спит и всегда что-то делает для вас, при этом почти не потребляет электричества. Если у вас прямой IP, можно установить на него же веб-сервер, почтовый сервер ну и т.д.

Linux или Windows для хакинга?

Большая часть программ, которые используются в пентестинге из Linux, являются кроссплатформенными и прекрасно работают в Windows. Исключение составляют только программы для Wi-Fi. Да и то дело не в самих программах (Aircrack-ng, например, является кроссплатформенным набором программ, который поставляется с официальными бинарниками под Windows), а в режиме монитора сетевого адаптера в Windows.

Nmap, Wireshark, Ncrack, Maltego, Burp Suite, DNSChef, hashcat и многие другие поставляются с официальными исполнимыми файлами под Windows.

sqlmap, WPScan и вообще почти все «скриптовые» программы на языках Python и Ruby являются кроссплатформенными.

Программы на Java являются кроссплатформенными по определению.

Более того, с драйверами под видеокарты AMD в Windows всё легко и непринуждённо, в отличие от Linux, где головная боль из-за видеокарт AMD растягивается на годы…

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

У Windows есть свой определённый потенциал, есть Cygwin, который может многое из того, на что способна командная строка Linux. Я не сомневаюсь, что есть и большое количество пентестеров, которые «сидят» на Windows. В конце концов, главное не какая ОС установлена, а понимание технических аспектов, понимание работы сети, веб-приложений и прочего, а также умение пользоваться инструментами.

У тех, кто выбирает Linux в качестве ОС платформы для хакинга, преимущества заключаются в том, что:

  • Много готовых дистрибутивов, где установлены и настроены соответствующие профильные программы. Если всё это устанавливать и настраивать в Windows, то может оказаться, что быстрее разобраться с Linux.
  • Тестируемые веб-приложения, разнообразные серверы и сетевое оборудование обычно работает или основывается на Linux или чем-то похожем. Осваивая ОС Linux, её базовые команды, вы одновременно и изучаете «цель» пентестинга: получаете знания, как она работает, какие файлы могут содержать важную информацию, какие команды вводить в полученный шелл и т.д.
  • Количество инструкций. Все зарубежные книги по пентестингу (а отечественных я не видел), описывают работу именно в Linux. Конечно, можно покумекать и переложить команды на Windows, но потраченные усилия на то, чтобы всё работало как надо, могут оказаться равными усилиям, которые необходимы для освоения Linux.
  • Ну и Wi-Fi. В Linux, если ваша сетевая карта это поддерживает, нет проблем с режимом монитора.

Показать больше в Интересное

Один Комментарий

  1. Dev//

    Июнь 1, 2017 в 14:08

    Довольно годно

    0

    Ответить

Оставить комментарий

Ваш адрес электронной почты не будет опубликован.Обязательные поля помечены *

Проверьте также

Взгляд назад в будущее

Многие пользователи, хоть раз запускавшие игрушки на телефоне, помнят изображение чашки с …