Pineapple Nano своими руками Часть 1. Сборка платформы

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!

Pineapple Nano - это хакерское устройство от команды Hak5 для атак на беспроводные сети. Купить его не так просто, поэтому я решил собрать его сам. И эта статья будет как раз о том, как я прошел сквозь огонь и воду, чтобы воссоздать точную копию (ну почти) этого устройства. Поехали!


Описание устройства

WiFi Pineapple - это программно-аппаратный комплекс разработанный компанией Hak5 для тестирования беспроводных сетей на наличие уязвимостей. Вся суть устройства - снижение порога входа в тестирование сетей. Данное устройство имеет интуитивно понятный web-интерфейс и широкий набор инструментов для разведки, отслеживания, трекинга и составления отчетов.

Первым делом для создания прототипа подобного устройства необходимо было изучить какое программно-аппаратное решение взяли на вооружение Pineapple, его характеристики, возможности и аппаратную платформу.Немного погуглив, я нашел  документы FCC (федеральная комиссия по коммуникациям США) по сертификации данного устройства, в том числе и фото, с подробными характеристиками.

Фото

Судя по фото и документации,  Pineapple Nano построен на довольно популярном процессоре Atheros9331, который применяется во многих сетевых устройствах (роутеры Tp-Link, мини компьютер Black Swift (ссылка  и т.д.). На борту платы так же имеем:

  • беспроводной адаптер Atheros9271;

  • адаптер Usb-Ethernet  Asix AX88179;

  • RAM 64 mb;

  • Flash 16 mb;

  • разъем для карт micro-SD.

Непродолжительный поиск внутренней структуры устройства дал свои плоды в виде отчета dmesg, с помощью которого была получена необходимая информация:

[    6.410000] hub 1-1:1.0: USB hub found
[    6.430000] hub 1-1:1.0: 4 ports detected
[   12.230000] usb 1-1.2: new high-speed USB device number 4 using ehci-platform
[   14.150000] usb 1-1.1: ath9k_htc: Firmware ath9k_htc/htc_9271-1.4.0.fw requested

что говорит нам о том, что разработчики устройства пошли простым путем и сделали подключение беспроводного адаптера и SD-карты посредством USB-хаба. Что же, мы сделаем так же.

Кроме этого мы убедились в том, что используется беспроводной адаптер на чипе Atheros9271:

[   14.150000] usb 1-1.1: ath9k_htc: Firmware ath9k_htc/htc_9271-1.4.0.fw requested

Выбор платформы

Наиболее подходящим и доступным роутером, построенном на чипсете Atheros9331 на момент поиска платформы был широко известный Tp-Link TL-MR3020. Он имеет на борту разъем USB, который позволяет подключить к нему USB-хаб, на плате есть  разведенный разъем Uart-ttl для подключения к терминалу устройства, ну и немаловажный момент - он обладает маленьким размером.  

Для подключения к терминалу роутера был приобретен USB-Uart адаптер построенный на чипе CH340. К терминалу предстоит подключаться еще не раз... Распиновка разъема роутера представлена на фото ниже, может кому окажется полезным.

Основными недостатками, которые не позволяли полноценно использовать данный роутер в своем проекте  были мизерные Flash и RAM память (4 Mb и 32 Mb соответственно), хотя только для прошивки Pineapple требуется 16 Mb. 

Увеличение RAM до максимально возможных 64 Mb памяти оказалось довольно простым: на сайте openwrt.org  в разделе описания данного роутера есть список чипов RAM-памяти, которые могут быть установлены взамен заводского. При этом загрузчик сам определяет размер памяти во время запуска, и программно изменения вносить не нужно. Нужный чип был найден на разборке в линейке оперативной памяти от старого ПК, и при помощи паяльного фена был просто заменен заместо заводского.

С Flash памятью все гораздо сложнее - замена чипа на другой также подразумевает под собой изменение загрузчика, способного работать с увеличенной памятью. На том же сайте представлены чипы, которые могут быть установлены (объемом до 16 Mb включительно). Мной был выбран чип китайского производителя WinBond W25Q128 - на 16 Mb. Прошивал дешевым программатором из Китая на чипе CH341. 

Микросхему памяти я без проблем сдул паяльным феном, а чип памяти решил не припаивать на плату, а вывел его на dip-панель, чтобы легко подключать и отключать память для ее перепрошивки.

Потом купил беспроводной WiFi-адаптер на чипсете Atheros9271 - Tp-Link TL-WN722N. Usb-хаб взял самый простой и наиболее дешевый, так же для тестов использовалась usb-флеш карта на 1 Gb.

В качестве альтернативного загрузчика был использован загрузчик от pepe2k. Если говорить коротко, то это модернизированный загрузчик версии U-Boot 1.1.4. В отличии от заводского загрузчика он обладает поддержкой чипов памяти объемом 16 Mb и  позволяет обновлять прошивку , образы U-Boot и ART (Atheros Radio Test) прямо из веб-браузера без необходимости доступа к последовательной консоли и запуска TFTP-сервера.

Сборка устройства

Первым недостатком устройства Pineapple Nano, на мой взгляд, является отсутствие собственного источника питания. Поэтому в своем устройстве я решил поместить в корпус помимо роутера и вспомогательных устройств еще и аккумуляторную сборку. 

Были приобретены 4 аккумулятора типоразмера 18650 емкостью 2300 mAh каждый. Для корректной работы аккумуляторной сборки установил плату защиты, балансир и светодиодный индикатор уровня заряда аккумуляторной сборки. Для питания роутера и всех вспомогательных устройств установил преобразователь напряжения до 5 вольт, купленный, как и большинство всех составляющих, в Китае. 

Корпус был также приобретен на просторах Ali, по словам продавца влагозащищенный. Распотрошив роутер, беспроводной адаптер, и собрав все в кучу получили следующую картину:

На фото можно увидеть АКБ, преобразователь напряжения,  USB-хаб, сам роутер, беспроводной адаптер, плату BMS, переходник USB-Uart, индикатор уровня заряда и флеш-карту.

Дальше осталось дело за малым - коммутировать это все. Но был еще один момент, который меня не устраивал - это “родная” антенна на роутере. Мы же хотим оставить возможность подключать узконаправленные антенны, поэтому я просто припаял вместо штатной антенны разъем типа U.fl - чтобы легко было подключить внешнюю антенну (естественно, родная антенна была отключена посредством демонтажа ёмкости) .

Приварил ко всем аккумуляторам точечной сваркой по пластинке, собрал их воедино. Припаял плату BMS, подключил на выход преобразователь напряжения на 5 вольт - они нам понадобятся для питания роутера и всей остальной периферии. Расположение компонентов части питания стало выглядеть вот так:

А самая основная часть с роутером вот так:

На фото можно увидеть выведенный разъем Usb-B для подключения к терминалу устройства (на компьютере определяется как виртуальный Com-порт).

Вторым же недостатком оригинального Pineapple является отсутствие разъема для подключения к проводным сетям (устройство эмулирует сетевую карту при подключении кабелем Usb). Ну а вдруг, мы захотим изучать безопасность не только беспроводных технологий, а старым-добрым тоже уделим внимание? Для этого справа внизу корпуса позже разместится панельный разъем RJ45 - теперь устройство можно незаметно подключить в сеть, и оставить его там. 

Решил сделать оригинальную кнопку включения - оно осуществляется поворотом ключа.

Шифр данному изделию был дан “Тропа-М”. Почему? Не спрашивайте, сам не знаю. Но я решил озаботиться нанесением маркировки на корпус, для чего на пленке лазером выжег нужные мне надписи, которые вскоре были наклеены на корпус.

Ну и в самом конце расскажу о комплектации своего “изделия”:

  • зарядное устройство на 16,8 В (4 банки по 4,2 В);

  • - Кабель Usb-B (для подключения к терминалу устройства);

  • Антенны 2 шт;

  • Адаптер Usb-Ethernet  с драйвером к нему на диске;

  • Ethernet-кабель;

  • Ключ для запуска;

  • Ремень.

Какой ремень, для чего? Для скрытого нательного ношения, конечно!

На этом моменте этап сборки платформы считаю законченным. Все аппаратно максимально соответствует оригиналу, все недостатки учтены и изменены на свой лад. Осталось дело за малым - воткнуть прошивку в устройство, но об этом будет отдельная статья.

Источник: https://habr.com/ru/post/650305/


Интересные статьи

Интересные статьи

Каждая компания инсталлятор солнечных электростанций хочет заработать больше денег выделиться на рынке и привлечь клиента. Поэтому изобретаются велосипеды применяются различные методы, для получения б...
Image (c) Opensource.com Новая порция инсайтов, мероприятий, книжек и шпаргалок. Оставайтесь с нами – станьте частью DevNation! Читать дальше: Новые функции...
Мне показалось интересным поделиться с сообществом информацией о внутреннем устройстве техники Apple, так как статей на эту тему крайне мало. Начать я ...
Это четвертая и финальная часть из серии моих публикаций, посвященных вопросу ввоза обедненного гексафторида урана (ОГФУ) из Европы в Россию. Первая посвящена технологиям обогащения у...
Всем привет. Меня зовут Дмитрий Андриянов. Два года писал на React Native, сейчас я разработчик в Surf и уже полтора года пишу на Flutter. Когда я только решил серьёзно взяться за Flu...