Статья Установка Kali Linux на Raspberry Pi 3 Model B+
В последнее время на форуме стали появляться вопросы про Raspberry Pi 3 и установку на него Kali Linux . На форуме уже имеется подобная статья, но я решил вынести тему в отдельную в связи с наличием альтернативного образа и варианта для установки системы.
Если Вы хотели купить себе компактный одноплатный компьютер для пентеста, но не можете выбрать, то советую взять Raspberry Pi 3 Model B+ , которая вышла в марте 2018 года. На сегодняшний эта плата является наиболее мощным вариантом из линейки Raspberry Pi .
Новая модель работает быстрее за счет разогнанного из коробки процессора Broadcom BCM2837 (64-бит, 4 ядра Cortex-A53, работает на частоте 1.4 Ггц). Тем не менее сильно греться новая модель не будет за счет улучшенной целостности питания и теплоотводу, так же желательно поставить на CPU и чипсет USB/Ethernet алюминиевые радиаторы.
Обновился радиочастотный модуль, над которыми теперь установлен металлический экран ( CYW43455 от Cypress — двухдиапазонный беспроводной модуль на 2.4 и 5 ГГц и Bluetooth 4.2 / BLE). Новый контроллер Ethernet LAN7515 позволяет работать со скоростью до 300 Мбит/с .
Само собой лучше покупать не голую плату, а еще набор радиаторов (два для данной модели), корпус (лучше металлический), SD карту (от 16 ГБ Class 10 — скорость записи не менее 10 МБ/с).
Под спойлером мой набор к малине:
Некоторым эта карта не нравится (по отзывам проблемы с некоторыми сборками Kali + она дороже) и берут просто Extreme:
Extreme почти не отличается по быстродействию, так что можно смело брать её вместо Pro.
Важно. Далеко не все SD карты будут нормально работать с RPI 3 B+ и младшими моделями, у некоторых ревизий SD (даже качественных как выше) наблюдается отсутствие поддержки ОС. Список поддерживаемых SD можно загуглить, упомяну только о том, что много кто берет модели от San Disk Extreme либо Ultra в диапазоне от 8 до 32 ГБ. Так же не забываем, что SDHC (а именно он нужен для малины) заканчивается на 32 ГБ.
2. Оригинальный адаптер питания на 2.5 A.
В «полевых» условиях обычно используется powerbank ( от 20 000 mAh) на 2.5 A, на нём акцентировать внимание смысла нет, подойдет любой.
3. Алюминиевые радиаторы, я взял от Seeed Studio:
Увеличенные радиаторы стоит брать только в том случае если вы точно распланировали установку дополнительных модулей, например вентилятора.
4. Металлический корпус с вентилятором:
С активным охлаждением брать не обязательно, особенно если Вас раздражает звук работающего вентилятора, на просторах интернета можно найти простую схему для автоматического включения вентилятора при достижении процессором определенной температуры.
Длина подбирается индивидуально.
6. Логично, что нужен кросс-кабель Ethernet:
Одноплатный компьютер удобен тем, что его можно использовать как отдельную независимую платформу для обучению тестирования на проникновения с помощью Kali Linux. Почему именно Raspberry Pi? Хорошая поддержка сообщества. Это мы увидим ниже, когда перейдем к установке Kali на устройство. Естественно использовать Kali не обязательно, есть много других ОС, которые заточены под использование на одноплатниках Raspberry Pi.
Как я выше упомянул у модели B+ есть новый модуль для беспроводной связи, поддерживающий Wi-Fi на 5 ГГц. Именно для этого модуля разработчики из Германии (Secure Mobile Networking Lab), которые занимаются широко известным в узких кругах проектом
Если использовать Raspberry Pi 3 B+ для аудита безопасности беспроводных сетей, то понадобится один или два внешних адаптера. Я бы рекомендовал использовать Alfa 036 NHA , Alfa 036 ACH или Alfa 036 NH .
Перейдем непосредственно к установке. Инструкцию по установке я сделал для Windows.
1. Для начала необходимо установить пакет некоторых программ
2. Теперь вернемся к тому, что я сказал ранее про поддержку сообществом.
(сборки на его основе работали с Raspberry Pi 3 Model B+ еще до того, как официальный релиз был доступен на Offensive Security). улучшенные спецификация и производительность сетевого оборудования могут использоваться с инструментами тестирования на проникновение, которые предлагает Kali Linux. В это ядро так же входят:
- поддержка Nexmon
- исправление проблем с работой bluetooth
- нативная поддержка оптимизация компиляции модулей
- поддержка подключения по SSH через USB (с помощью переходника USB/Ethernet)
- имеет поддержку работы с tft дисплеями и скрипт, позволяющий настроить автоматический вход в систему
- интегрирована поддержка драйвера для перевода адаптера TL-WN722N v2 в режим монитора (чипсет RTL8188EU).
- интегрирована поддержка драйвера для адаптера Alfa 036 ACH (монитор, инъекция и т.д.).
- полный список твиков, а так же подробные инструкции (настройка дисплеев и т.д. можно найти на сайте Re4son. Там имеется форум и достаточно подробные инструкции.
На сайте есть так же специальная сборка с небольшим комплектом программ и предустановленным ядром от Re4son.
(в готовой сборке стоит 4.9, новое версии 4.14).
3. Вставляем SD карту в ридер и затем в разъем ПК. Запускаем Etcher, указываем путь к образу, выбираем SDHC и нажимаем кнопку записи. После записи вставляем в малинку SD карту.
4. Следующие пункты опциональны, в зависимости от того, если ли в наличии HDMI кабель и монитор/телевизор с поддержкой HDMI.
5. В случае, если в наличии есть HDMI кабель и монитор/телевизор с поддержкой HDMI, то включаем и настраиваем наш монитор/телевизор, цепляем к малинке кабель Ethernet (идущий к роутеру), HDMI и в конце подключаем питание. Если HDMI не взлетел, то вырубаем питание и пробуем снова.
Теперь, когда система загружена и подключена к сети нам понадобится проводная клавиатура и мышь. Для работы через монитор мышь понадобится в любом случае, от клавиатуры можно отказаться в пользу виртуальной, однако для первичной настройки необходима проводная. Если нету клавиатуры и/или мыши, то переходим к следующим пунктам, то есть подключаемся по SSH. Если они есть, то входим с логином root и паролем toor.
6. В случае, если в наличии нет монитора с HDMI и/или проводной клавиатуры с мышью, то будем подключаться через SSH. Для этого необходимо подсоединить Ethernet кабель от роутера к малинке и подключить к ней питание.
Нам потребуется узнать ip адрес малинки, сделать это можно разными путями, один из них – установить на ПК программу
. Стоит помнить, что ваша сеть может быть закрыта от подобного сканирования firewall, и тогда надо будет временно отключить защиту в роутере. Так же данная программа иногда не очищяет кеш сканирования, воспользуйтесь другим способом узнать ip малины, если есть подозрение, что Вы нем ожете получить правильный ip для подключения по SSH.
Когда увидим наш kali-pi, то запоминаем её ip и заходим в Putty, где прописываем ip (подключение по SSH и порт 22 выбираются по умолчанию). В процессе подключения появится окно с просьбой подтвердить подключение, нажимаем «Да». Имя пользователя – root, пароль – toor.
Устанавливаем Kali Linux на Raspberry Pi 3 модель B
В мире Linux существуют специализированные дистрибутивы, предназначенные для определенных задач — развертывания различных серверов, рабочих сред для разработки ПО и так далее. Один из таких дистрибутивов — Kali Linux. Основная его аудитория — выполняющие тестирование информационных ресурсов специалисты в сфере безопасности и те, кто на любительском и профессиональном уровне занимается пентестированием и взломом. Kali поддерживает различные аппаратные платформы, в том числе и Распберри. Kali Linux на Raspberry Pi может стать незаменимым помощником IT-безопасника или хакера.
Далее мы рассмотрим пример развертывания «Кали» на Raspberry Pi 3 B+
Почему Pi 3 B
Данная модель «малинки» появилась в 2018 году. Разработчик снабдил ее более мощным, в сравнении с прошлыми версиями, процессором, а также набором сетевых интерфейсов — Wi-Fi, проводной Ethernet, Bluetooth. Такая аппаратная платформа позволяет применить Pi с установленным специализированным набором софта для решения различных задач.
Разработчик Kali довольно быстро выпустил дистрибутив с поддержкой новой «малинки», который развивается и по сей день. Данная версия Linux отлажена, стабильна и обладает большим сообществом, которое всегда готово оказать поддержку новичку и ответить на интересующие вопросы.
То же касается и самой платформы Pi 3 B+. Это простое, доступное и мощное решение, при относительно скромной цене предлагающее возможности профессионального уровня. Например, Pi используют для подтверждения концепции атаки (так называемый proof-of-concept) при разработке кибероружия.
Но важно понимать, что «малинка» — это не суперкомпьютер. Операции наподобие брутфорса паролей ее аппаратной начинке не под силу. Точнее, запустить его можно, но процесс будет длиться крайне долго. Хотя и эта задача может быть решена программно путем перенесения вычислений на облачные сервисы.
Возможности для хакинга
Pi 3 B+ оснащена гигабитным контроллером Ethernet и высокоскоростным Wi-Fi, что делает ее отличным инструментам для работы в сетях или, например, развертывания небольшого веб- прокси- или NAS-сервера. Сетевые возможности превращают устройство в универсальную «отмычку» для взломщика или пентестера. А 64-битный процессор с четырьмя ядрами и частотой 1.4 ГГц дает системе достаточную производительность для большинства задач в рамках тестирования или взлома (кроме, как уже упоминалось, брутфорс-атак на пароли).
Сборки Kali Linux поддерживают Raspberry изначально и готовы к действию сразу же после запуска. Доступна работа как через связку «монитор-клавиатура», так и по сети через SSH. А если соединить Pi с блоком батареек, то пользователь получит «карманного взломщика», который можно использовать где угодно.
Установка
Для развертывания Кали на Распберри понадобятся:
- сама платформа Raspberry Pi 3 model B+;
- шнур питания;
- карта памяти, желательно от 16 Гб;
- монитор, клавиатура и мышь для первоначальной настройки (необязательно);
- кабель RJ-45;
- роутер.
Далее необходимо скачать последний официальный образ операционной системы. На момент написания статьи — это версия 2019.4.
Заметим, что в списке загрузок присутствуют и версии для виртуальных машин.
Чтобы получить собранную именно под Pi сборку, чуть ниже на той же странице находим ссылку на образы для ARM:
Нажимаем на кнопку Kali Arm Images и находим раздел Raspberry Pi Foundation.
И загружаем интересующую версию образа — в рассматриваемом случае это будет Kali Linux Raspberry Pi 2, 3 and 4. Скачивать можно как напрямую, так и через торрент, для проверки образа рядом приведены контрольные суммы.
Когда дистрибутив загружен, необходимо развернуть его на карту памяти. В Windows это можно сделать с помощью утилит Win32DiskImager или Etcher, в средах Linux и Mac через штатную утилиту dd.
Интерфейс Etcher прост: выбор образа, выбор целевого диска и кнопка Flash — записать образ на диск.
В случае с dd все немного сложнее. Пример команды:
dd if=image.img of=/dev/sdb bs=512k
Здесь предполагается, что:
- имя образа — image.img;
- он находится в корневом каталоге пользователя root;
- карта памяти смонтирована в /dev/sdb.
Параметр if указывает исходный образ, of — целевое устройство, bs определяет размер кластера.
Процесс записи займет до 10–15 минут, в зависимости от быстродействия карточки.
Важно: dd по умолчанию не показывает прогресс копирования. В версиях gnu coreutils от 8.4 и выше возможно добавить к команде параметр status=progress, и тогда она отобразит статус операции: root@kali:
dd if=image.img of=/dev/sdb bs=512k status=progress
Когда процесс завершен, можно вставлять карту памяти в Raspberry и делать первый запуск.
Настройка
После первого запуска Kali произведет некоторые дополнительные настройки, и устройство может еще раз перезагрузиться. Контролировать процесс можно через подключенный к выходу HDMI монитор. В целом, монитор и клавиатура/мышь не нужны, поскольку в Kali SSH стартует автоматически, и система сразу готова к удаленному подключению через LAN.
Первый вход
Необходимо выяснить полученный сетевым устройством адрес, например, с помощью сканера nmap или просто в таблице подключенных клиентов на роутере. Когда ip-адрес известен, соединяемся с ним с помощью любого удобного ssh-клиента.
По умолчанию имя пользователя root, пароль — toor.
При наличии монитора и устройств ввода можно зайти на локальный рабочий стол с теми же учетными данными.
Расширение дискового пространства
После запуска желательно настроить конфигурацию диска, распространив образ на все его пространство. Проще всего сделать это из консоли (локально или через SSH). Ниже пример выполнения операции.
sudo fdisk /dev/mmcblk0
Выбираем последовательно команды:
Command (m for help): p
Device Boot Start End Sectors Size Id Type
/dev/mmcblk0p1 1 125000 125000 61M c W95 FAT32 (LBA)
/dev/mmcblk0p2 125001 15523839 15398839 7.4G 83 Linux
Следует обратить внимание на значения start, end и size, они могут отличаться от примера.
Далее выполняется непосредственно переразметка.
Command (m for help): d
Partition number (1,2, default 2): 2 (выбор раздела)
Command (m for help): n
Указываем тип раздела Primary:
Select (default p): p
Снова выбираем номер:
Partition number (2-4, default 2): 2
First sector (125001-31116287, default 126976): 125001 (как в выводе после команды p)
Last sector, +sectors or +size
И применяем изменения.
Command (m for help): w
sudo resize2fs /dev/mmcblk0p2
После чего необходимо выполнить перезагрузку «малинки» командой reboot.
Изменение пароля root
Первое, что необходимо сделать далее в целях безопасности — поменять пароль суперпользователя на свой. Делается это стандартной командой passwd.
Также следует удалить стандартную учетную запись pi, если она присутствует:
deluser –remove-all-files pi
Замена ключей SSH
Крайне важно поменять ssh-ключи на устройстве, поскольку по умолчанию в свежеразвернутых дистрибутивах Кали они одинаковы.
Для этого в консоли выполняются следующие команды:
cd /etc/ssh/
dpkg-reconfigure openssh-server
update-rc.d -f ssh remove
update-rc.d -f ssh defaults
service ssh restart
update-rc.d -f ssh enable 2 3 4 5
Обновление пакетов
Когда первые приготовления завершены, можно обновить присутствующие в системе пакеты. Желательно не пропускать этот шаг, чтобы получить самые свежие версии системного и прикладного ПО и обновления безопасности.
Kali поддерживает стандартный метод получения программ через репозитории, поэтому просто выполняем последовательность команд:
apt-get update
apt-get upgrade
apt-get dist-upgrade
В результате система должна будет получить и установить все имеющиеся для нее обновления.
Установка графической среды удаленного управления VNC
Кали можно управлять через VNC. Для этого необходимо установить VNC-сервер.
apt-get install tightvncserver
После загрузки программы и зависимостей сервер следует запустить. Пример:
vncserver :1 -geometry 1920×1080 -depth 24 -dpi 96
Команда выше указывает разрешение экрана и глубину цвета, параметры в каждом случае могут отличаться.
Когда сервер запущен, он готов принимать подключения. Зайти на него можно любым удобным VNC-клиентом:
Установка RDP
Для удаленного доступа существует возможность подключения через стандартный для Windows протокол Remote Desktop.
Устанавливаем сервер xrdp:
apt-get install xrdp
И запускаем его службу.
service xrdp start
service xrdp-sesman start
Для включения его в автозагрузку необходимо добавить службу в список автозапуска:
update-rc.d xrdp enable
Если все сделано успешно, к системе можно будет подключиться RDP-клиентом. Пример для Rdesktop из поставки Linux:
На этом базовая настройка завершена, и система готова к исследованиям и экспериментам.
Заключение
Кали — мощный и интересный специализированный дистрибутив Linux, по достоинству оцененный профессионалами в IT-безопасности и игроками «темной сцены», которых многие привыкли называть хакерами. В сочетании с Kali Linux Raspberry Pi 3 B с ее расширенными аппаратными возможностями предоставляет почти неограниченное пространство для реализации проектов по тестированию защиты (так называемый penetration test), взлому сетевых ресурсов и другим задачам.
RPi с Kali на борту превращается в удобный, компактный и многофункциональный универсальный инструмент, своеобразную «отмычку» для специалиста. С ее помощью можно с минимальными расходами создать систему для выполнения задач в сфере кибербезопасности даже корпоративного уровня: набор инструментария Kali Linux содержит все необходимые для этого программы и утилиты, а Pi 3 B+ предоставляет им подходящую аппаратную платформу.

