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-кабель;

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

  • Ремень.

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

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

Комментарии (18)


  1. habrabkin
    08.02.2022 12:37
    +4

    Тропа М? П-15 — мы не сеем, мы не пашем, мы локаторами машем, разгоняем облака :-)


  1. Maxim_Evstigneev
    08.02.2022 12:39
    +2

    товарищ майор, строго для пентеста, вы не подумайте


  1. AlexanderS
    08.02.2022 13:24

    И эта статья будет как раз о том, как я прошел сквозь огонь и воду, чтобы воссоздать точную копию (ну почти) этого устройства.

    Ожидание:
    image
    Суровая реальность:
    image

    Так-то круто, конечно. Пишите статью про прошивку)


    1. Apparatus Автор
      08.02.2022 13:44
      +1

      Отечественные разработки :)


      1. AlexanderS
        08.02.2022 13:53

        Зато дёшево, надежно и практично!


      1. gavura
        11.02.2022 08:24

        Импортозамещение ????


    1. katzen
      09.02.2022 04:37
      +4

      Если корпус не бакелитовый, то незачёт.


  1. teuchezh
    08.02.2022 14:40

    Можно еще добавить стиля советского военного оборудования и будет совсем аутентично


    1. ifap
      08.02.2022 15:49
      +4

      На шасси МАЗ-547 ;)


    1. katzen
      09.02.2022 04:38

      ЗиП в промасленной бумаге в деревянных ящиках, заботливо упакованный тестер специально для проверки одного предохранителя, мммм.... запах ржавого замка на кунге...


  1. lopatoid
    09.02.2022 02:51
    +3

    Плату защиты, балансир, светодиодный индикатор уровня заряда аккумуляторной сборки, и зарядное устройство на 16,8 В можно было всё заменить на один power bank. Можно как на готовый, так и отдельные платы продаются.


    1. belav
      09.02.2022 13:18

      И все разместить на одной половинке корпуса. Для второй половинки сделать ложементы и уложить туда провода.


      1. Apparatus Автор
        09.02.2022 13:36

        Тут очень много спорных моментов. На данный момент есть Китайский роутер Gl.Inet AR-150, который построен на том же процессоре, но Flash и RAM память уже увеличены, имеется 2 разъема Rj45, и прочие плюшки.
        Проект собирался относительно давно, и по мере умений и сил, просьба сильно не кидать камнями :)


  1. dobergroup
    09.02.2022 03:14

    Добавьте, пожалуйста, в текст ссылки на тему обсуждения на OpenWRT, на загрузчик и т.д.


    1. Apparatus Автор
      09.02.2022 06:14
      +1

      Благодарю, добавил необходимые ссылки


  1. SenQ
    09.02.2022 17:05

    Простите если вопрос не по теме, но можно ли как-то адекватным способом достать продукцию с сайта Hak5? Ибо они отказываются доставлять в РФ, бандеролька тоже отказывается такое пересылать.
    Спасибо за статью, читать было интересно.


  1. coodi
    10.02.2022 10:38

    Можно было просто какой-нибудь микротик прошить?


    1. Apparatus Автор
      10.02.2022 10:55

      Если у него схожая платформа и периферия, то да